Skip to main content

Module dynamics

Module dynamics 

Source
Expand description

The equations of motion: a rigid body of varying mass referred to a point fixed in the body.

Source: the RocketPy technical documentation, “Equations of Motion” v0 (Kane’s method with the Reynolds transport theorem) and v1 (the form solved), RocketPy 1.13.0, MIT; G. H. Ceotto, R. N. Schmitt, G. F. Alves, L. A. Pezente and B. S. Carmo, “RocketPy: Six Degree-of-Freedom Rocket Trajectory Simulator”, J. Aerosp. Eng. 34(6), 2021. The nozzle gyration tensor is integrated here from the boxed rotational equation of v0 (a uniform jet over the exit disc). The derivation, the assumptions and every term are in docs/physics/flight.md.

In body axes, with O the nose tip, r the center of mass from O, m the mass, I the inertia about O and I_c about the center of mass, primes body-frame time derivatives and ṁ_k ≤ 0 each motor’s mass rate with its nozzle exit at n_k:

T20 = −ω×(ω×m r) + ω×(2 Σ ṁ_k (n_k − r) − 2 m r′) + T − m r″ − 2 ṁ r′ + Σ m̈_k (n_k − r) + W + A
T21 = −ω×(I ω) + (Σ ṁ_k S_k − I′) ω + r×W + M_A + M_T − ω×h − h′
ω̇   = I_c⁻¹ (T21 − r × T20)
a_O = T20/m − ω̇ × r

T is the thrust, W the weight with the Coriolis force (both acting at the center of mass), A and M_A the aerodynamic force and its moment about O, M_T the thrust’s moment about O, and S_k = (r_e²/4) diag(1, 1, 2) + |n_k|² 1 − n_k n_kᵀ the gyration tensor of motor k’s exit disc of radius r_e about O. a_O is O’s acceleration relative to the launch frame, whose rotation enters only through the Coriolis force (normal gravity already holds the centrifugal term) and not through the rotational equations (at most 7.3e-5 rad/s; the decision record on rigid-body flight, ADR-011). h = Σ_j m_j ρ_j × ρ_j′ is the angular momentum about O, relative to the airframe, of the parts moving along it (crate::shifts), at their centers ρ_j: zero for a part on the axis, and zero with no part moving.

Enums§

Phase
Where the rocket is in its flight, which decides what it is free to do.