Open
Conversation
…FUEL_BUREND + RESERVE_FUEL, some errors still
…ividual problem configurators, and moved it off of acting on Mission.Summary.OPERATING_MASS plus TOTAL_FUEL_MASS plys GROSS_MASS, put it back on enforcing that mission fuel burn + reserve fuel was the same as the pre-mission value given by Mission.Summary.TOTAL_FUEL_MASS
…and calculating TOTAL_FUEL_MASS in pre-mission broke it
… on a palyoad mass doesnt mean anything
…, those tests are still not working
…e, this has caused examples like test_battery_in_a_mission.py to start failing because it has a non-zero mission:takeoff:fuel_burn,577
…at describes how all the fuel burns add up together. Some tests will fail on this PR because the new naming scheme is only half implemented
…SIDUAL constraint calculation, all tests passing except 1
| self.configurator.add_takeoff_systems(self) | ||
|
|
||
| # Calculate Mission.TOTAL_FUEL | ||
| pre_mission.add_subsystem( |
Member
There was a problem hiding this comment.
Pondering whether this should be at the top in pre_mission, or it should be down in the mass group.
One effect of having it here is that it is active no matter which problemtype we are using, but does this hook up to anything in 2dof? I dont think zero_fuel_mass is there.
| # Users can set the below constraint to lower=0.0, which will allow for more fuel on the aircraft than the mission | ||
| # requires. however, caution will need to be taken to ensure the ref is of the right magnitude otherwise the optimizer | ||
| # may not try as hard as needed to minimize this. | ||
| self.add_constraint( |
Member
There was a problem hiding this comment.
Moving this out of the configurators will break the Solved-2dof problems. We hadn't been adding a mass constraint to those problems because they end at the start of climb.
We probably also need a way to turn this constraint off if we aren't doing sizing.
| tolerance=1e-12, | ||
| ) | ||
| assert_near_equal(prob_fallout.get_val(Mission.RANGE), 2438.6, tolerance=1e-3) | ||
| assert_near_equal(prob_fallout.get_val(Mission.RANGE), 2377.4, tolerance=1e-3) |
Member
There was a problem hiding this comment.
Adding taxi-out + simple takeoff burned 60 miles of fuel?
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
Updates how fuel mass and fuel constraints are calculated. New calculations were added for
FUEL_TAXI_OUT,FUEL_TAXI_IN,Takeoff.FUEL,BLOCK_FUELto enable the user to input those values and have them included even if they didn't run a taxi or takeoff phase.FUEL_TAXI_INwill work for all ODEs.FUEL_TAXI_OUTandTakeoff.FUELwill only work for energy-state ODE because 2DOF uses phases to calculate taxi and takeoff. Details on howMission.TOTAL_FUEL(the fuel burn for the whole mission) is now being calculated are best explained by viewing Fuel_Breakdown.png.Mission.Constraints.MASS_RESIDUALnow forces fuel loaded into the aircraft to be the same as fuel burned by the missionVariable hiarchy adds:
Mission.Taxi.FUEL_TAXI_OUT,FUEL_TAXI_IN,Mission.BLOCK_FUEL.Variable higharchy mods:
Mission.Takeoff.FUEL_SIMPLE&Mission.Takeoff.FUEL_BURN->Mission.Takeoff.FUELMission.TOTAL_FUELis now calculated in pre-mission, enabling CG & stability calculationsFuel_Breakdown graph has upd fuel names and new organization
test_post_mission_promotionunit test removed, it was not useful and was failing due to updates inTOTAL_FUELnow being calculated correctly in pre-missionsimplified_takeoff.py, it now accepts:Mission.Taxi.FUEL_TAXI_OUTas an input to calculate mass at end of taxi and drive takeoff calcs based on that rather than just gross-mass.BLOCK_FUELcalc and tests addedMission.Takeoff.FINAL_MASScalculation added to energy-state problem configurator to ensure it's always calculated regardless ifinclude_takeoff.ZERO_FUEL_MASScalculation added to gasp-based mass. This allows us to makeMission.TOTAL_FUELcalc in aviary group uniform.Test values updates. We had to change test results for 9 tests that were failing because they had
include_takeoff=Falsebut specified a takeoff fuel burn. In the past we ignored the takeoff fuel burn ifinclude_takeoff=False. However, to be consistent with the new architecture we had to accept the takeoff-fuel-burn values from the csv and process them normally this made the fuel mass and thus the gross mass of these flights slightly larger by a few 100s of lbm. We could not remove that takeoff fuel burn from the csv because that would have caused errors when takeoff=true.Related Issues
Backwards incompatibilities
None
New Dependencies
None