-
-
Notifications
You must be signed in to change notification settings - Fork 200
BUG: Airfoil fins normal force coefficient derivative calculation. #140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Finally! Finally, a perfect airfoil implementation! Great work @MateusStano, we really needed this!
I am suggesting a few simple changes, see what you think about them!
Oh, one more thing, check your black! It is replacing all the **
.
… static margin check on tests
OK I fixed my code here. In my opinion it's brillant, we can move forward. Congratulations @MateusStano really easy to understand the code. Sugestion of creating good plots of airfoils data in the future, embedded on allInfo() |
Can we add this to our action log? @Gui-FernandesBR |
I'll finish my last review by tonight so that we can merge it! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Three more simple, but important, suggestions! If you accept them all, we can merge it. But check if you really agree with them.
Two of them are simple ones regarding documentation. However, the third one is a bit more complex and important.
Co-authored-by: Giovani Hidalgo Ceotto <[email protected]>
Co-authored-by: Giovani Hidalgo Ceotto <[email protected]>
Co-authored-by: Giovani Hidalgo Ceotto <[email protected]>
@Gui-FernandesBR, when you approve, feel free to merge! |
Continuing #117 that was accidentally closed
Pull request type
Please check the type of change your PR introduces:
Pull request checklist
Please check if your PR fulfills the following requirements, depending on the type of PR:
Code base additions (for bug fixes / features):
black rocketpy
) has passed locally and any fixes were madepytest --runslow
) have passed locallyWhat is the current behavior?
The current calculation of the normal force coefficient derivative for airfoil fins assumes that the term where the derivative of the lift coefficient is multiplied by alpha is a constant value. However, for curves that are not linear that simplification does not apply due to another intermediate derivative term.
What is the new behavior?
The calculations for the lift coefficient now use a more generalized equation based on thin airfoil theory, which is more in the lines of what Barrowman showed in his paper. The differences in calculating the lift with and without airfoils is only considered in the Cnalpha0 (see equation 3-1 in Barrowman). For planar fins, Cnalpha0 is considered to be
2π / beta
. For airfoil fins, Cnalpha0 comes from the derivation of a lift coefficient curve that must be given as an input to theaddFins
method.Does this introduce a breaking change?
Other information
The addition of the
beta
parameter makes it so the calculations for fins lift coefficient take into account the variation of the Mach number, which in turn can change a few other behaviors in the simulation (i.e. the static margin). This is worth noting since the other aerodynamic surfaces (nosecone and tail) don't consider the Mach number (yet).