Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
fca1c7d
remove mission.design.cruise_range as it is not used anywhere in Aviary
Mar 23, 2026
61bf4d1
rename Mission.Design.CRUISE_ALTITUDE to Aircraft.Design.CRUISE_ALTITUDE
Mar 23, 2026
d3fbcd8
change class of cruise_altitude variable
Mar 23, 2026
c9bcce0
fix imports and change lift_coefficient_max_flaps_up to Aircraft.Design
Mar 23, 2026
f6e9063
remove final reference to mission:design:cruise_range
Mar 23, 2026
8fa05a3
update fortran_to_aviary conversion test files to have new variables …
Mar 23, 2026
222752c
change mission.design.mach to aircraft.design.mach
Mar 23, 2026
5986e00
fix capitalization of MACH
Mar 23, 2026
c467368
fix variable order in fortran_to_aviary_data comparison files
Mar 23, 2026
bf53811
update mission.design.range to aircraft.design.range
Mar 23, 2026
5aac4ee
fix variable order in fortran_to_aviary data comparison files
Mar 23, 2026
2c5e557
update TwoDOFProblemConfigurator to import Aircraft and match setting…
Mar 23, 2026
318dedb
remove all references to mission.design.rate_of_climb_at_top_of_climb…
Mar 23, 2026
a1aa568
Merge branch 'main' of https://github.com/cmbenne3/Aviary into issue772
Mar 23, 2026
5b5cdf3
update fortran_to_aviary conversion data files and phase_info paramet…
Mar 23, 2026
587a0e6
change Mission.design.THRUST_TAKEOFF_PER_ENG to Aircraft.Design.THRUS…
Mar 23, 2026
4c49629
update thrust_takeoff_per_eng meta data description
Mar 23, 2026
a536a86
fix variable class
Mar 23, 2026
1574d3b
fix variable naming in energy_state_default after merge with main
Mar 23, 2026
8cd8643
update fortran_to_aviary conversion data files thrust_takeoff_per_eng…
Mar 23, 2026
de709c2
change mission.design.lift_coefficient to aircraft.design.lift_coeffi…
Mar 23, 2026
eb28d43
remove promotions of mission * from aero group as nothing left to pro…
Mar 23, 2026
d3ae658
fix takeoff and landing benchmark tests by removing promotes mission …
Mar 23, 2026
dbdd677
change mission.design.reserve_fuel to mission.reserve_fuel
Mar 23, 2026
27d9cd0
make variable name lower case
Mar 23, 2026
4679d4b
change mission.design.gross mass to aircraft.design.gross_mass and re…
Mar 24, 2026
155b8ff
doc import fix
Mar 24, 2026
9254443
Merge branch 'main' into issue772
cmbenne3 Mar 26, 2026
6f51b55
fix error from merge with main replace mission.design with aircraft.d…
Mar 26, 2026
2aa4f64
remove reference to Reserve_Fuel_FRACTION
Mar 26, 2026
d3b4de2
remove reference to Reserve_Fuel_FRACTION
Mar 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 7 additions & 9 deletions aviary/core/aviary_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -891,7 +891,7 @@ def add_post_mission_systems(self, verbosity=None):
ecomp,
promotes_inputs=[
('fuel_burned', Mission.Summary.FUEL_BURNED),
('reserve_fuel', Mission.Design.RESERVE_FUEL),
('reserve_fuel', Mission.RESERVE_FUEL),
],
promotes_outputs=[('overall_fuel', Mission.Summary.TOTAL_FUEL_MASS)],
)
Expand Down Expand Up @@ -1282,7 +1282,7 @@ def add_design_variables(self, problem_type: ProblemType = None, verbosity=None)
optimize_mass = self.pre_mission_info.get('optimize_mass')
if optimize_mass:
self.add_design_var(
Mission.Design.GROSS_MASS,
Aircraft.Design.GROSS_MASS,
units='lbm',
lower=10,
upper=900.0e3,
Expand All @@ -1298,7 +1298,7 @@ def add_design_variables(self, problem_type: ProblemType = None, verbosity=None)
# capacity
if problem_type is ProblemType.SIZING:
self.add_design_var(
Mission.Design.GROSS_MASS,
Aircraft.Design.GROSS_MASS,
lower=10.0,
upper=None,
units='lbm',
Expand All @@ -1321,7 +1321,7 @@ def add_design_variables(self, problem_type: ProblemType = None, verbosity=None)
add_constraint=True,
),
promotes_inputs=[
('lhs:GTOW', Mission.Design.GROSS_MASS),
('lhs:GTOW', Aircraft.Design.GROSS_MASS),
('rhs:GTOW', Mission.Summary.GROSS_MASS),
],
)
Expand All @@ -1333,7 +1333,7 @@ def add_design_variables(self, problem_type: ProblemType = None, verbosity=None)
# target range problem
# fixed vehicle (design GTOW) but variable actual GTOW for off-design
# get the design gross mass and set as the upper bound for the gross mass design variable
MTOW = self.aviary_inputs.get_val(Mission.Design.GROSS_MASS, 'lbm')
MTOW = self.aviary_inputs.get_val(Aircraft.Design.GROSS_MASS, 'lbm')
self.add_design_var(
Mission.Summary.GROSS_MASS,
lower=10.0,
Expand Down Expand Up @@ -1376,7 +1376,7 @@ def add_design_variables(self, problem_type: ProblemType = None, verbosity=None)
gross_mass_resid={'val': 30, 'units': 'kg'},
),
promotes_inputs=[
('design_mass', Mission.Design.GROSS_MASS),
('design_mass', Aircraft.Design.GROSS_MASS),
('actual_mass', Mission.Summary.GROSS_MASS),
],
promotes_outputs=['gross_mass_resid'],
Expand Down Expand Up @@ -1499,9 +1499,7 @@ def _add_subsystem_guesses(self, phase_name, phase, target_prob, parent_prefix):
units=val_dict.get('units', None),
)

