Add an Excess Fuel Output to Dashboard for FLOPS Missions
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:
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
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
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.