Skip to content
Open
Show file tree
Hide file tree
Changes from 12 commits
Commits
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/core/aviary_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ def load_inputs(

if phase_info is None:
phase_info = self.configurator.get_default_phase_info(self)
if verbosity is not None and verbosity >= Verbosity.BRIEF:
if verbosity > Verbosity.BRIEF: # VERBOSE, DEBUG
print(
f'Loaded default phase_info for {self.mission_method.value.lower()} equations '
'of motion.'
Expand Down
10 changes: 5 additions & 5 deletions aviary/core/aviary_problem.py
Original file line number Diff line number Diff line change
Expand Up @@ -785,12 +785,12 @@ def add_composite_objective(self, *args, ref: float = None):
Example inputs can be any of the following:
('fuel')
(Mission.FUEL)
(Mission.FUEL, Mission.Summary.CO2)
(Mission.FUEL, Mission.CO2)
('model1', Mission.FUEL)
(Mission.FUEL, 1.0)
(Mission.FUEL, 1.0), (Mission.Summary.CO2, 2.0)
('model1', Mission.FUEL), ('model2', Mission.Summary.CO2)
('model1', Mission.FUEL, 1.0), ('model2', Mission.Summary.CO2, 2.0)
(Mission.FUEL, 1.0), (Mission.CO2, 2.0)
('model1', Mission.FUEL), ('model2', Mission.CO2)
('model1', Mission.FUEL, 1.0), ('model2', Mission.CO2, 2.0)

ref : float, optional
Reference value for the final objective for scaling.
Expand Down Expand Up @@ -866,7 +866,7 @@ def add_composite_objective(self, *args, ref: float = None):
objectives.append((model, output, weight))
# objectives = [
# ('model1', Mission.FUEL, 1),
# ('model2', Mission.Summary.CO2, 1),
# ('model2', Mission.CO2, 1),
# ...
# ]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ aircraft:hydraulics:gear_mass_coefficient,0.135,unitless
aircraft:instruments:mass_coefficient,0.116,unitless
aircraft:landing_gear:fixed_gear,False,unitless
aircraft:landing_gear:main_gear_location,0,unitless
aircraft:landing_gear:main_gear_mass_coefficient,0.85,unitless
aircraft:landing_gear:main_gear_mass_fraction,0.85,unitless
aircraft:landing_gear:mass_coefficient,0.052,unitless
aircraft:landing_gear:tail_hook_mass_scaler,1,unitless
aircraft:landing_gear:total_mass_scaler,1,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@
V3_bug_fixed_options.set_val(Aircraft.Controls.CONTROL_MASS_INCREMENT, val=0, units='lbm')
V3_bug_fixed_options.set_val(Aircraft.LandingGear.MASS_COEFFICIENT, val=0.04, units='unitless')
V3_bug_fixed_options.set_val(
Aircraft.LandingGear.MAIN_GEAR_MASS_COEFFICIENT, val=0.85, units='unitless'
Aircraft.LandingGear.MAIN_GEAR_MASS_FRACTION, val=0.85, units='unitless'
)
V3_bug_fixed_options.set_val(Aircraft.Nacelle.CLEARANCE_RATIO, val=0.2, units='unitless')
V3_bug_fixed_options.set_val(Aircraft.Engine.MASS_SPECIFIC, val=0.21366, units='lbm/lbf')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ aircraft:hydraulics:gear_mass_coefficient,0.14,unitless
aircraft:instruments:mass_coefficient,0.0736,unitless
aircraft:landing_gear:fixed_gear,False,unitless
aircraft:landing_gear:main_gear_location,0.15,unitless
aircraft:landing_gear:main_gear_mass_coefficient,0.85,unitless
aircraft:landing_gear:main_gear_mass_fraction,0.85,unitless
aircraft:landing_gear:mass_coefficient,0.04,unitless
aircraft:landing_gear:tail_hook_mass_scaler,1,unitless
aircraft:landing_gear:total_mass_scaler,1,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ aircraft:horizontal_tail:volume_coefficient, 0.8614, unitless
# Landing Gear
aircraft:landing_gear:fixed_gear, False, unitless
aircraft:landing_gear:main_gear_location, 0, unitless
aircraft:landing_gear:main_gear_mass_coefficient, 0.916, unitless
aircraft:landing_gear:main_gear_mass_fraction, 0.916, unitless
aircraft:landing_gear:mass_coefficient, 0.0337, unitless
aircraft:landing_gear:tail_hook_mass_scaler, 1, unitless
aircraft:landing_gear:total_mass_scaler, 1, unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ aircraft:hydraulics:gear_mass_coefficient,0.14,unitless
aircraft:instruments:mass_coefficient,0.06,unitless
aircraft:landing_gear:fixed_gear,False,unitless
aircraft:landing_gear:main_gear_location,0.199,unitless
aircraft:landing_gear:main_gear_mass_coefficient,0.85,unitless
aircraft:landing_gear:main_gear_mass_fraction,0.85,unitless
aircraft:landing_gear:mass_coefficient,0.036,unitless
aircraft:landing_gear:tail_hook_mass_scaler,1,unitless
aircraft:landing_gear:total_mass_scaler,1,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ aircraft:horizontal_tail:vertical_tail_mount_location,0.0,unitless
aircraft:horizontal_tail:volume_coefficient,1.189,unitless
aircraft:landing_gear:fixed_gear,False,unitless
aircraft:landing_gear:main_gear_location,0.15,unitless
aircraft:landing_gear:main_gear_mass_coefficient,0.85,unitless
aircraft:landing_gear:main_gear_mass_fraction,0.85,unitless
aircraft:landing_gear:mass_coefficient,0.04,unitless
aircraft:landing_gear:tail_hook_mass_scaler,1,unitless
aircraft:landing_gear:total_mass_scaler,1,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ aircraft:hydraulics:gear_mass_coefficient,0.14,unitless
aircraft:instruments:mass_coefficient,0.0736,unitless
aircraft:landing_gear:fixed_gear,False,unitless
aircraft:landing_gear:main_gear_location,0.15,unitless
aircraft:landing_gear:main_gear_mass_coefficient,0.85,unitless
aircraft:landing_gear:main_gear_mass_fraction,0.85,unitless
aircraft:landing_gear:mass_coefficient,0.04,unitless
aircraft:landing_gear:tail_hook_mass_scaler,1,unitless
aircraft:landing_gear:total_mass_scaler,1,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ aircraft:hydraulics:gear_mass_coefficient,0.14,unitless
aircraft:instruments:mass_coefficient,0.0736,unitless
aircraft:landing_gear:fixed_gear,False,unitless
aircraft:landing_gear:main_gear_location,0.15,unitless
aircraft:landing_gear:main_gear_mass_coefficient,0.85,unitless
aircraft:landing_gear:main_gear_mass_fraction,0.85,unitless
aircraft:landing_gear:mass_coefficient,0.04,unitless
aircraft:landing_gear:tail_hook_mass_scaler,1,unitless
aircraft:landing_gear:total_mass_scaler,1,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ aircraft:hydraulics:gear_mass_coefficient,0.105,unitless
aircraft:instruments:mass_coefficient,0.0736,unitless
aircraft:landing_gear:fixed_gear,False,unitless
aircraft:landing_gear:main_gear_location,0,unitless
aircraft:landing_gear:main_gear_mass_coefficient,0.85,unitless
aircraft:landing_gear:main_gear_mass_fraction,0.85,unitless
aircraft:landing_gear:mass_coefficient,0.0339,unitless
aircraft:landing_gear:tail_hook_mass_scaler,1,unitless
aircraft:landing_gear:total_mass_scaler,1,unitless
Expand Down
12 changes: 6 additions & 6 deletions aviary/subsystems/mass/flops_based/fuel_capacity.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import openmdao.api as om
from openmdao.utils.units import convert_units

from aviary.constants import GRAV_ENGLISH_LBM
from aviary.variable_info.functions import add_aviary_input, add_aviary_output
from aviary.variable_info.variables import Aircraft
from openmdao.utils.units import convert_units


class FuelCapacityGroup(om.Group):
Expand Down Expand Up @@ -117,7 +118,7 @@ class WingFuelCapacity(om.ExplicitComponent):
"""Compute the maximum fuel that can be carried in the wing's enclosed space."""

def setup(self):
add_aviary_input(self, Aircraft.Fuel.DENSITY, units='lbm/galUS')
add_aviary_input(self, Aircraft.Fuel.DENSITY, units='lbm/ft**3')
add_aviary_input(self, Aircraft.Fuel.WING_REF_CAPACITY, units='lbm')
add_aviary_input(self, Aircraft.Fuel.WING_REF_CAPACITY_AREA, units='unitless')
add_aviary_input(self, Aircraft.Fuel.WING_REF_CAPACITY_TERM_A, units='unitless')
Expand Down Expand Up @@ -149,7 +150,7 @@ def compute(self, inputs, outputs):
)

else:
fuel_density = convert_units(inputs[Aircraft.Fuel.DENSITY], 'lbm/galUS', 'lbm/ft**3')
fuel_density = inputs[Aircraft.Fuel.DENSITY] * GRAV_ENGLISH_LBM
volume_fraction = inputs[Aircraft.Fuel.WING_FUEL_FRACTION]
span = inputs[Aircraft.Wing.SPAN]
taper_ratio = inputs[Aircraft.Wing.TAPER_RATIO]
Expand Down Expand Up @@ -193,7 +194,7 @@ def compute_partials(self, inputs, partials):
)