def add_fuel_reserve_component(
self, post_mission=True, reserves_name=Mission.Design.RESERVE_FUEL
):
def add_fuel_reserve_component(self, post_mission=True, reserves_name=Mission.RESERVE_FUEL):
if post_mission:
reserve_calc_location = self.post_mission
else:
Expand Down
28 changes: 15 additions & 13 deletions aviary/core/aviary_problem.py
Original file line number Diff line number Diff line change
Expand Up @@ -769,7 +769,7 @@ def set_design_range(self, missions: list[str], range: str):
for name, group in matching_names:
target_range, units = group.post_mission_info['target_range']
design_range.append(convert_units(target_range, units, 'nmi'))
# TODO: loop through all the .csv files and extract Mission.Design.RANGE
# TODO: loop through all the .csv files and extract Aircraft.Design.RANGE
design_range_max = np.max(design_range)
self.set_val(range, val=design_range_max, units='nmi')

Expand Down Expand Up @@ -1380,8 +1380,8 @@ def run_off_design_mission(
# Set up problem for mission, such as equations of motion, configurators, etc.
inputs = deepcopy(self.aviary_inputs)

design_gross_mass = self.get_val(Mission.Design.GROSS_MASS, units='lbm')[0]
inputs.set_val(Mission.Design.GROSS_MASS, design_gross_mass, units='lbm')
design_gross_mass = self.get_val(Aircraft.Design.GROSS_MASS, units='lbm')[0]
inputs.set_val(Aircraft.Design.GROSS_MASS, design_gross_mass, units='lbm')

if problem_type is not None:
inputs.set_val(Settings.PROBLEM_TYPE, problem_type)
Expand Down Expand Up @@ -1463,7 +1463,7 @@ def run_off_design_mission(
# variable bounds.
if mission_gross_mass is None:
mission_gross_mass = off_design_prob.aviary_inputs.get_val(
Mission.Design.GROSS_MASS, 'lbm'
Aircraft.Design.GROSS_MASS, 'lbm'
)
off_design_prob.aviary_inputs.set_val(
Mission.Summary.GROSS_MASS, mission_gross_mass * 0.9, units='lbm'
Expand All @@ -1477,7 +1477,7 @@ def run_off_design_mission(
'Fallout problem type requested with no specified gross mass. Using design '
'takeoff gross mass for the off-design mission.'
)
mission_gross_mass = self.get_val(Mission.Design.GROSS_MASS, units='lbm')[0]
mission_gross_mass = self.get_val(Aircraft.Design.GROSS_MASS, units='lbm')[0]

off_design_prob.aviary_inputs.set_val(
Mission.Summary.GROSS_MASS, mission_gross_mass, units='lbm'
Expand Down Expand Up @@ -1517,7 +1517,7 @@ def run_off_design_mission(
# We don't know enough about the aircraft to make any informed guesses. Use
# arbitrary values
control_var = Aircraft.CrewPayload.MISC_CARGO
val = self.get_val(Mission.Design.GROSS_MASS)
val = self.get_val(Aircraft.Design.GROSS_MASS)
tol = 0.05
inputs.set_val(Aircraft.CrewPayload.CARGO_MASS, 0, 'lbm')
else:
Expand All @@ -1540,8 +1540,10 @@ def run_off_design_mission(
off_design_prob.model.add_design_var(
Mission.Summary.GROSS_MASS,
lower=0,
upper=off_design_prob.aviary_inputs.get_val(Mission.Design.GROSS_MASS, units='lbm'),
ref=off_design_prob.aviary_inputs.get_val(Mission.Design.GROSS_MASS, units='lbm'),
upper=off_design_prob.aviary_inputs.get_val(
Aircraft.Design.GROSS_MASS, units='lbm'
),
ref=off_design_prob.aviary_inputs.get_val(Aircraft.Design.GROSS_MASS, units='lbm'),
)

off_design_prob.add_objective(verbosity=verbosity)
Expand Down Expand Up @@ -1791,7 +1793,7 @@ def save_results(self, json_filename='sizing_results.json'):
type_value = type(value)

# Get the gross mass value from the sizing problem and add it to input list
if name == Mission.Summary.GROSS_MASS or name == Mission.Design.GROSS_MASS:
if name == Mission.Summary.GROSS_MASS or name == Aircraft.Design.GROSS_MASS:
Mission_Summary_GROSS_MASS_val = self.get_val(
Mission.Summary.GROSS_MASS, units=units
)
Expand Down Expand Up @@ -1824,11 +1826,11 @@ def save_results(self, json_filename='sizing_results.json'):
# Append the data to the list
aviary_input_list.append([name, value, units, str(type_value)])

if Mission.Design.GROSS_MASS not in self.model.aviary_inputs:
if Aircraft.Design.GROSS_MASS not in self.model.aviary_inputs:
aviary_input_list.append(
[
Mission.Design.GROSS_MASS,
self.get_val(Mission.Design.GROSS_MASS, 'lbm')[0],
Aircraft.Design.GROSS_MASS,
self.get_val(Aircraft.Design.GROSS_MASS, 'lbm')[0],
'lbm',
str(float),
]
Expand All @@ -1847,7 +1849,7 @@ def save_results(self, json_filename='sizing_results.json'):

def _add_hybrid_objective(self, phase_info):
phases = list(phase_info.keys())
takeoff_mass = self.model.aviary_inputs.get_val(Mission.Design.GROSS_MASS, units='lbm')
takeoff_mass = self.model.aviary_inputs.get_val(Aircraft.Design.GROSS_MASS, units='lbm')

obj_comp = om.ExecComp(
f'obj = -final_mass / {takeoff_mass} + final_time / 5.',
Expand Down
8 changes: 4 additions & 4 deletions aviary/docs/examples/modified_aircraft.csv
Original file line number Diff line number Diff line change
Expand Up @@ -143,10 +143,10 @@ aircraft:wing:var_sweep_mass_penalty,0.0,unitless
aircraft:wing:wetted_area_scaler,1.0,unitless
aircraft:wing:wetted_area,2396.56,ft**2
mission:constraints:max_mach,0.785,unitless
mission:design:cruise_altitude,35000,ft
mission:design:gross_mass,175400.0,lbm
mission:design:range,3500,NM
mission:design:thrust_takeoff_per_eng,28928.1,lbf
aircraft:design:cruise_altitude,35000,ft
aircraft:design:gross_mass,175400.0,lbm
aircraft:design:range,3500,NM
aircraft:design:thrust_takeoff_per_eng,28928.1,lbf
mission:landing:lift_coefficient_max,2.0,unitless
mission:summary:cruise_mach,0.785,unitless
mission:summary:fuel_flow_scaler,1.0,unitless
Expand Down
Loading
Loading