-
Notifications
You must be signed in to change notification settings - Fork 32
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
Lots of new models for clean sheet aircraft design #64
Conversation
…ic derivatives and create a full duct model that can take an external HX model as connections
…ipy model training behavior
* First dymos-based phase * add hybrid engine surrogate model * Add ISA temp offset to standard atmosphere * Add dymos to requirements * Install dymos from git * continued install problems * remove dymos test scratch folder * pin openmdao for now * identify why 737 test is failing * Fix trajectory test bugs introduced during dymos work * Add a "BasicMission" with a ground roll phase that's not a real BFL phase * Minor change to CFM56 surrogate * Add tags to the mult-div comp * Convergence improvements for the incompressible duct. Add some analytic derivatives and create a full duct model that can take an external HX model as connections * Added lower bounds on some components * various tweaks to duct test group for diagnostics * Limit throttle to 1.05 rated * Tweaks and doc updates to N3hybrid model * remove dymos * remove dymos import, reduce tol on B737 test due to differences in scipy model training behavior * Add heat sinks specific to motors and batteries * Further reduce tol of 738 test * Fix docstring indentation
…sible duct robustness improvements
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #64 +/- ##
==========================================
+ Coverage 79.98% 82.08% +2.09%
==========================================
Files 85 103 +18
Lines 9300 10717 +1417
==========================================
+ Hits 7439 8797 +1358
- Misses 1861 1920 +59 ☔ View full report in Codecov by Sentry. |
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.
I added minor comments, overall looks good. I appreciate your effort on thorough docstrings and tests.
It would be great to have another reviewer because this is a big addition and I don't think I caught everything.
openconcept/aerodynamics/openaerostruct/CL_max_critical_section.py
Outdated
Show resolved
Hide resolved
openconcept/mission/profiles.py
Outdated
@@ -595,3 +595,257 @@ def setup(self): | |||
self.link_phases(cruise, descent) | |||
self.connect("rotate.range_final", "climb.ode_integ_phase.range_initial") | |||
self.connect("rotate.fltcond|h_final", "climb.ode_integ_phase.fltcond|h_initial") | |||
|
|||
|
|||
class FullMissionWithReserve(TrajectoryGroup): |
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.
Is it possible to use FullMissionAnalysis
and MissionWithReserve
groups here? That can reduce the code duplication.
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.
Do you have ideas on how that'd work? Maybe there's a way to break out sections into separate functions and then within each group's setup, pass self
to the function for each section, but that feels a bit weird to me.
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.
I didn't think that much. My idea was to add FullMissionAnalysis
and/orMissionWithReserve
under this group and add linkages and additional mission phases as necessary, but it looks like it's not that simple. So never mind.
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.
I was thinking about how to combine the two to get FullMissionWithReserve
, but you make a good point that maybe I can go the other way and have the other two "inherit" from the combined one. Let me think on it a bit more.
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.
I added a solution that removes the duplicated code and preserves backward compatibility. It involves a bunch of if statements, which feels a bit hacky. But I think it's a better solution than the duplicated code I initially submitted.
…er than sweep directly
Purpose
This PR includes a host of new features for aircraft design purposes, many of which were developed for this paper. These include
_setup_procs
change breaksPhaseGroup
andIntegratorGroup
#65)Type of change
What types of change is it?
Select the appropriate type(s) that describe this PR
Testing
Explain the steps needed to test the new code to verify that it does indeed address the issue and produce the expected behavior.
Checklist
Put an
x
in the boxes that apply.