Skip to main content

Module geometry

Module geometry 

Source
Expand description

Geometry-to-aerodynamics: a Barrowman subset for slender model rockets (nose cone + body tube + fin set + optional conical boat-tail), implemented against the OpenRocket technical documentation and its FinSetCalc and SymmetricComponentCalc sources. CP comes from the component moment sum (with the supersonic aft shift); drag is friction + base + nose wave drag + rounded-fin form drag. The fin normal-force slope uses Diederich below Mach 1, the Busemann K1 term above Mach 1.5, and OpenRocket’s Hermite join between them.

Induced drag from angle of attack uses the normal-force tilt model (Cd += Cnα·α²). Fin planforms are trapezoidal (closed form) or half-ellipse (OpenRocket’s 48-strip integration). Not covered (deliberately): forward shoulders or multi-diameter bodies and free-form fins. Fin-body interference drag is ignored, as it is in OpenRocket (“small compared to the other sources”).

Structs§

AeroAnalysis
The curves and reference quantities produced by RocketGeometry::analyze.
BoatTail
The complete slender geometry. A conical boat-tail (diameter-reducing transition) at the very aft end of the body tube.
BodyTube
The cylindrical body tube behind the nose.
EllipticalFins
Identical elliptical fins (half-ellipse planform) at the aft end of the tube. Geometry follows OpenRocket’s EllipticalFinSet: root chord along the body, tip point mid-chord at the span.
FreeformFins
Identical free-form fins described by a planform polygon (vertices in metres: x aft from the root leading edge, y out from the body surface, starting and ending on y = 0). At most 16 vertices.
MassProperties
Dry-mass breakdown estimated from geometry and component masses by RocketGeometry::mass_properties.
NoseCone
A nose cone with length and base diameter, in metres.
RocketGeometry
A slender rocket: nose cone, body tube, fin set and an optional conical boat-tail.
TrapezoidalFins
Identical trapezoidal fins at the aft end of the tube. leading_sweep_m is the horizontal offset of the tip leading edge from the root leading edge.

Enums§

FinSet
The fin-set planform family. The free-form variant is large by design: the fixed 16-vertex array keeps RocketGeometry Copy.
NoseShape
Nose-cone families supported by the subset.

Functions§

parse_geometry
Parse the compact geometry spec used by the CLI: nose=shape:length:diameter,tube=length:diameter,fins=count:root:tip:span:sweep:thickness (or efins=count:root:span:thickness for elliptical fins, or ffins=count:x1y1+x2y2+...:thickness for a free-form planform polygon whose first and last vertices lie on the body), with an optional boat=length:fore_diameter:aft_diameter conical boat-tail at the aft end. The fin thickness is optional (default 2 mm). Lengths are in metres.