Fuselage synthesis - #227
Open
Czarified wants to merge 18 commits into
Open
Conversation
Started the example script for a generic Medium Transport. Included code to plot the station geometry in a grid. This took way too long...
This makes the methods more flexible.
Putting the loads onto frames, and building up the fuselage.
Debugged the loads for the transport example. We've got basic shear-moment diagrams!
Fixed the net loads function to properly balance on my example case.
Still very much WIP, but committing now to save a snapshot.
Added size_shell weight calculations. Swapped all the component classes to use instance variables for sizing methods. Added new longeron_coords method to Fuselage, for the First Moment of Area method.
Finally!! We've got a full-up routine hacked together!
Added logging for debug, and found the root of cover pressure unreasonable results. Multiplied by gravitational acceleration instead of dividing, and had some unreasonable defaults.
Setting instance MinorFrame flange thickness after sizing prior to calculating area. Added minimum gauge attribute with reasonable default.
Just some administrative stuff to comply with darglint and flake8. Also commenting out the mypy sessions for local checks. We don't use mypy right now.
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.
Finally rolling in a functional Fuselage Synthesis routine! This marks the first minor version release!
This has taken way too long, but I've got a working example script building and analyzing a Fuselage component. I like the data structure and execution speed. The accuracy isn't there yet, but now that all the pipes are connected, we can work on that in the future. I've left several TODO comments in the source files to keep track of this when the time comes.
This effort took significant refactoring and new class definitions. Some highlights:
cover_model,frame_model,long_modelare attributes of Fuselage and must be defined from instantiation. This isn't locking in the sizing of these, just the object they can reference. Materials and other sizing attributes can and are changed as part of the synthesis routine.Fuselage.lookup_loads()method).There's more updates but I'll leave it here. No one reads these except for me anyway. 😁