Skip to main content

openrocket_fin_set_roll_kg_m2

Function openrocket_fin_set_roll_kg_m2 

Source
pub fn openrocket_fin_set_roll_kg_m2(
    fins: &FinSet,
    body_radius_m: f64,
    mass_kg: f64,
) -> Option<f64>
Expand description

The roll inertia OpenRocket 24.12 gives a fin set about its own center of mass, kg·m², inferred from its output, not taken from its source (which is GPL and not read). For two or more fins, whose center is on the rocket’s axis, it is the set’s mass m spread evenly along a thin rod from the body at R out to R + hₑ,

I = m (R² + R hₑ + hₑ²/3),   hₑ² = A h / c_r,

where A is one fin’s planform area, h its span and c_r its root chord: a rectangle’s own span, shorter for a fin that narrows outward. For one fin it is the same rod about its own middle, m hₑ²/12. validation/oracles/openrocket/conventions.py measured it on rectangles of two chords, two spans and two body radii, a trapezoid, a triangle, an ellipse (OpenRocket’s 30-sided polygon), one fin, and fins with a rounded or airfoil section, a tab or fillets: every one to 1e-12 on the probe’s structure but the ellipse (by its polygon) and a cant (2.66e-5). A tab’s mass takes the planform’s value, and the section and thickness play no part. hpr’s own is the exact integral of r² over the fin (FinSet::mass_properties); the two agree on a rectangle without a tab, but for the thickness (ADR-062).

mass_kg is the set’s, all fins together. None for a planform hpr-design refuses, a count of zero, or a radius or mass that is negative or not finite.