Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
d60ab7e
rename Mission.Constraints.MAX_MACH to Aircraft.design.MAX_MACH
xjjiang Jul 31, 2026
0f1b304
rename Mission.Constraints.MAX_MACH to Aircraft.design.MAX_MACH
xjjiang Jul 31, 2026
4f2f81a
Merge branch 'OpenMDAO:main' into Var_MAX_MACH
xjjiang Jul 31, 2026
039a54c
Replace max_mach by Aircraft.Design.MAX_MACH in GASP based mass subsy…
xjjiang Jul 31, 2026
7287ec8
Merge branch 'main' into Var_MAX_MACH
xjjiang Aug 3, 2026
1ef3870
work in progress: commented out option=True from Aircraft.Design.MAX_…
xjjiang Aug 3, 2026
53816cb
work in progress: testing test_GASP_mass_FLOPS_everything_else()
xjjiang Aug 3, 2026
f94030f
work in progress: replace self.add_input by add_aviary_input for Airc…
xjjiang Aug 3, 2026
4f39387
work in progress: replace self.add_input by add_aviary_input for Airc…
xjjiang Aug 3, 2026
6ab93ea
Merge branch 'Var_MAX_MACH' of github.com:xjjiang/om-Aviary into Var_…
xjjiang Aug 3, 2026
8bc4e5c
fixed an error due to merge
xjjiang Aug 3, 2026
dec5321
add option=True back to Aircraft.Design.MAX_MACH
xjjiang Aug 3, 2026
cf4495a
converted Aircraft.Design.MAX_MACH from option to variable. Can I ass…
xjjiang Aug 4, 2026
43fcb1e
converted Aircraft.Design.MAX_MACH from option to variable in FLOPS b…
xjjiang Aug 4, 2026
69d88db
removed option=True from Aircraft.Design.MAX_MACH meta data
xjjiang Aug 4, 2026
2ba0d16
minor update
xjjiang Aug 4, 2026
b614cb1
added couple of comments
xjjiang Aug 4, 2026
dd24ea6
added warnings when max_mach > 0.9
xjjiang Aug 5, 2026
f93e428
added a note
xjjiang Aug 5, 2026
4225d42
Merge branch 'OpenMDAO:main' into Var_MAX_MACH
xjjiang Aug 6, 2026
7bb71fd
minor update
xjjiang Aug 6, 2026
12e7872
added a note on Aircraft.Design.CRUISE_ALTITUDE historical_name
xjjiang Aug 6, 2026
faccd09
added notes
xjjiang Aug 6, 2026
97978dc
Merge branch 'OpenMDAO:main' into Var_MAX_MACH
xjjiang Aug 7, 2026
01262d6
updates based on comments
xjjiang Aug 11, 2026
dc44ebd
updates based on comments
xjjiang Aug 11, 2026
630cf64
rewrote a note
xjjiang Aug 11, 2026
806bd77
Merge branch 'OpenMDAO:main' into Var_MAX_MACH
xjjiang Aug 11, 2026
4f8431c
Merge branch 'main' into Var_MAX_MACH
xjjiang Aug 18, 2026
953b602
renamed mission:constraints:max_mach to aircraft:design:max_mach
xjjiang Aug 19, 2026
dc0c772
Merge branch 'main' into Var_MAX_MACH
xjjiang Aug 19, 2026
ec1d178
change Aircraft.Fuel.TOTAL_CAPACITY to Aircraft.Fuel.MAX_CAPACITY_MASS
xjjiang Aug 19, 2026
b5d9f4f
change Aircraft.Fuel.TOTAL_CAPACITY to Aircraft.Fuel.MAX_CAPACITY_MASS
xjjiang Aug 19, 2026
7a059db
Merge branch 'OpenMDAO:main' into Var_MAX_MACH
xjjiang Aug 20, 2026
c1c8d68
renamed Mission.Constraints.MAX_MACH to Aircraft.Design.MAX_MACH
xjjiang Aug 20, 2026
0ac642f
set Aircraft.Design.MAX_MACH to that of LargeSingleAisle1FLOPS for Pr…
xjjiang Aug 20, 2026
3821cf2
minor format change
xjjiang Aug 20, 2026
5b022ac
Merge branch 'main' into Var_MAX_MACH
xjjiang Aug 20, 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
2 changes: 1 addition & 1 deletion aviary/docs/examples_unreviewed/modified_aircraft.csv
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ aircraft:crew_and_payload:wing_cargo,0.0,lbm
aircraft:design:base_area,0.0,ft**2
aircraft:design:empty_mass_margin_scaler,0.0,unitless
aircraft:design:lift_dependent_drag_coeff_factor,0.909839381134961,unitless
aircraft:design:max_mach,0.785,unitless
aircraft:design:touchdown_mass_max,152800.0,lbm
mission:reserve_fuel_mass_additional,3000.,lbm
mission:reserve_fuel_margin,0,unitless
Expand Down Expand Up @@ -141,7 +142,6 @@ aircraft:wing:ultimate_load_factor,3.75,unitless
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
aircraft:design:cruise_altitude,35000,ft
aircraft:design:gross_mass,175400.0,lbm
aircraft:design:range,3500,NM
Expand Down
4 changes: 2 additions & 2 deletions aviary/docs/user_guide/fundamentals/aircraft_definition.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"glue_variable(get_variable_name(Aircraft.Fuselage.LENGTH), md_code=True)\n",
"glue_variable(get_variable_name(Aircraft.Wing.AREA), md_code=True)\n",
"\n",
"glue_variable(get_variable_name(Mission.Constraints.MAX_MACH), md_code=True)\n",
"glue_variable(get_variable_name(Aircraft.Design.MAX_MACH), md_code=True)\n",
"glue_variable(get_variable_name(Aircraft.Design.GROSS_MASS), md_code=True)\n",
"glue_variable(get_variable_name(Aircraft.Design.RANGE), md_code=True)\n",
"\n",
Expand Down Expand Up @@ -65,7 +65,7 @@
"```\n",
"...\n",
"```text\n",
"{glue:md}mission:constraints:max_mach, 0.785, unitless\n",
"{glue:md}aircraft:design:max_mach, 0.785, unitless\n",
"{glue:md}aircraft:design:gross_mass, 130000, lbm\n",
"{glue:md}aircraft:design:range, 1906, NM\n",
"```\n",
Expand Down
12 changes: 6 additions & 6 deletions aviary/interface/test/sizing_results_for_test.json
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,12 @@
"lbm",
"<class 'float'>"
],
[
"aircraft:design:max_mach",
0.785,
"unitless",
"<class 'float'>"
],
[
"aircraft:design:subsonic_drag_coeff_factor",
1.0,
Expand Down Expand Up @@ -974,12 +980,6 @@
"ft**2",
"<class 'float'>"
],
[
"mission:constraints:max_mach",
0.785,
"unitless",
"<class 'float'>"
],
[
"aircraft:design:gross_mass",
175399.99999999997,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ aircraft:wing:ultimate_load_factor,3.75,unitless
aircraft:wing:var_sweep_mass_penalty,0,unitless
aircraft:wing:wetted_area,2210.280228,ft**2
aircraft:wing:wetted_area_scaler,1,unitless
mission:constraints:max_mach,0.785,unitless
aircraft:design:max_mach,0.785,unitless
aircraft:design:gross_mass,130000,lbm
aircraft:design:range,3500,NM
mission:landing:airport_altitude,0,ft
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ aircraft:wing:thickness_to_chord_reference,0.0,unitless
aircraft:wing:ultimate_load_factor,3.75,unitless
aircraft:wing:var_sweep_mass_penalty,0.0,unitless
aircraft:wing:wetted_area_scaler,0.61,unitless
mission:constraints:max_mach,0.9,unitless
aircraft:design:max_mach,0.9,unitless
aircraft:design:gross_mass,600000.0,lbm
aircraft:design:range,7500.0,NM
mission:landing:drag_coefficient_min,0.0,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ aircraft:wing:thickness_to_chord_distribution,-1.0,0.15,0.1132,0.0928,0.0822,0.0
aircraft:wing:ultimate_load_factor,3.75,unitless
aircraft:wing:var_sweep_mass_penalty,0.0,unitless
aircraft:wing:wetted_area_scaler,1.0,unitless
mission:constraints:max_mach,0.85,unitless
aircraft:design:max_mach,0.85,unitless
aircraft:design:gross_mass,874099,lbm
aircraft:design:range,7750,NM
mission:landing:initial_velocity,140,ft/s
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ aircraft:wing:thickness_to_chord_reference,0.11,unitless
aircraft:wing:ultimate_load_factor,3.75,unitless
aircraft:wing:var_sweep_mass_penalty,0.0,unitless
aircraft:wing:wetted_area_scaler,1.0,unitless
mission:constraints:max_mach,0.85,unitless
aircraft:design:max_mach,0.85,unitless
aircraft:design:gross_mass,874099,lbm
aircraft:design:range,7750,NM
mission:landing:initial_velocity,140,ft/s
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ aircraft:design:base_area,0.0,ft**2
aircraft:design:cruise_mach,0.785,unitless
aircraft:design:empty_mass_margin_scaler,0.0,unitless
aircraft:design:gross_mass,181200.0,lbm
aircraft:design:max_mach,0.785,unitless
aircraft:design:lift_dependent_drag_coeff_factor,0.909839381134961,unitless
aircraft:design:range,3500.0,NM
aircraft:design:subsonic_drag_coeff_factor,1.0,unitless
Expand Down Expand Up @@ -152,7 +153,6 @@ aircraft:wing:ultimate_load_factor,3.75,unitless
aircraft:wing:var_sweep_mass_penalty,0.0,unitless
aircraft:wing:wetted_area,2396.56,ft**2
aircraft:wing:wetted_area_scaler,1.0,unitless
mission:constraints:max_mach,0.785,unitless
mission:landing:lift_coefficient_max,3.0,unitless
mission:takeoff:fuel_mass,577.0,lbm
mission:takeoff:lift_coefficient_max,2.0,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ aircraft:design:base_area,0.0,ft**2
aircraft:design:cruise_mach,0.785,unitless
aircraft:design:empty_mass_margin_scaler,0.00514,unitless
aircraft:design:gross_mass,174200.0,lbm
aircraft:design:max_mach,0.82,unitless
aircraft:design:landing_to_takeoff_mass_ratio,0.84,unitless
aircraft:design:lift_dependent_drag_coeff_factor,1.0,unitless
aircraft:design:range,2960.0,NM
Expand Down Expand Up @@ -148,7 +149,6 @@ aircraft:wing:ultimate_load_factor,3.75,unitless
aircraft:wing:var_sweep_mass_penalty,0.0,unitless
aircraft:wing:wetted_area,2423.02,ft**2
aircraft:wing:wetted_area_scaler,1.0,unitless
mission:constraints:max_mach,0.82,unitless
mission:landing:lift_coefficient_max,3.0,unitless
mission:takeoff:fuel_mass,659.0,lbm
mission:takeoff:lift_coefficient_max,2.0,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ aircraft:design:base_area,0.0,ft**2
aircraft:design:cruise_mach,0.785,unitless
aircraft:design:empty_mass_margin_scaler,0.00514,unitless
aircraft:design:gross_mass,174200.0,lbm
aircraft:design:max_mach,0.82,unitless
aircraft:design:landing_to_takeoff_mass_ratio,0.84,unitless
aircraft:design:lift_dependent_drag_coeff_factor,1.0,unitless
aircraft:design:range,2960.0,NM
Expand Down Expand Up @@ -146,7 +147,6 @@ aircraft:wing:ultimate_load_factor,3.75,unitless
aircraft:wing:var_sweep_mass_penalty,0.0,unitless
aircraft:wing:wetted_area,2423.02,ft**2
aircraft:wing:wetted_area_scaler,1.0,unitless
mission:constraints:max_mach,0.82,unitless
mission:landing:lift_coefficient_max,3.0,unitless
mission:takeoff:fuel_mass,659.0,lbm
mission:takeoff:lift_coefficient_max,2.0,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ aircraft:design:base_area,0.0,ft**2
aircraft:design:cruise_mach,0.785,unitless
aircraft:design:empty_mass_margin_scaler,0.00514,unitless
aircraft:design:gross_mass,174200.0,lbm
aircraft:design:max_mach,0.82,unitless
aircraft:design:landing_to_takeoff_mass_ratio,0.84,unitless
aircraft:design:lift_dependent_drag_coeff_factor,1.0,unitless
aircraft:design:range,2960.0,NM
Expand Down Expand Up @@ -148,7 +149,6 @@ aircraft:wing:ultimate_load_factor,3.75,unitless
aircraft:wing:var_sweep_mass_penalty,0.0,unitless
aircraft:wing:wetted_area,2423.02,ft**2
aircraft:wing:wetted_area_scaler,1.0,unitless
mission:constraints:max_mach,0.82,unitless
mission:landing:lift_coefficient_max,3.0,unitless
mission:takeoff:fuel_mass,577.0,lbm
mission:takeoff:lift_coefficient_max,2.0,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ aircraft:wing:ultimate_load_factor,3.75,unitless
aircraft:hydraulics:system_pressure,5000,psi

# Design mission
mission:constraints:max_mach,0.785,unitless
aircraft:design:max_mach,0.785,unitless
aircraft:design:gross_mass,130000,lbm
aircraft:design:range,1906,NM
aircraft:design:cruise_mach,0.72,unitless
Expand Down
10 changes: 0 additions & 10 deletions aviary/subsystems/aerodynamics/aerodynamics_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -771,16 +771,6 @@ def report(self, prob, reports_folder, **kwargs):
Aircraft.Fuselage.LAMINAR_FLOW_UPPER,
Aircraft.Fuselage.LENGTH_TO_DIAMETER,
Aircraft.Fuselage.WETTED_AREA,
# Aircraft.HorizontalTail.CHARACTERISTIC_LENGTH,
# Aircraft.HorizontalTail.FINENESS,
# Aircraft.HorizontalTail.LAMINAR_FLOW_LOWER,
# Aircraft.HorizontalTail.LAMINAR_FLOW_UPPER,
# Aircraft.HorizontalTail.WETTED_AREA,
# Aircraft.VerticalTail.CHARACTERISTIC_LENGTH,
# Aircraft.VerticalTail.FINENESS,
# Aircraft.VerticalTail.LAMINAR_FLOW_LOWER,
# Aircraft.VerticalTail.LAMINAR_FLOW_UPPER,
# Aircraft.VerticalTail.WETTED_AREA,
Aircraft.Wing.AREA,
Aircraft.Wing.ASPECT_RATIO,
Aircraft.Wing.CHARACTERISTIC_LENGTH,
Expand Down
9 changes: 4 additions & 5 deletions aviary/subsystems/aerodynamics/flops_based/premission_aero.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@ def __init__(self, **kwargs):

def initialize(self):
add_aviary_option(self, Aircraft.Wing.AIRFOIL_TECHNOLOGY)
add_aviary_option(self, Mission.Constraints.MAX_MACH)

def setup(self):
# Aircraft design inputs
add_aviary_input(self, Aircraft.Wing.ASPECT_RATIO, units='unitless')
add_aviary_input(self, Aircraft.Wing.MAX_CAMBER_AT_70_SEMISPAN, units='unitless')
add_aviary_input(self, Aircraft.Wing.SWEEP, units='deg')
add_aviary_input(self, Aircraft.Wing.THICKNESS_TO_CHORD, units='unitless')
add_aviary_input(self, Aircraft.Design.MAX_MACH, units='unitless')

# Declare outputs
add_aviary_output(self, Aircraft.Design.MACH, units='unitless')
Expand All @@ -45,9 +45,8 @@ def setup_partials(self):

def compute(self, inputs, outputs):
AITEK = self.options[Aircraft.Wing.AIRFOIL_TECHNOLOGY]
VMAX = self.options[Mission.Constraints.MAX_MACH]

AR, CAM, SW25, TC = inputs.values()
AR, CAM, SW25, TC, VMAX = inputs.values()

# design lift coefficient equation is selected based on thickness/chord ratio
if TC.real > 0.065:
Expand Down Expand Up @@ -87,9 +86,8 @@ def compute(self, inputs, outputs):

def compute_partials(self, inputs, partials):
AITEK = self.options[Aircraft.Wing.AIRFOIL_TECHNOLOGY]
VMAX = self.options[Mission.Constraints.MAX_MACH]

AR, CAM, SW25, TC = inputs.values()
AR, CAM, SW25, TC, VMAX = inputs.values()

if TC.real > 0.065: # subsonic
a, b, c, d = self.sub_sonic_coeff
Expand Down Expand Up @@ -203,6 +201,7 @@ def compute_partials(self, inputs, partials):
partials[Aircraft.Design.MACH, Aircraft.Wing.THICKNESS_TO_CHORD] = dDESM_dTC
partials[Aircraft.Design.MACH, Aircraft.Wing.MAX_CAMBER_AT_70_SEMISPAN] = dDESM_dCAM
partials[Aircraft.Design.MACH, Aircraft.Wing.SWEEP] = dDESM_dSW25
partials[Aircraft.Design.MACH, Aircraft.Design.MAX_MACH] = 0.0


AMDES = np.array(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def test_derivs_supersonic1(self):

options = {}
options[Aircraft.Wing.AIRFOIL_TECHNOLOGY] = 1.0
options[Mission.Constraints.MAX_MACH] = 1.2

model.add_subsystem(
'design',
Expand All @@ -28,6 +27,7 @@ def test_derivs_supersonic1(self):
)
prob.setup(force_alloc_complex=True)

prob.set_val(Aircraft.Design.MAX_MACH, val=1.2)
prob.set_val(Aircraft.Wing.ASPECT_RATIO, val=11.05)
prob.set_val(Aircraft.Wing.MAX_CAMBER_AT_70_SEMISPAN, val=1.0)
prob.set_val(Aircraft.Wing.SWEEP, val=2.0191)
Expand All @@ -49,7 +49,6 @@ def test_derivs_subsonic1(self):

options = {}
options[Aircraft.Wing.AIRFOIL_TECHNOLOGY] = 1.0
options[Mission.Constraints.MAX_MACH] = 0.9

model.add_subsystem(
'design',
Expand All @@ -59,6 +58,7 @@ def test_derivs_subsonic1(self):
)
prob.setup(force_alloc_complex=True)

prob.set_val(Aircraft.Design.MAX_MACH, val=0.9)
prob.set_val(Aircraft.Wing.ASPECT_RATIO, val=11.05)
prob.set_val(Aircraft.Wing.MAX_CAMBER_AT_70_SEMISPAN, val=1.0)
prob.set_val(Aircraft.Wing.SWEEP, val=2.191)
Expand All @@ -80,7 +80,6 @@ def test_derivs_supersonic2(self):

options = {}
options[Aircraft.Wing.AIRFOIL_TECHNOLOGY] = 1.0
options[Mission.Constraints.MAX_MACH] = 1.2

model.add_subsystem(
'design',
Expand All @@ -90,6 +89,7 @@ def test_derivs_supersonic2(self):
)
prob.setup(force_alloc_complex=True)

prob.set_val(Aircraft.Design.MAX_MACH, val=1.2)
prob.set_val(Aircraft.Wing.ASPECT_RATIO, val=11.05)
prob.set_val(Aircraft.Wing.MAX_CAMBER_AT_70_SEMISPAN, val=1.0)
prob.set_val(Aircraft.Wing.SWEEP, val=2.191)
Expand All @@ -111,7 +111,6 @@ def test_derivs_subsonic2(self):

options = {}
options[Aircraft.Wing.AIRFOIL_TECHNOLOGY] = 1.0
options[Mission.Constraints.MAX_MACH] = 0.9

model.add_subsystem(
'design',
Expand All @@ -121,6 +120,7 @@ def test_derivs_subsonic2(self):
)
prob.setup(force_alloc_complex=True)

prob.set_val(Aircraft.Design.MAX_MACH, val=0.9)
prob.set_val(Aircraft.Wing.ASPECT_RATIO, val=11.05)
prob.set_val(Aircraft.Wing.MAX_CAMBER_AT_70_SEMISPAN, val=1.0)
prob.set_val(Aircraft.Wing.SWEEP, val=2.191)
Expand Down
7 changes: 0 additions & 7 deletions aviary/subsystems/geometry/flops_based/test/test_prep_geom.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,6 @@ def configure(self):
Aircraft.Fuselage.DIAMETER_TO_WING_SPAN,
Aircraft.Fuselage.FINENESS,
Aircraft.Fuselage.LENGTH_TO_DIAMETER,
# Aircraft.Canard.CHARACTERISTIC_LENGTH,
# Aircraft.Canard.FINENESS,
Aircraft.HorizontalTail.CHARACTERISTIC_LENGTH,
Aircraft.HorizontalTail.FINENESS,
Aircraft.Nacelle.CHARACTERISTIC_LENGTH,
Expand Down Expand Up @@ -157,10 +155,6 @@ def configure(self):
Aircraft.Fuselage.MAX_HEIGHT,
Aircraft.Fuselage.MAX_WIDTH,
Aircraft.Fuselage.WETTED_AREA_SCALER,
# Aircraft.Canard.AREA,
# Aircraft.Canard.ASPECT_RATIO,
# Aircraft.Canard.THICKNESS_TO_CHORD,
# Aircraft.Canard.WETTED_AREA_SCALER,
Aircraft.HorizontalTail.AREA,
Aircraft.HorizontalTail.ASPECT_RATIO,
Aircraft.HorizontalTail.TAPER_RATIO,
Expand All @@ -169,7 +163,6 @@ def configure(self):
Aircraft.HorizontalTail.WETTED_AREA_SCALER,
Aircraft.Nacelle.AVG_DIAMETER,
Aircraft.Nacelle.AVG_LENGTH,
# Aircraft.Nacelle.WETTED_AREA_SCALER,
Aircraft.VerticalTail.AREA,
Aircraft.VerticalTail.ASPECT_RATIO,
Aircraft.VerticalTail.TAPER_RATIO,
Expand Down
12 changes: 8 additions & 4 deletions aviary/subsystems/mass/flops_based/air_conditioning.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from aviary.constants import GRAV_ENGLISH_LBM
from aviary.variable_info.functions import add_aviary_input, add_aviary_option, add_aviary_output
from aviary.variable_info.variables import Aircraft, Mission
from aviary.variable_info.variables import Aircraft


class TransportAirCondMass(om.ExplicitComponent):
Expand All @@ -14,13 +14,13 @@ class TransportAirCondMass(om.ExplicitComponent):

def initialize(self):
add_aviary_option(self, Aircraft.CrewPayload.Design.NUM_PASSENGERS)
add_aviary_option(self, Mission.Constraints.MAX_MACH)

def setup(self):
add_aviary_input(self, Aircraft.AirConditioning.MASS_SCALER, units='unitless')
add_aviary_input(self, Aircraft.Avionics.MASS, units='lbm')
add_aviary_input(self, Aircraft.Fuselage.MAX_HEIGHT, units='ft')
add_aviary_input(self, Aircraft.Fuselage.PLANFORM_AREA, units='ft**2')
add_aviary_input(self, Aircraft.Design.MAX_MACH, units='unitless')

add_aviary_output(self, Aircraft.AirConditioning.MASS, units='lbm')

Expand All @@ -34,7 +34,7 @@ def compute(self, inputs, outputs, discrete_inputs=None, discrete_outputs=None):
avionics_wt = inputs[Aircraft.Avionics.MASS] * GRAV_ENGLISH_LBM
height = inputs[Aircraft.Fuselage.MAX_HEIGHT]
planform = inputs[Aircraft.Fuselage.PLANFORM_AREA]
max_mach = self.options[Mission.Constraints.MAX_MACH]
max_mach = inputs[Aircraft.Design.MAX_MACH]

outputs[Aircraft.AirConditioning.MASS] = (
((3.2 * (planform * height) ** 0.6 + 9 * pax**0.83) * max_mach + 0.075 * avionics_wt)
Expand All @@ -49,7 +49,7 @@ def compute_partials(self, inputs, J):
avionics_wt = inputs[Aircraft.Avionics.MASS] * GRAV_ENGLISH_LBM
height = inputs[Aircraft.Fuselage.MAX_HEIGHT]
planform = inputs[Aircraft.Fuselage.PLANFORM_AREA]
max_mach = self.options[Mission.Constraints.MAX_MACH]
max_mach = inputs[Aircraft.Design.MAX_MACH]

planform_exp = planform**0.6
height_exp = height**0.6
Expand All @@ -69,6 +69,10 @@ def compute_partials(self, inputs, J):
1.92 * planform**-0.4 * height_exp * max_mach * scaler / GRAV_ENGLISH_LBM
)

J[Aircraft.AirConditioning.MASS, Aircraft.Design.MAX_MACH] = (
(3.2 * (planform * height) ** 0.6 + 9 * pax**0.83) * scaler / GRAV_ENGLISH_LBM
)


class AltAirCondMass(om.ExplicitComponent):
"""
Expand Down
Loading
Loading