RocketPy icon indicating copy to clipboard operation
RocketPy copied to clipboard

ENH: Individual Fins

Open MateusStano opened this issue 7 months ago • 4 comments

Checklist

  • [ ] Tests for the changes have been added (if needed)

Description

Individual Fins model have been added:

  • Usage can be seen in the documentation files. All equations and modelling are also described in the docs file.

  • A lot of structural changes were made to all fin classes. Please review this new structure with care.

  • If you run a simulation with the standard Fins model and another with individual fins, the results will be a little different. This happens because the individual fin model calculates forces for each fin separately, using the airflow at each fin’s exact position. The standard model (Barrowman) treats all the fins as one and uses a single point along the rocket’s center. In theory, this means that individual fins are more accurate then the standard model

  • There are a couple of TODOs relating to cant angle control. The center of pressure position relative to CDM is precalculated in the Rocket class and then accessed in the Flight. This causes a problem if the fin’s cant angle changes during the simulation because that changes the center of pressure position, but right now there’s no easy way to update these values in the Rocket while the simulation is running.

Breaking change

  • [ ] Yes
  • [x] No

MateusStano avatar May 16 '25 19:05 MateusStano

Codecov Report

Attention: Patch coverage is 61.25166% with 291 lines in your changes missing coverage. Please review.

Project coverage is 78.53%. Comparing base (4df0b38) to head (45cebc4). Report is 26 commits behind head on develop.

Files with missing lines Patch % Lines
rocketpy/plots/aero_surface_plots.py 29.47% 67 Missing :warning:
rocketpy/rocket/aero_surface/fins/fin.py 31.25% 66 Missing :warning:
rocketpy/prints/aero_surface_prints.py 33.33% 28 Missing :warning:
rocketpy/rocket/aero_surface/fins/_base_fin.py 73.07% 28 Missing :warning:
rocketpy/plots/rocket_plots.py 38.63% 27 Missing :warning:
...ocketpy/rocket/aero_surface/fins/elliptical_fin.py 37.03% 17 Missing :warning:
rocketpy/rocket/aero_surface/fins/free_form_fin.py 39.13% 14 Missing :warning:
...ketpy/rocket/aero_surface/fins/_free_form_mixin.py 90.08% 12 Missing :warning:
...etpy/rocket/aero_surface/fins/_elliptical_mixin.py 73.80% 11 Missing :warning:
...cketpy/rocket/aero_surface/fins/trapezoidal_fin.py 45.00% 11 Missing :warning:
... and 2 more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #818      +/-   ##
===========================================
- Coverage    79.11%   78.53%   -0.59%     
===========================================
  Files           96      106      +10     
  Lines        11575    12445     +870     
===========================================
+ Hits          9158     9774     +616     
- Misses        2417     2671     +254     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov[bot] avatar May 17 '25 10:05 codecov[bot]