pub struct AeroAnalysis {
pub cd_vs_mach: Vec<(f64, f64)>,
pub cna_vs_mach: Vec<(f64, f64)>,
pub cp_vs_mach: Vec<(f64, f64)>,
pub induced_k_vs_mach: Vec<(f64, f64)>,
pub ref_area_m2: f64,
pub total_length_m: f64,
pub max_diameter_m: f64,
}Expand description
The curves and reference quantities produced by RocketGeometry::analyze.
Fields§
§cd_vs_mach: Vec<(f64, f64)>Axial drag coefficient vs Mach (subsonic, clamped above Mach 1).
cna_vs_mach: Vec<(f64, f64)>Normal-force coefficient slope per radian vs Mach (nose + fin set).
cp_vs_mach: Vec<(f64, f64)>Centre of pressure, metres aft of the nose tip, vs Mach.
induced_k_vs_mach: Vec<(f64, f64)>Induced-drag factor per radian² vs Mach (zero: not in the Barrowman model).
ref_area_m2: f64Reference area, π/4·d² of the largest diameter.
total_length_m: f64Total aerodynamic length (nose + tube).
max_diameter_m: f64Largest body diameter.
Implementations§
Source§impl AeroAnalysis
impl AeroAnalysis
Sourcepub fn airframe(
&self,
cg_dry_m: f64,
cg_prop_m: f64,
pitch_inertia_kg_m2: f64,
recovery_cd_area_m2: f64,
) -> Airframe
pub fn airframe( &self, cg_dry_m: f64, cg_prop_m: f64, pitch_inertia_kg_m2: f64, recovery_cd_area_m2: f64, ) -> Airframe
Bundle the analysis with the remaining airframe parameters.
Sourcepub fn forces(&self, wind_mps: Vec3) -> Result<BallisticForces>
pub fn forces(&self, wind_mps: Vec3) -> Result<BallisticForces>
Drag + atmosphere + body lift for this geometry in the given wind.
Sourcepub fn weathercock_params(
&self,
cg_dry_m: f64,
cg_prop_m: f64,
pitch_inertia_kg_m2: f64,
) -> Result<WeathercockParams>
pub fn weathercock_params( &self, cg_dry_m: f64, cg_prop_m: f64, pitch_inertia_kg_m2: f64, ) -> Result<WeathercockParams>
Weathercock parameters for this geometry.
Trait Implementations§
Source§impl Clone for AeroAnalysis
impl Clone for AeroAnalysis
Auto Trait Implementations§
impl Freeze for AeroAnalysis
impl RefUnwindSafe for AeroAnalysis
impl Send for AeroAnalysis
impl Sync for AeroAnalysis
impl Unpin for AeroAnalysis
impl UnsafeUnpin for AeroAnalysis
impl UnwindSafe for AeroAnalysis
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.