#[non_exhaustive]pub enum KnownIssue {
Show 16 variants
TransonicNoseDrag,
BaseDrag,
SharpFinDrag,
SteepBoattailDrag,
SupersonicPressureDrag,
RadiusStepFallback,
LongLipFallback,
SteepTipFallback,
MarginReadsHigh,
ForwardSweptFinSlope,
SubsonicBoattailDrag,
FinSetsAtOneStation,
TurbulentFriction,
FreeformFinCenterOfPressure,
BoosterAirframeDrag,
DragFreeSeparatedPart,
}Expand description
A known error in hpr’s drag or stability that a flight can meet.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
TransonicNoseDrag
#67: the closed-form cone’s pressure drag, which cones, ogives and some power and parabolic series take, reads high from Mach 0.8.
BaseDrag
#68: base drag reads high from Mach 0.8 to 1.2 and low from 1.5.
SharpFinDrag
#70: a sharp fin section’s drag reads high faster than sound. hpr has no sharp section, so the warning goes with the airfoil.
SteepBoattailDrag
#72: a steep boattail’s drag reads high faster than sound.
SupersonicPressureDrag
#222: supersonic pressure drag about twice OpenRocket’s on an ogive nose and airfoil fins.
RadiusStepFallback
#87: a step in radius takes the whole body off the shock-expansion method faster than Mach 1.2.
LongLipFallback
#120: a lip longer than its boattail’s drop in diameter does the same.
SteepTipFallback
#121: a pointed tip steeper than the cone tables’ 30° does the same.
MarginReadsHigh
#172: the static margin read up to 0.1108 calibres higher than OpenRocket’s on four private designs, cause unknown.
ForwardSweptFinSlope
#64: a fin whose leading edge sweeps forward takes a supersonic normal-force slope that rises past linear theory’s start, moving the center of pressure aft.
SubsonicBoattailDrag
#73: below Mach 0.8, Niskanen’s rule gives a boattail steeper than 9.46° a share of base drag that read up to +41.7% on a measured one.
FinSetsAtOneStation
#325: fin sets at one station are counted apart for fin–fin interference, where OpenRocket counts them together.
TurbulentFriction
#18: skin friction is taken as fully turbulent, so on a surface smooth enough to keep its boundary layer laminar for a way it reads high.
FreeformFinCenterOfPressure
#326: a kinked freeform fin’s center of pressure sat 1.6 mm aft of OpenRocket’s; other freeform outlines are unprobed.
BoosterAirframeDrag
#179: a booster dropped at a separation flies on as a point with only its devices’ drag, tumbling side-on from the split where a real one first coasts nose-first on its airframe’s drag.
DragFreeSeparatedPart
#354: a separated part has no drag at all until its first device opens, where a real one has its airframe’s.
Implementations§
Source§impl KnownIssue
impl KnownIssue
Sourcepub fn is_stability(self) -> bool
pub fn is_stability(self) -> bool
Whether the issue is about the margin and center of pressure (#64, #87, #120, #121, #172, #325, #326) rather than drag.
Sourcepub fn has_mach_condition(self) -> bool
pub fn has_mach_condition(self) -> bool
Whether the issue has a Mach condition, so its message quotes the flight’s top speed: every one but #73 (any flight is subsonic for a time), #18, #172, #325 and #326, which hold at any speed, and #179 and #354, which are a separated part’s.
Trait Implementations§
Source§impl Clone for KnownIssue
impl Clone for KnownIssue
Source§fn clone(&self) -> KnownIssue
fn clone(&self) -> KnownIssue
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 KnownIssue
Source§impl Debug for KnownIssue
impl Debug for KnownIssue
Source§impl<'de> Deserialize<'de> for KnownIssue
impl<'de> Deserialize<'de> for KnownIssue
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>,
impl Eq for KnownIssue
Source§impl PartialEq for KnownIssue
impl PartialEq for KnownIssue
Source§fn eq(&self, other: &KnownIssue) -> bool
fn eq(&self, other: &KnownIssue) -> bool
self and other values to be equal, and is used by ==.