else:
fuel_density = convert_units(inputs[Aircraft.Fuel.DENSITY], 'lbm/galUS', 'lbm/ft**3')
fuel_density = inputs[Aircraft.Fuel.DENSITY] * GRAV_ENGLISH_LBM
volume_fraction = inputs[Aircraft.Fuel.WING_FUEL_FRACTION]
span = inputs[Aircraft.Wing.SPAN]
taper_ratio = inputs[Aircraft.Wing.TAPER_RATIO]
Expand All @@ -203,10 +204,9 @@ def compute_partials(self, inputs, partials):
tr_fact = 1.0 - taper_ratio / den**2
dfact = -1.0 / den**2 + 2.0 * taper_ratio / den**3

conversion_factor = convert_units(1.0, 'lbm/galUS', 'lbm/ft**3')
partials[Aircraft.Fuel.WING_FUEL_CAPACITY, Aircraft.Fuel.DENSITY] = (
volume_fraction * (2 / 3) * wing_area**2 * thickness_to_chord * tr_fact / span
) * conversion_factor
)

partials[Aircraft.Fuel.WING_FUEL_CAPACITY, Aircraft.Fuel.WING_FUEL_FRACTION] = (
fuel_density * (2 / 3) * wing_area**2 * thickness_to_chord * tr_fact / span
Expand Down
2 changes: 2 additions & 0 deletions aviary/subsystems/mass/flops_based/mass_premission.py
Original file line number Diff line number Diff line change
Expand Up @@ -325,3 +325,5 @@ def setup(self):
self.add_subsystem(
'mass_summation', MassSummation(), promotes_inputs=['*'], promotes_outputs=['*']
)

self.set_input_defaults(Aircraft.Fuel.DENSITY, val=6.7, units='lbm/galUS')
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the units for this should be 'lbm/ft**3'

1 change: 1 addition & 0 deletions aviary/subsystems/mass/flops_based/mass_summation.py
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,7 @@ def initialize(self):
def setup(self):
alt_mass = self.options[Aircraft.Design.USE_ALT_MASS]

# Empty mass margin is calculated here to avoid feedback loop
self.add_subsystem(
'empty_mass_margin', EmptyMassMargin(), promotes_inputs=['*'], promotes_outputs=['*']
)
Expand Down
8 changes: 2 additions & 6 deletions aviary/subsystems/mass/gasp_based/air_conditioning.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@


class ACMass(om.ExplicitComponent):
"""
Computation of air conditioning mass.
"""
"""Computation of air conditioning mass."""

def setup(self):
add_aviary_input(self, Aircraft.AirConditioning.MASS_COEFFICIENT, units='unitless')
Expand Down Expand Up @@ -97,9 +95,7 @@ def compute_partials(self, inputs, J):


class BWBACMass(om.ExplicitComponent):
"""
Computation of air conditioning mass for BWB
"""
"""Computation of air conditioning mass for BWB."""

def setup(self):
add_aviary_input(self, Aircraft.AirConditioning.MASS_COEFFICIENT, units='unitless')
Expand Down
1 change: 0 additions & 1 deletion aviary/subsystems/mass/gasp_based/anti_icing.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import openmdao.api as om

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

Expand Down
3 changes: 1 addition & 2 deletions aviary/subsystems/mass/gasp_based/apu.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import openmdao.api as om

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

from aviary.constants import GRAV_ENGLISH_LBM


class APUMass(om.ExplicitComponent):
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,13 @@

import openmdao.api as om

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

from aviary.constants import GRAV_ENGLISH_LBM


class CargoMass(om.ExplicitComponent):
"""Calculate the mass of any passengers, their baggage, and other cargo."""
class CargoContainerMass(om.ExplicitComponent):
"""Calculate the mass of cargo containers."""

def initialize(self):
add_aviary_option(self, Aircraft.CrewPayload.Design.NUM_PASSENGERS)
Expand Down
10 changes: 5 additions & 5 deletions aviary/subsystems/mass/gasp_based/crew.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
"""
Define utilities to calculate the estimated mass of the crew (both flight and
non-flight) as well as their baggage.
Define utilities to calculate the estimated mass of the crew (both flight and cabin) as well as
their baggage.
"""

import openmdao.api as om

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


class NonFlightCrewMass(om.ExplicitComponent):
"""Calculate the estimated mass for the non-flight and their baggage."""
class CabinCrewMass(om.ExplicitComponent):
"""Calculate the estimated mass for the cabin crew and their baggage."""

def initialize(self):
add_aviary_option(self, Aircraft.Engine.TYPE)
Expand Down
10 changes: 3 additions & 7 deletions aviary/subsystems/mass/gasp_based/design_load.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import openmdao.api as om

from aviary.constants import RHO_SEA_LEVEL_ENGLISH
from aviary.utils.math import sigmoidX, dSigmoidXdx
from aviary.utils.math import dSigmoidXdx, sigmoidX
from aviary.variable_info.enums import Verbosity
from aviary.variable_info.functions import add_aviary_input, add_aviary_option, add_aviary_output
from aviary.variable_info.variables import Aircraft, Mission, Settings
Expand Down Expand Up @@ -1139,9 +1139,7 @@ def compute_partials(self, inputs, partials):


class DesignLoadGroup(om.Group):
"""
Design load group for GASP-based tube and wing type aircraft mass.
"""
"""Design load group for GASP-based tube and wing type aircraft mass."""

def setup(self):
self.add_subsystem(
Expand Down Expand Up @@ -2200,9 +2198,7 @@ def compute_partials(self, inputs, partials):


class BWBDesignLoadGroup(om.Group):
"""
Design load group for GASP-based BWB type aircraft mass.
"""
"""Design load group for GASP-based BWB type aircraft mass."""

def setup(self):
self.add_subsystem(
Expand Down
3 changes: 1 addition & 2 deletions aviary/subsystems/mass/gasp_based/emergency_equipment.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@

import openmdao.api as om

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

from aviary.constants import GRAV_ENGLISH_LBM


class EmergencyEquipment(om.ExplicitComponent):
"""
Expand Down
5 changes: 2 additions & 3 deletions aviary/subsystems/mass/gasp_based/engine_oil.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import openmdao.api as om

from aviary.constants import GRAV_ENGLISH_LBM
from aviary.variable_info.enums import GASPEngineType, Verbosity
from aviary.variable_info.variables import Aircraft, Settings
from aviary.variable_info.functions import add_aviary_input, add_aviary_option, add_aviary_output

from aviary.constants import GRAV_ENGLISH_LBM
from aviary.variable_info.variables import Aircraft, Settings


class EngineOilMass(om.ExplicitComponent):
Expand Down
Loading
Loading