Conversation
fin_flutter_analysis used the form of Martin's flutter boundary (NACA TN 4197) given in Apogee Peak of Flight issue 291. Its constant 1.337 is Martin's 39.3 psi divided by the sea-level pressure and by 2, and the form multiplies the numerator by 2 again, so the flutter velocity came out sqrt(2) too high for every fin. Bennett identified the error in Peak of Flight issue 615 (2023). Add tests against Bennett's reference calculator for fins with the centroid at mid-root-chord, where it reduces to Martin's equation, run through fin_flutter_analysis with TrapezoidalFins, and update the recorded Calisto values. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017KkQuxkQhvUHzSJbU9Va8a
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull request type
Checklist
ruff check,ruff format --checkandpylintpass on the changed filestests/unitpasses locally, excepttests/unit/simulation, which I did not run (slow, and it does not usefin_flutter_analysis); the integration tests pass apart from the Monte Carlo and weather-download tests, which I deselectedCurrent behavior
Closes #1200.
_flutter_mach_numberuses the Peak of Flight issue 291 form of Martin's equation, whose constant 1.337 already includes Martin's factor of 1/2 while the numerator multiplies by 2 again. Flutter Mach numbers and safety factors are sqrt(2) too high for every fin.New behavior
The extra factor is removed, with a comment showing how 1.337 follows from Martin's constants, and the docstring now cites Martin's NACA Technical Note 4197.
A new parametrized test runs
fin_flutter_analysisonTrapezoidalFinsfor five fins and compares the result with Bennett's reference calculator (v1.3) for fins whose centroid is at mid-root-chord, where it reduces to Martin's equation. These cases, and the recorded Calisto values, fail on the previous formula by a factor of 1.414 and pass now; the Calisto values are the previous ones divided by sqrt(2).Breaking change
Additional information
The issue also describes Bennett's epsilon correction for swept fins, which I have left out because it changes the model rather than fixing an error. I can follow up with it if you want it.
Found and fixed with AI assistance (Claude Opus 5.5). I checked the formula against Martin's report, Bennett's article and his calculator, and confirmed the new tests fail on the old formula and pass on the new one.