Aviary icon indicating copy to clipboard operation
Aviary copied to clipboard

Add an Excess Fuel Output to Dashboard for FLOPS Missions

Open cmbenne3 opened this issue 5 months ago • 2 comments

Desired capability or behavior.

It is currently possible to execute and optimize an aircraft sizing mission where the Aircraft.Fuel.TOTAL_CAPACITY < MIssion.Design.FUEL_MASS. Legacy FLOPS was also able to do this, and had a variable 'EXSFUL' (Excess Fuel) that would show up in the output file -ve and with a warning message to the user if this condition was triggered. I think we should add this to aviary, printing a message to the command line and adding a flag in the dashboard to show that although the optimization problem was solved the results may not be representative of a physical aircraft.

Aviary has no capability to set the Aircraft.Fuel.TOTAL_CAPACITY based on the fuel required for the design mission. This would be a nice to have feature as currently it is very easy to not specify enough inputs in the .csv for the fuel_capacity_group subsystems which will result in undefined circular references:

Image

It is currently important to set either total_capacity or (fuselage_fuel_capacity and auxiliary_fuel_capacity) in the input file, otherwise these circular references will occur.

The ability to feedback Mission.Design.FUEL_MASS into Aircraft.Fuel.TOTAL_CAPACITY would replicate the IFUFU=1 FLOPS behavior.

Is your feature request related to a problem? Please describe.

No response

Associated Bug Report

No response

cmbenne3 avatar Jul 29 '25 13:07 cmbenne3

We may want to enforce this via a constraint so the design fails/is infeasible when this happens (we can call a warning that specifies that as one of the reasons the run failed). If we only print out a message somewhere, the optimization will claim success and the dashboard will show the big green checkmark that everything worked, and many users may miss that

jkirk5 avatar Jul 29 '25 13:07 jkirk5

Rather than exactly replicating the feedback of design.Fuel_MASS into the Fuel.Total_capacity variable it was decided that we would translate this functionality into ignoring or enabling the excess_fuel constraint that is added to the Aviary Problem. IFUFU is directly linked to this ignore_excess_fuel_constraint variable and gives equivalent behviour of allowing Aviary to converge a mission with negative excess fuel, but Aviary does not need to insert fuel into the fuselage to make this happen. The fuel sits in an imaginary tank and the designer must interpret the results at their own risk.

cmbenne3 avatar Aug 22 '25 18:08 cmbenne3