RocketPy icon indicating copy to clipboard operation
RocketPy copied to clipboard

ENH: Improve Stability Margin

Open MateusStano opened this issue 5 months ago • 0 comments

Currently we use the rocket's total center of pressure to compute the stability margin of the Flight class.

Since this center of pressure is defined based on the normal force coefficient derivative with respect to the angle of attack (cnalpha) we end up with a curve that does not change with the angle of attack, as reported by user Eli [ARIS] (dvoeli05_67950) in our discord.

On RocketPy: Image

On OpenRocket: Image

As you can see, in OpenRocket the stability margin is much more "dynamic" than ours.

Describe the solution you'd like

In the Flight class, instead of using the angle of attack independent center of pressure for the stability margin calculations :

CP = \frac{  \sum (C_{N})_{\alpha} \cdot (X_{cp})_{\text{surface}}} {\sum (C_{N})_{\alpha}}

We should use a calculation that is dependent on alpha:

CP = \frac{  \sum C_{N}(\alpha) \cdot (X_{cp})_{\text{surface}}} {\sum C_{N}(\alpha) }

MateusStano avatar May 24 '25 10:05 MateusStano