#[non_exhaustive]pub struct FinGeometry {
pub span_m: f64,
pub area_m2: f64,
pub midchord_sweep_rad: f64,
pub leading_edge_sweep_rad: f64,
pub trailing_edge_sweep_rad: f64,
pub mac_length_m: f64,
pub mac_leading_edge_m: f64,
pub mac_span_m: f64,
}Expand description
A fin’s aerodynamic geometry.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.span_m: f64Span from the root (body surface) to the tip, m.
area_m2: f64Area of one side of one fin, m²; the area in the normal-force slope.
midchord_sweep_rad: f64Mid-chord sweep Γ_c, rad, positive with the tip aft.
leading_edge_sweep_rad: f64Leading-edge sweep Γ_L, rad, positive with the tip aft; the span average of the edge’s
angle when it is curved or kinked (Niskanen 2009 eq. 3.91).
trailing_edge_sweep_rad: f64Trailing-edge sweep, rad, positive with the tip aft; the span average of the edge’s angle when it is curved or kinked. Negative for a trailing edge that sweeps forward to the tip.
mac_length_m: f64Length of the mean aerodynamic chord c̄, m.
mac_leading_edge_m: f64Leading edge of the mean aerodynamic chord, m aft of the root leading edge.
mac_span_m: f64Spanwise station of the mean aerodynamic chord, m from the root.
Implementations§
Source§impl FinGeometry
impl FinGeometry
Sourcepub fn from_planform(planform: &FinPlanform) -> Result<Self, AeroError>
pub fn from_planform(planform: &FinPlanform) -> Result<Self, AeroError>
The geometry of a planform (Niskanen 2009 eq. 3.30–3.34; see the module docs).
§Errors
The planform’s own validation errors, and AeroError::Domain for a fin without area.
Sourcepub fn center_of_pressure_m(&self) -> f64
pub fn center_of_pressure_m(&self) -> f64
Center of pressure at the quarter mean aerodynamic chord, m aft of the root leading edge
(Niskanen 2009, X_f = x_MAC,LE + 0.25 c̄; Barrowman 1966 eq. 76a for a trapezoid).
Sourcepub fn single_fin_slope(
&self,
reference_area_m2: f64,
mach: f64,
) -> Result<f64, AeroError>
pub fn single_fin_slope( &self, reference_area_m2: f64, mach: f64, ) -> Result<f64, AeroError>
Normal-force slope of one fin, per radian of the angle between the flow and the fin (Barrowman 1967 eq. 3-6; Niskanen 2009 eq. 3.40).
§Errors
AeroError::Mach outside [0, 1), and AeroError::Domain for a non-positive
reference area.
Trait Implementations§
Source§impl Clone for FinGeometry
impl Clone for FinGeometry
Source§fn clone(&self) -> FinGeometry
fn clone(&self) -> FinGeometry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for FinGeometry
Source§impl Debug for FinGeometry
impl Debug for FinGeometry
Source§impl<'de> Deserialize<'de> for FinGeometry
impl<'de> Deserialize<'de> for FinGeometry
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for FinGeometry
impl PartialEq for FinGeometry
Source§fn eq(&self, other: &FinGeometry) -> bool
fn eq(&self, other: &FinGeometry) -> bool
self and other values to be equal, and is used by ==.