Fuel Variables and Subsystems Revamp#854
Merged
jkirk5 merged 72 commits intoOpenMDAO:mainfrom Sep 19, 2025
Merged
Conversation
… with aircraft.fuel.density
…n to aviary to handle conversion of FULDEN parameter to absolute denisty
…e Aircraft.Fuel.Wing_fuel_Fraction which has a physical meaning the user can set
… from FLOPS files
…emoval of unecessary legacy flops variables
added 6 commits
August 22, 2025 14:16
…ectly handles IFUFU paramter
…ion for the IFUFU parameter
ehariton
reviewed
Aug 25, 2025
ehariton
reviewed
Aug 25, 2025
Co-authored-by: Jason Kirk <110835404+jkirk5@users.noreply.github.com>
…t value in the meta data
…after the problem has executed to check the excess fuel capacity and warn user if the problem has converged and there is not enough capacity for fuel
…ity mismatch for fortran to aviary conversion
…ssion_systems and require user to manually check in the dashboard
…equired conversion to lbm/ft**3 in subsystem computes
…uel density input units consistent
… lbm/galUS to match rest of aviary
jkirk5
approved these changes
Sep 12, 2025
…aint to reduce its weighting in the optimization problem
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.
Summary
This PR fixes 2 connected issues with the fuel subsystems.
Removes 2 variables, and updates fortran_to_aviary to correctly handle the new assignments:
Adds a new post-mission exec comp subsystem to calculate the excess fuel for the mission. (Excess_fuel = TOTAL_FUEL_CAPACITY - UNUSABLE_FUEL_MASS - TOTAL_FUEL_MASS), where total_fuel_mass includes fuel burned in the mission, reserve fuel, and fuel margin).
Adds a new constraint for the optimization to force that excess fuel must be greater than zero.
Adds a new control variable Aircraft.Fuel.IGNORE_EXCESS_FUEL_CONSTRAINT to control the addition of the constraint, which adds functionality similar to the FLOPS WTIN.IFUFU parameter. If set=True then the constraint will not be added and Aviary will converge even if there is not enough capacity for the required mission fuel (this is the current behaviour). The default has been set = False (which makes more sense for most users).
flops_defaults updated to correctly interpret IFUFU and set Aircraft.Fuel.IGNORE_EXCESS_FUEL_CONSTRAINT as boolean.
Excess fuel output added to dashboard under mission summary.
A new preprocessors function has been added to check the fuel capacity variables are consistent with each other, and to add an assumption that they're zero if they are missing. This fixes a bug where it was possible to setup a circular calculation reference that prevented aviary from converging if those variables were missing (and it was difficult for the user to debug).
The units of the fuel density input for FLOPS and GASP fuel calculations have been made consistent throught aviary and set to lbm/galUS.
Related Issues
Backwards incompatibilities
If existing aircraft models fail with the addition of the excess fuel constraint then that indicates that those models were invalid in the first place.
Existing aircraft models with density_ratio and capacity_factor variables may not give identical answers if values were changed from defaults
New Dependencies
None