pub struct Profile { /* private fields */ }Expand description
An axisymmetric profile: a nose cone (fore radius zero) or a transition, as radius against distance aft of its forward end.
Implementations§
Source§impl Profile
impl Profile
Sourcepub fn nose(
shape: NoseShape,
length_m: f64,
base_radius_m: f64,
) -> Result<Self, DesignError>
pub fn nose( shape: NoseShape, length_m: f64, base_radius_m: f64, ) -> Result<Self, DesignError>
A nose cone of length length_m and base radius base_radius_m, tip forward.
§Errors
DesignError::Domain for a non-positive or non-finite dimension or a shape parameter out
of range.
Sourcepub fn transition(
shape: NoseShape,
length_m: f64,
fore_radius_m: f64,
aft_radius_m: f64,
clipped: bool,
) -> Result<Self, DesignError>
pub fn transition( shape: NoseShape, length_m: f64, fore_radius_m: f64, aft_radius_m: f64, clipped: bool, ) -> Result<Self, DesignError>
A transition from fore_radius_m to aft_radius_m over length_m; see the module docs
for how the shape is oriented and what clipped means. Equal radii give a cylinder.
§Errors
DesignError::Domain for a non-positive length, a negative or non-finite radius, both
radii zero, or a shape parameter out of range.
Sourcepub fn fore_radius_m(&self) -> f64
pub fn fore_radius_m(&self) -> f64
Radius at the forward end, m.
Sourcepub fn aft_radius_m(&self) -> f64
pub fn aft_radius_m(&self) -> f64
Radius at the aft end, m.
Sourcepub fn max_radius_m(&self) -> f64
pub fn max_radius_m(&self) -> f64
The largest radius anywhere on the profile, m (above both end radii for a bulged ogive).
Sourcepub fn radius_m(&self, x_m: f64) -> f64
pub fn radius_m(&self, x_m: f64) -> f64
Radius at x_m aft of the forward end, m; x is clamped to [0, L].
Sourcepub fn radius_and_slope(&self, x_m: f64) -> (f64, f64)
pub fn radius_and_slope(&self, x_m: f64) -> (f64, f64)
Radius and slope dr/dx at x_m; the slope is infinite at a blunt tip.