Skip to main content

EXHAUST_VELOCITY_RANGE_M_S

Constant EXHAUST_VELOCITY_RANGE_M_S 

Source
pub const EXHAUST_VELOCITY_RANGE_M_S: RangeInclusive<f64>;
Expand description

The effective exhaust velocity c = I/m_p a solid motor’s curve and propellant mass have to imply, m/s.

Measured over the 1,708 ThrustCurve.org simulator files with both a parsed impulse and a catalog propellant mass (the mass crate::CatalogMotor::motor uses, which prefers the metadata over the curve file’s header), c runs 236 to 3,031 m/s, with a median of 1,867 and 90% of them between 928 and 2,210 (the full table is in docs/research/exhaust-velocity-guard.md). The bulk is APCP; the tail below about 900 m/s is black powder, read low because Estes and Quest count the delay grain and the ejection charge as propellant.

The bound rejects none of those 1,708. It is not a filter on propellant: it is there to catch a mass-unit slip, grams given as kilograms, which moves c by a factor of 1,000: the worked example in SolidMotor::from_envelope’s test lands at 1.8 m/s. c doesn’t depend on the motor’s size, so sizes given in millimeters pass it. The headroom is real but not enormous at the low end (the lowest catalog entry is 1.2x above the floor, the highest 1.65x below the ceiling), and a 1/8A whose recorded propellant mass is mostly delay grain could fall through the floor; issue #11 records the fallback, which is to apply the bound only above a couple of grams.