-
-
Notifications
You must be signed in to change notification settings - Fork 238
ENH: distances vs positions #195
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
ENH: distances vs positions #195
Conversation
|
@MateusStano did we get any progress here? I mean, the tests are currently not working! |
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
|
Hey! I changed all the tests now, only one of the flight tests is not working, still looking into it. Another big change I made is that before the situation where an aerodynamic surface is out of the rocket was not working. Now a helper function |
Gui-FernandesBR
left a comment
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.
The examples regarding apogee by mass and other analysis will have to be adapted later, but for now everything is working fine.
Really appretiate your good work @MateusStano , as someone how already had hard times with distances calculation, I hope this will be an important addition to RocketPy
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?
Solving Issue #158
What is the new behavior?
The Rocket class now receives the position of the nozzle and of the center of dry mass in relation to any coordinate system. The only requirement is that the coordinate system has one of its axis aligned with the rocket center axis, and all position are in relation to that axis.
The methods Rocket.addTail(), Rocket.addNose(), Rocket.addFins() and Rocket.addRailButtons() have also been altered to receive a position as input. With the position of the CM and of the nozzle in relation to the chosen coordinate system, any other position (given in that same coordinate system) can be calculated in relation to the rockets CM, which is what is needed for the simulation
The following structure is followed for each of the aerodynamic surfaces
1 calculate the surface position in relation to the nozzle
2 calculate the surface position in relation to the dry CM
3 calculate CP as was before
Does this introduce a breaking change?
Other information
For the changes to work, the assumption that the center of dry mass is always at the front of the nozzle (closer to the nose cone) had to be made
Still need to change all the tests, for now I have only adapted the getting_started notebook