Is your feature request related to a problem? Please describe.
Currently, RocketPy allows users to define a parachute's drag properties ($C_d S$) and trigger conditions. However, it does not calculate the Opening Shock Force (or "Inflation Load").
This is the peak transient force exerted on the recovery harness (shock cords, bulkheads) during the rapid inflation of the canopy. Without this value, users cannot accurately size their recovery hardware, leading to potential structural failures during recovery that the simulation currently doesn't warn about.
Describe the solution you'd like
I would like to implement a method to estimate the peak opening force based on the standard approximation found in Knacke's Parachute Recovery Systems Design Manual (Section 5.5).
The general formula for the maximum opening force ($F_o$) is:
$$F_o = C_x \cdot X_1 \cdot q \cdot S \cdot C_d$$
Where:
-
$C_d S$: The drag area of the parachute (already in
Parachute class).
-
$q$: Dynamic pressure at the moment of line stretch/inflation ($\frac{1}{2} \rho V^2$).
-
$C_x$: The opening force coefficient (typically between 1.2 and 2.0, depending on canopy type).
-
$X_1$: An infinite mass opening factor (often simplified or combined with $C_x$).
Implementation Details
- Update
Parachute Class:
- Add an optional
opening_shock_coefficient (defaulting to a standard value like 1.5 or calculated based on the porosity and geometry if possible).
- New Method:
- Implement a method (e.g.,
calculate_opening_shock(density, velocity)) in the Parachute class.
- Integration with
Flight:
- During the simulation (or post-processing), when a parachute event is triggered, the code should capture the specific
velocity and air_density at that timestamp and calculate the theoretical peak shock load.
Proposed Usage
# In Parachute definition
main = Parachute(name="Main", cd_s=10.0, opening_shock_coefficient=1.6, ...)
# In Flight analysis (Post-processing)
print(f"Peak Shock Force: {flight.parachutes[0].opening_shock_force} N")
Acceptance Criteria
Additional Context
-
Reference: Knacke, T. W. (1992). Parachute Recovery Systems Design Manual. Para. Pub. (Page 5-50).
-
Physics Note: This force is usually significantly higher than the steady-state drag force ($F_{drag} = q \cdot C_d S$).
Is your feature request related to a problem? Please describe.$C_d S$ ) and trigger conditions. However, it does not calculate the Opening Shock Force (or "Inflation Load").
Currently, RocketPy allows users to define a parachute's drag properties (
This is the peak transient force exerted on the recovery harness (shock cords, bulkheads) during the rapid inflation of the canopy. Without this value, users cannot accurately size their recovery hardware, leading to potential structural failures during recovery that the simulation currently doesn't warn about.
Describe the solution you'd like
I would like to implement a method to estimate the peak opening force based on the standard approximation found in Knacke's Parachute Recovery Systems Design Manual (Section 5.5).
The general formula for the maximum opening force ($F_o$ ) is:
$$F_o = C_x \cdot X_1 \cdot q \cdot S \cdot C_d$$
Where:
Parachuteclass).Implementation Details
ParachuteClass:opening_shock_coefficient(defaulting to a standard value like 1.5 or calculated based on theporosityand geometry if possible).calculate_opening_shock(density, velocity)) in theParachuteclass.Flight:velocityandair_densityat that timestamp and calculate the theoretical peak shock load.Proposed Usage
Acceptance Criteria
opening_shock_coefficienttoParachute.__init__.Additional Context