#[non_exhaustive]pub struct DragConditions {
pub reynolds_per_m: f64,
pub thrusting: bool,
pub thrusting_motor_area_m2: f64,
pub thrusting_pod_motor_areas_m2: [f64; 4],
}Expand description
What the drag buildup needs beyond the crate::Flow.
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.reynolds_per_m: f64Freestream Reynolds number per meter, V/ν, 1/m. The buildup multiplies it by the rocket’s
length (Niskanen 2009 eq. 3.12, p. 42).
thrusting: boolWhether a motor is thrusting. It selects an override table’s power-on curve.
thrusting_motor_area_m2: f64Total cross-section area of the motors thrusting into the aft base, m², subtracted from the base area (Niskanen 2009 pp. 50–51). Zero while coasting. It leaves out motors in pods.
thrusting_pod_motor_areas_m2: [f64; 4]Total cross-section area of the thrusting motors in pods, m², one total for each pod set
that holds motor mounts, in the order of hpr_design::Layout::motor_pod_sets: each pod’s
share, its set’s total over the set’s pods, comes off its own base. Zero while none
thrusts; at most MOTOR_POD_SETS sets.
Implementations§
Source§impl DragConditions
impl DragConditions
Sourcepub fn thrusting(reynolds_per_m: f64, motor_area_m2: f64) -> Self
pub fn thrusting(reynolds_per_m: f64, motor_area_m2: f64) -> Self
Thrusting at reynolds_per_m, with motors of total cross-section motor_area_m2 in the aft
base (zero when the area is unknown: then the base drag gets no relief).
Sourcepub fn with_pod_motors(self, pod_motor_areas_m2: [f64; 4]) -> Self
pub fn with_pod_motors(self, pod_motor_areas_m2: [f64; 4]) -> Self
These conditions with thrusting motors in pods, of total cross-section
pod_motor_areas_m2[k] in the kth pod set holding motor mounts, each pod’s share off its
own base (Self::thrusting_pod_motor_areas_m2). The area in the aft base
(Self::thrusting) is the airframe’s motors’ alone.
Trait Implementations§
Source§impl Clone for DragConditions
impl Clone for DragConditions
Source§fn clone(&self) -> DragConditions
fn clone(&self) -> DragConditions
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 DragConditions
Source§impl Debug for DragConditions
impl Debug for DragConditions
Source§impl<'de> Deserialize<'de> for DragConditions
impl<'de> Deserialize<'de> for DragConditions
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 DragConditions
impl PartialEq for DragConditions
Source§fn eq(&self, other: &DragConditions) -> bool
fn eq(&self, other: &DragConditions) -> bool
self and other values to be equal, and is used by ==.