Skip to content
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

Extension to critical section method #54

Merged
merged 2 commits into from
Jun 30, 2023
Merged

Conversation

eytanadler
Copy link
Collaborator

Purpose

Extends OpenAeroStruct critical section method to enable different airfoil maximum lift coefficients across the span. This enables modeling of high lift devices that do not extend across the entire span.

Type of change

What types of change is it?
Select the appropriate type(s) that describe this PR

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (non-backwards-compatible fix or feature)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Documentation update
  • Other (please describe)

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.

  • I have run unit and regression tests which pass locally with my changes
  • I have added new tests that prove my fix is effective or that my feature works
  • I have added necessary documentation

@eytanadler eytanadler merged commit 00e451e into mdolab:hyfi Jun 30, 2023
@eytanadler eytanadler deleted the hydrogen branch June 30, 2023 14:46
eytanadler added a commit that referenced this pull request Mar 25, 2024
* 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

* WIP: N3hybrid (#21)

* 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

* Fix docstring and reference to battery heatsink model from Eytan's PR

* ignore scratch folder

* Battery tests done

* Reg tests for the motor heat sink

* First draft of the hybrid single aisle with some todos

* Resize HX for lower hot side pressure drop

* Thermal optimization is functional

* deprecate a couple of debugging things

* Add pressure losses proportional to dynamic pressure

* Optimization with lossy diffuser

* Add proportional losses to the compressible duct

* Added refrigerator capability for the hybrid single aisle and compressible duct robustness improvements

* Add refrigerator weight to hybrid single aisle and reformulate control parameter

* base case

* Added LiquidCooledMotor to ParallelTMS

* Update hydraulic diameter computation and add regression tests against Kays and London empirical coefficients for the heat exchanger

* Add a comprehensive HX reg test case

* Add compressible duct reg tests vs pycycle

* Add reg tests that don't depend on pycycle

* Add warning when pycycle not installed

* Added heat pipe model and tests

* Removed duplicate vapor temp drop calc and changed defaults from 6061 to 7075 aluminum

* Fix trajectories for OM 3.3+ (works on 3.7 dev)

* Roll openmdao version, fix a couple examples

* Heat pipe docstring fixes

* Tested w/ openmdao 3.5 and still works so relaxing dependency pinning

* Update duct test for latest pycycle

* tweaks to nasa model

* repo maintenance

* Add a warning to cached surrogate

* - Add tests for hose and pump comps
- Add effectiveness/NTU calc for the motor heat sink comp
- Refactor tms and heat sink tests
- Clean up unused code in thermal.py

* remove hybrid single aisle examples until conclusion of trees study

* implements promote_add and promote_mult convenience funcs

* refactor the empirical engine decks and update the n+3 design

* missed a promote in the ducts comp

* add two geom design vars to the hx group

* Change name of top-level integrator comp to allow multimission problems at the top-level

* lower bound on duct mass flow for convergence

* Updated engine maps

* New chiller component

* Make case cooling coefficient a user parameter

* Change bounds on duct comp

* Add a muliple trajectory plot utility

* Remove a print statement

* Added tests for chiller

* Removed eff_factor option from COPExplicit and added docstrings

* Changed iv comp to set_input_defaults for steady flight phase so linear interpolator can be connected for trajectory optimization

* Corrected documentation for I/O of updated HeatPumpWithIntegratedCoolantLoop

* Changed default batteries per bandolier from 21 to 82

* Added hydrogen tank composite thickness estimate with netting and tests

* Added liner and insulation weight components and simplified composite calc

* Made some fixes and added validation

* Moved hydrogen work to subfolder in components

* Reorganized hydrogen folder

* Prototypes (in progress) of a couple necessary parts for boil-off estimation

* Added fairing to outside of insulation

* Added derivatives to components

* Added tests for hydrogen tank thermals

* Attempt for full tank component, but still in progress

* Added tests for some new components

* Added components and modified to make it solve semi-robustly

* Missed some parentheses, oops

* Added analytic derivatives to COPVHeatFromEnvironmentIntoTankWalls

* Added more tests for hydrogen thermal comps

* Added LH2 tank tests and made a couple more corrections

* Note about LH2 tank initial fill level

* First attempt at good boil-off model (still not functional)

* Failed attempt at better boil off model

* Added GH2 reservoir and test

* New LH2 tank looking decent, need to change a few connections still

* LH2 tank more connections made but still not solving

* Working LH2 tank! Now just need venting...

* Removed arccos from heat into propellant to vastly increase robustness but slightly decrease accuracy

* Added venting and heating features to tank, updated tests

* Fixed deprecation error in ExecComp

* Added validation for LH2 tank

* Added ability to pull LH2 from tank in addition from GH2

* Added lower bound to ullage temperature

* Added lower bound to pressure in ullage ODE

* Added more bounds for physical behavior

* Updated defaults of LH2 tank to better reflect real world

* Updated LH2 tank tests for new default options

* Small change to LH2 tank docs

* Removed TMS to match mdolab/master

* Ran black

* Added proper validation script for MHTB boil-off

* Working on new boil off model

* Boil off model gets reasonable results, needs testing, cleanup, and verification of ODE

* Cleaned up boil off API and improved initial guess for solver

* Added tests and fixed derivatives for fill level calc

* Tested boil off ODE against EBM

* Added derivatives for hydrogen property functions

* Analytic derivatives for half of the boil of ODE outputs

* Analytic derivatives for V_dot_gas in boil off ODE

* Added derivatives for T_dot_liq

* Analytic partials for boil off ODE done

* Fixed incorrect derivative when T_dot_liq is zeroed out

* Boil off with complex step to check works great now

* New structural model for vacuum tank

* Added air thermal conductivity

* Added viscosity

* Ran black

* Added vacuum wall model

* Starting new thermal model

* Getting thermal model together, still need to make it work

* Thermal model is done-ish

* First pass at final tank, needs robustness and some other stuff

* Added MLI weight

* Added tests for LH2 tank

* Trying to improve robustness of the boil-off

* Added integrated test for boil off model

* Removed previous versions of files for LH2 tank

* Added rubberized turbofan that can do hydrogen

* Added options to LH2 tank for more customizability

* Consistent radius default

* Trying to figure out what's going on with the solvers and guess_nonlinear

* Adjusted tolerance on LH2Tank NLBGS solver

* Boil off model should now work with mission integrator linking properly

* LH2 tank test was failing because there was no top level nonlinear solver after NLBGS was removed

* Actually....I added back in the NLBGS solver because the Newton was getting funny results

* Working on improving the tank model robustness

* Added some notes for myself and corrected a docstring

* Added LH2 tank without boil-off model

* Added tests for new LH2 tank comps

* Added LH2 tanks to based energy storage imports

* Removed viscosity and conductivity comps

* New boil off model, still needs robustness improvement and derivatives

* Fixed error in boil off

* adding SOFC fuel cell model

* adding sizing functions, fuel cell PEM, and updating SOFC

* Adding Venkats sizing file, does not run

* Making some fixes in sizing stuff

* Fixed wing weight typo in init

* First pass at fixed jet transport weight model

* Updated docstrings and init file

* Vastly improved jet transport weight estimation

* Fixing up sizing example

* First pass at jet transport drag buildup

* Added tests for new drag buildup

* Tests for geometry comps

* Cylinder wetted area component

* No more approximation of tail lever arm

* Added tests and docstrings for tail volume coefficient sizing

* Added CL max estimation

* Removing old sizing

* Modified RubberizedTurbofan to take in rated thrust instead of number of engines

* Moved CD_nonwing up to the VLMDragPolar and enabled it to be a vector input

* Formatted and modified FullMissionWithReserve

* Extended PolarDrag to accept vectorized CD0

* Changed name of CL max output

* Initial pass at setting up B738 sizing run script

* Done with mission analysis of Boeing 737-800 with empirical weight and drag

* Ran black

* Removed n2 from drag test

* Changed some variables bounds

* Increased upper bounds in basic mission segment durations

* Note on engine model and profile variable bound setting

* Added wing planform geometry utilities

* Corrected docstring

* Added wing weight multiplier

* Modified equipment weight to make pressurized cabin geometry more general

* Removed unused option

* Added BWB weight model

* Added BWB drag estimate that is just nacelles and dirty stuff

* Tools to compute planform area of parts of the wing

* Max lift coefficient estimation via the critical section method

* Added todo

* Ran black

* Removed some unused imports

* Minor changes to critical section method

* Added Schur solver for critical section CL max

* Reduced landing gear CD for BWB

* Added output documentation for BWB weights

* Removed CODEOWNERS to avoid unneccesary PR reviews while developing hyfi, ADD BACK BEFORE PUSH TO MAIN

* Utility to compute mean aerodynamic chord of OpenAeroStruct section-defined wing

* Forgot a summation in MAC calc

* Fixed docstrings

* Added comps to compute wave drag

* Fix a bug in the wave drag calculation

* Fix error in flap CLmax calculation

* Extension to critical section method (#54)

* Restructure

* Extended critical section method to handle varying Clmax across span

* Added thermal tests back

* Corrected heat leak multiplier in thermal calcs

* Removed stale code and other code that is not ready to merge

* Fixed BWB test

* Fixed options in BWB test

* One more bit of code not ready to merge

* Remove other dated code

* Fixed convergence and added test for B738_sizing example

* Add back CODEOWNERS file

* Inconsequential rendition thump

* Removed old B738 sizing data

* Ran black

* Fix most flake8 errors

* Fixed ascii art

* Try to fix remaining flake8

* Indentation fix

* Documentation for new components

* Fixed some errors I noticed in the documentation

* Address most comments

* Upper bound on OpenMDAO version

* Forgot a comma

* Oldest OpenMDAO version was being overridden on OpenConcept install

* Try OM 3.16

* Try OM 3.17

* 3.17 it is

* Bump again to 3.21 to fix spline shape problem

* Add code for checking against OAS and weighted avg of cos(sweep) rather than sweep directly

* Reorganized to remove duplicated code

* Tightened Newton solver tolerance to make testing more consistent

* Fixing black and flake8

* Make up your mind flake8

* Better descriptions of takeoff|h behavior

* Even more descriptive takeoff|h behavior

---------

Co-authored-by: Ben Brelje <[email protected]>
Co-authored-by: Ben Brelje <[email protected]>
Co-authored-by: Cody Karcher <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant