pub struct DragQuery<'a> { /* private fields */ }Expand description
What a DragModel is asked: the flow and the drag conditions, with the rocket’s reference
area, its length and hpr’s own drag buildup at hand. Made by AeroModel::drag; to try a
model on its own, give it to an AeroModel and ask that for its drag.
Implementations§
Source§impl<'a> DragQuery<'a>
impl<'a> DragQuery<'a>
Sourcepub fn flow(&self) -> &Flow
pub fn flow(&self) -> &Flow
The flow: Mach number, angle of attack and roll. The coefficient asked for is the zero-lift one whatever the angle of attack; hpr scales it for the angle itself.
Sourcepub fn mach(&self) -> f64
pub fn mach(&self) -> f64
The Mach number, as a shorthand for flow().mach: finite and not negative.
Sourcepub fn conditions(&self) -> &DragConditions
pub fn conditions(&self) -> &DragConditions
The drag conditions: the Reynolds number per meter, and whether a motor is thrusting,
which a model with a power-on curve reads. They are as hpr’s buildup reads them: under
AeroModel::with_full_base_drag_under_power the thrusting motors’ areas are zero.
Sourcepub fn reference_area_m2(&self) -> f64
pub fn reference_area_m2(&self) -> f64
The area the coefficient is on: the rocket’s reference area, m².
Sourcepub fn length_m(&self) -> f64
pub fn length_m(&self) -> f64
The rocket’s length, nose tip to the aft end of its last body component, m: the length hpr’s buildup takes the Reynolds number on.
Sourcepub fn buildup(&self) -> Result<Drag, AeroError>
pub fn buildup(&self) -> Result<Drag, AeroError>
hpr’s own drag buildup at this flow and these conditions (AeroModel::buildup_drag):
what the flight would have used without the model.
§Errors
As AeroModel::buildup_drag: among others, AeroError::Mach at Mach 5 and faster,
where the buildup ends.
Sourcepub fn buildup_components(&self) -> Result<Vec<ComponentDrag>, AeroError>
pub fn buildup_components(&self) -> Result<Vec<ComponentDrag>, AeroError>
hpr’s own drag buildup at this flow, component by component
(AeroModel::buildup_components).