-
-
Notifications
You must be signed in to change notification settings - Fork 194
Enh/liquid motors optimization #354
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
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
Great one! I'm a little bit out of what has been doing in the |
Btw @phmbressan you are gonna have to fix this someday heheh |
Co-authored-by: MateusStano <[email protected]>
Co-authored-by: MateusStano <[email protected]>
@MateusStano This occurs due the fact that, in this notebook, the oxidizer tank |
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.
Great work @phmbressan. Loved how you made use of Function composition to get even the most complicated properties to carry on as array-defined Function instead of having to implement them as a function of time.
The complexity of the new motor classes is only possible thanks to great advances you and other collaborators made to the Function class. Most notably, Function composition and Function integrals solved most of our problems here.
I am very satisfied performance-wise. Made a couple of enhancement suggestions such as typo-fixes, docstring suggestions or minor optimizations. Take a quick look and ask for a new review so that I can accept this PR.
Any ideas why unrelated tests are failing? |
Please, see the comment on the original Liquid Motors PR. |
Co-authored-by: Giovani Hidalgo Ceotto <[email protected]>
Co-authored-by: Giovani Hidalgo Ceotto <[email protected]>
Co-authored-by: Giovani Hidalgo Ceotto <[email protected]>
Co-authored-by: Giovani Hidalgo Ceotto <[email protected]>
Co-authored-by: Giovani Hidalgo Ceotto <[email protected]>
Co-authored-by: Giovani Hidalgo Ceotto <[email protected]>
Co-authored-by: MateusStano <[email protected]>
I "fixed" this on 5374a6e. The issue was that, for some reason, numpy considers 0/0 as an invalid value error and not a divide error (even though the error message is quite ambiguous). Let me know what you think. The warning should not pop up anymore. |
Seems all good to me now! |
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.
This one is approved by me. Just don't forget to merge beta/v1.0.0
into enh/liquid-motors
before merging this one, it is currently carrying over some changes from there.
ee7f5cc
to
ca18df8
Compare
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 liquid motor simulations were accurate, but performed really poorly (20+ seconds to generate inertia tensor plots).
What is the new behavior?
The main focus is optimize the Tank code in order to speed up the implementation. The results are now in the sub 1 second range.
Does this introduce a breaking change?
Other information
Important docs:
docs/notebooks/example_liquid
,docs/notebooks/example_hybrid
.