Skip to content

Commit a9fb750

Browse files
authored
Merge pull request #635 from xjjiang/set_flops_mass_default
Set FLOPS mass default
2 parents d4cc805 + af2c666 commit a9fb750

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+464
-552
lines changed

aviary/subsystems/mass/flops_based/air_conditioning.py

+7-10
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,12 @@ def initialize(self):
1919
add_aviary_option(self, Mission.Constraints.MAX_MACH)
2020

2121
def setup(self):
22-
add_aviary_input(self, Aircraft.AirConditioning.MASS_SCALER, val=1.0)
22+
add_aviary_input(self, Aircraft.AirConditioning.MASS_SCALER)
23+
add_aviary_input(self, Aircraft.Avionics.MASS)
24+
add_aviary_input(self, Aircraft.Fuselage.MAX_HEIGHT)
25+
add_aviary_input(self, Aircraft.Fuselage.PLANFORM_AREA)
2326

24-
add_aviary_input(self, Aircraft.Avionics.MASS, val=0.0)
25-
26-
add_aviary_input(self, Aircraft.Fuselage.MAX_HEIGHT, val=0.0)
27-
28-
add_aviary_input(self, Aircraft.Fuselage.PLANFORM_AREA, val=0.0)
29-
30-
add_aviary_output(self, Aircraft.AirConditioning.MASS, val=0.0)
27+
add_aviary_output(self, Aircraft.AirConditioning.MASS)
3128

3229
def setup_partials(self):
3330
self.declare_partials('*', '*')
@@ -83,9 +80,9 @@ def initialize(self):
8380
add_aviary_option(self, Aircraft.CrewPayload.Design.NUM_PASSENGERS)
8481

8582
def setup(self):
86-
add_aviary_input(self, Aircraft.AirConditioning.MASS_SCALER, val=1.0)
83+
add_aviary_input(self, Aircraft.AirConditioning.MASS_SCALER)
8784

88-
add_aviary_output(self, Aircraft.AirConditioning.MASS, val=0.0)
85+
add_aviary_output(self, Aircraft.AirConditioning.MASS)
8986

9087
def setup_partials(self):
9188
self.declare_partials(of=Aircraft.AirConditioning.MASS, wrt='*')

aviary/subsystems/mass/flops_based/anti_icing.py

+6-11
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,13 @@ def initialize(self):
2323
def setup(self):
2424
num_engine_type = len(self.options[Aircraft.Engine.NUM_ENGINES])
2525

26-
add_aviary_input(self, Aircraft.AntiIcing.MASS_SCALER, val=1.0)
26+
add_aviary_input(self, Aircraft.AntiIcing.MASS_SCALER)
27+
add_aviary_input(self, Aircraft.Fuselage.MAX_WIDTH)
28+
add_aviary_input(self, Aircraft.Nacelle.AVG_DIAMETER, shape=num_engine_type)
29+
add_aviary_input(self, Aircraft.Wing.SPAN)
30+
add_aviary_input(self, Aircraft.Wing.SWEEP)
2731

28-
add_aviary_input(self, Aircraft.Fuselage.MAX_WIDTH, val=0.0)
29-
30-
add_aviary_input(self, Aircraft.Nacelle.AVG_DIAMETER,
31-
val=np.zeros(num_engine_type))
32-
33-
add_aviary_input(self, Aircraft.Wing.SPAN, val=0.0)
34-
35-
add_aviary_input(self, Aircraft.Wing.SWEEP, val=0.0)
36-
37-
add_aviary_output(self, Aircraft.AntiIcing.MASS, val=0.0)
32+
add_aviary_output(self, Aircraft.AntiIcing.MASS)
3833

3934
def setup_partials(self):
4035
self.declare_partials("*", "*")

aviary/subsystems/mass/flops_based/apu.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@ def initialize(self):
1515
add_aviary_option(self, Aircraft.CrewPayload.Design.NUM_PASSENGERS)
1616

1717
def setup(self):
18-
add_aviary_input(self, Aircraft.APU.MASS_SCALER, val=1.0)
18+
add_aviary_input(self, Aircraft.APU.MASS_SCALER)
19+
add_aviary_input(self, Aircraft.Fuselage.PLANFORM_AREA)
1920

20-
add_aviary_input(self, Aircraft.Fuselage.PLANFORM_AREA, val=0.0)
21-
22-
add_aviary_output(self, Aircraft.APU.MASS, val=0.0)
21+
add_aviary_output(self, Aircraft.APU.MASS)
2322

2423
def setup_partials(self):
2524
self.declare_partials('*', '*')

aviary/subsystems/mass/flops_based/avionics.py

+4-6
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,11 @@ def initialize(self):
1616
add_aviary_option(self, Aircraft.CrewPayload.NUM_FLIGHT_CREW)
1717

1818
def setup(self):
19-
add_aviary_input(self, Aircraft.Avionics.MASS_SCALER, val=1.0)
19+
add_aviary_input(self, Aircraft.Avionics.MASS_SCALER)
20+
add_aviary_input(self, Aircraft.Fuselage.PLANFORM_AREA)
21+
add_aviary_input(self, Mission.Design.RANGE)
2022

21-
add_aviary_input(self, Aircraft.Fuselage.PLANFORM_AREA, val=0.0)
22-
23-
add_aviary_input(self, Mission.Design.RANGE, val=0.0)
24-
25-
add_aviary_output(self, Aircraft.Avionics.MASS, val=0.0)
23+
add_aviary_output(self, Aircraft.Avionics.MASS)
2624

2725
def setup_partials(self):
2826
self.declare_partials('*', '*')

aviary/subsystems/mass/flops_based/canard.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ class CanardMass(om.ExplicitComponent):
1212
'''
1313

1414
def setup(self):
15-
add_aviary_input(self, Mission.Design.GROSS_MASS, val=0.0)
16-
add_aviary_input(self, Aircraft.Canard.AREA, val=0.0)
17-
add_aviary_input(self, Aircraft.Canard.TAPER_RATIO, val=00)
18-
add_aviary_input(self, Aircraft.Canard.MASS_SCALER, val=1.0)
15+
add_aviary_input(self, Mission.Design.GROSS_MASS)
16+
add_aviary_input(self, Aircraft.Canard.AREA)
17+
add_aviary_input(self, Aircraft.Canard.TAPER_RATIO)
18+
add_aviary_input(self, Aircraft.Canard.MASS_SCALER)
1919

20-
add_aviary_output(self, Aircraft.Canard.MASS, val=0.0)
20+
add_aviary_output(self, Aircraft.Canard.MASS)
2121

2222
def setup_partials(self):
2323
self.declare_partials("*", "*")

aviary/subsystems/mass/flops_based/cargo.py

+7-9
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,13 @@ def initialize(self):
2222
add_aviary_option(self, Aircraft.CrewPayload.NUM_PASSENGERS)
2323

2424
def setup(self):
25-
add_aviary_output(self, Aircraft.CrewPayload.PASSENGER_MASS, 0.)
26-
add_aviary_output(self, Aircraft.CrewPayload.BAGGAGE_MASS, 0.)
27-
add_aviary_output(self, Aircraft.CrewPayload.PASSENGER_PAYLOAD_MASS, 0.)
28-
29-
add_aviary_input(self, Aircraft.CrewPayload.WING_CARGO, 0.)
30-
add_aviary_input(self, Aircraft.CrewPayload.MISC_CARGO, 0.)
31-
32-
add_aviary_output(self, Aircraft.CrewPayload.CARGO_MASS, 0.)
33-
add_aviary_output(self, Aircraft.CrewPayload.TOTAL_PAYLOAD_MASS, 0.)
25+
add_aviary_input(self, Aircraft.CrewPayload.WING_CARGO)
26+
add_aviary_input(self, Aircraft.CrewPayload.MISC_CARGO)
27+
add_aviary_output(self, Aircraft.CrewPayload.PASSENGER_MASS)
28+
add_aviary_output(self, Aircraft.CrewPayload.BAGGAGE_MASS)
29+
add_aviary_output(self, Aircraft.CrewPayload.PASSENGER_PAYLOAD_MASS)
30+
add_aviary_output(self, Aircraft.CrewPayload.CARGO_MASS)
31+
add_aviary_output(self, Aircraft.CrewPayload.TOTAL_PAYLOAD_MASS)
3432

3533
def setup_partials(self):
3634

aviary/subsystems/mass/flops_based/cargo_containers.py

+4-7
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,11 @@ class TransportCargoContainersMass(om.ExplicitComponent):
1414
'''
1515

1616
def setup(self):
17-
add_aviary_input(
18-
self, Aircraft.CrewPayload.CARGO_CONTAINER_MASS_SCALER, val=1.0)
17+
add_aviary_input(self, Aircraft.CrewPayload.CARGO_CONTAINER_MASS_SCALER)
18+
add_aviary_input(self, Aircraft.CrewPayload.CARGO_MASS)
19+
add_aviary_input(self, Aircraft.CrewPayload.BAGGAGE_MASS)
1920

20-
add_aviary_input(self, Aircraft.CrewPayload.CARGO_MASS, val=0.0)
21-
22-
add_aviary_input(self, Aircraft.CrewPayload.BAGGAGE_MASS, val=0.0)
23-
24-
add_aviary_output(self, Aircraft.CrewPayload.CARGO_CONTAINER_MASS, val=0.0)
21+
add_aviary_output(self, Aircraft.CrewPayload.CARGO_CONTAINER_MASS)
2522

2623
def setup_partials(self):
2724
self.declare_partials('*', '*')

aviary/subsystems/mass/flops_based/crew.py

+4-6
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,9 @@ def initialize(self):
1818
add_aviary_option(self, Aircraft.CrewPayload.NUM_GALLEY_CREW)
1919

2020
def setup(self):
21-
add_aviary_input(
22-
self, Aircraft.CrewPayload.NON_FLIGHT_CREW_MASS_SCALER, 1.)
21+
add_aviary_input(self, Aircraft.CrewPayload.NON_FLIGHT_CREW_MASS_SCALER)
2322

24-
add_aviary_output(self, Aircraft.CrewPayload.NON_FLIGHT_CREW_MASS, 0)
23+
add_aviary_output(self, Aircraft.CrewPayload.NON_FLIGHT_CREW_MASS)
2524

2625
def setup_partials(self):
2726
self.declare_partials(
@@ -75,10 +74,9 @@ def initialize(self):
7574
add_aviary_option(self, Aircraft.LandingGear.CARRIER_BASED)
7675

7776
def setup(self):
78-
add_aviary_input(
79-
self, Aircraft.CrewPayload.FLIGHT_CREW_MASS_SCALER, 1.)
77+
add_aviary_input(self, Aircraft.CrewPayload.FLIGHT_CREW_MASS_SCALER)
8078

81-
add_aviary_output(self, Aircraft.CrewPayload.FLIGHT_CREW_MASS, 0.)
79+
add_aviary_output(self, Aircraft.CrewPayload.FLIGHT_CREW_MASS)
8280

8381
def setup_partials(self):
8482
self.declare_partials(

aviary/subsystems/mass/flops_based/electrical.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ def initialize(self):
2020
add_aviary_option(self, Aircraft.Propulsion.TOTAL_NUM_ENGINES)
2121

2222
def setup(self):
23-
add_aviary_input(self, Aircraft.Fuselage.LENGTH, 0.0)
24-
add_aviary_input(self, Aircraft.Fuselage.MAX_WIDTH, 0.0)
25-
add_aviary_input(self, Aircraft.Electrical.MASS_SCALER, 1.0)
23+
add_aviary_input(self, Aircraft.Fuselage.LENGTH)
24+
add_aviary_input(self, Aircraft.Fuselage.MAX_WIDTH)
25+
add_aviary_input(self, Aircraft.Electrical.MASS_SCALER)
2626

27-
add_aviary_output(self, Aircraft.Electrical.MASS, 1.0)
27+
add_aviary_output(self, Aircraft.Electrical.MASS)
2828

2929
def setup_partials(self):
3030
self.declare_partials(of='*', wrt='*')
@@ -81,9 +81,9 @@ def initialize(self):
8181
add_aviary_option(self, Aircraft.CrewPayload.Design.NUM_PASSENGERS)
8282

8383
def setup(self):
84-
add_aviary_input(self, Aircraft.Electrical.MASS_SCALER, 1.0)
84+
add_aviary_input(self, Aircraft.Electrical.MASS_SCALER)
8585

86-
add_aviary_output(self, Aircraft.Electrical.MASS, 1.0)
86+
add_aviary_output(self, Aircraft.Electrical.MASS)
8787

8888
def setup_partials(self):
8989
self.declare_partials(of='*', wrt='*')

aviary/subsystems/mass/flops_based/empty_margin.py

+5-8
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,12 @@ class EmptyMassMargin(om.ExplicitComponent):
1010
"""
1111

1212
def setup(self):
13-
add_aviary_input(self, Aircraft.Propulsion.MASS, val=0.)
13+
add_aviary_input(self, Aircraft.Propulsion.MASS)
14+
add_aviary_input(self, Aircraft.Design.STRUCTURE_MASS)
15+
add_aviary_input(self, Aircraft.Design.SYSTEMS_EQUIP_MASS)
16+
add_aviary_input(self, Aircraft.Design.EMPTY_MASS_MARGIN_SCALER)
1417

15-
add_aviary_input(self, Aircraft.Design.STRUCTURE_MASS, val=0.)
16-
17-
add_aviary_input(self, Aircraft.Design.SYSTEMS_EQUIP_MASS, val=0.)
18-
19-
add_aviary_input(self, Aircraft.Design.EMPTY_MASS_MARGIN_SCALER, val=0.0)
20-
21-
add_aviary_output(self, Aircraft.Design.EMPTY_MASS_MARGIN, val=0.0)
18+
add_aviary_output(self, Aircraft.Design.EMPTY_MASS_MARGIN)
2219

2320
def setup_partials(self):
2421
self.declare_partials('*', '*')

aviary/subsystems/mass/flops_based/engine.py

+5-9
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,12 @@ def initialize(self):
2424
def setup(self):
2525
num_engine_type = len(self.options[Aircraft.Engine.NUM_ENGINES])
2626

27-
add_aviary_input(self, Aircraft.Engine.SCALED_SLS_THRUST,
28-
val=np.zeros(num_engine_type))
27+
add_aviary_input(self, Aircraft.Engine.SCALED_SLS_THRUST, shape=num_engine_type)
28+
add_aviary_input(self, Aircraft.Engine.MASS_SCALER, shape=num_engine_type)
2929

30-
add_aviary_input(self, Aircraft.Engine.MASS_SCALER,
31-
val=np.zeros(num_engine_type))
32-
33-
add_aviary_output(self, Aircraft.Engine.MASS, val=np.zeros(num_engine_type))
34-
add_aviary_output(self, Aircraft.Engine.ADDITIONAL_MASS,
35-
val=np.zeros(num_engine_type))
36-
add_aviary_output(self, Aircraft.Propulsion.TOTAL_ENGINE_MASS, val=0.0)
30+
add_aviary_output(self, Aircraft.Engine.MASS, shape=num_engine_type)
31+
add_aviary_output(self, Aircraft.Engine.ADDITIONAL_MASS, shape=num_engine_type)
32+
add_aviary_output(self, Aircraft.Propulsion.TOTAL_ENGINE_MASS)
3733

3834
def compute(self, inputs, outputs):
3935
options = self.options

aviary/subsystems/mass/flops_based/engine_controls.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,9 @@ def initialize(self):
2727
add_aviary_option(self, Aircraft.Propulsion.TOTAL_NUM_ENGINES)
2828

2929
def setup(self):
30-
add_aviary_input(
31-
self, Aircraft.Propulsion.TOTAL_SCALED_SLS_THRUST, val=0.0, units='lbf')
30+
add_aviary_input(self, Aircraft.Propulsion.TOTAL_SCALED_SLS_THRUST)
3231

33-
add_aviary_output(
34-
self, Aircraft.Propulsion.TOTAL_ENGINE_CONTROLS_MASS, val=0.0, units='lbm')
32+
add_aviary_output(self, Aircraft.Propulsion.TOTAL_ENGINE_CONTROLS_MASS)
3533

3634
def setup_partials(self):
3735
self.declare_partials(Aircraft.Propulsion.TOTAL_ENGINE_CONTROLS_MASS,

aviary/subsystems/mass/flops_based/engine_oil.py

+5-6
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@ def initialize(self):
2424
add_aviary_option(self, Aircraft.Propulsion.TOTAL_NUM_ENGINES)
2525

2626
def setup(self):
27-
add_aviary_input(self, Aircraft.Propulsion.ENGINE_OIL_MASS_SCALER, val=1.0)
27+
add_aviary_input(self, Aircraft.Propulsion.ENGINE_OIL_MASS_SCALER)
28+
add_aviary_input(self, Aircraft.Propulsion.TOTAL_SCALED_SLS_THRUST)
2829

29-
add_aviary_input(self, Aircraft.Propulsion.TOTAL_SCALED_SLS_THRUST, val=0.0)
30-
31-
add_aviary_output(self, Aircraft.Propulsion.TOTAL_ENGINE_OIL_MASS, val=0.0)
30+
add_aviary_output(self, Aircraft.Propulsion.TOTAL_ENGINE_OIL_MASS)
3231

3332
def setup_partials(self):
3433
self.declare_partials('*', '*')
@@ -70,9 +69,9 @@ def initialize(self):
7069
add_aviary_option(self, Aircraft.CrewPayload.Design.NUM_PASSENGERS)
7170

7271
def setup(self):
73-
add_aviary_input(self, Aircraft.Propulsion.ENGINE_OIL_MASS_SCALER, val=1.0)
72+
add_aviary_input(self, Aircraft.Propulsion.ENGINE_OIL_MASS_SCALER)
7473

75-
add_aviary_output(self, Aircraft.Propulsion.TOTAL_ENGINE_OIL_MASS, val=0.0)
74+
add_aviary_output(self, Aircraft.Propulsion.TOTAL_ENGINE_OIL_MASS)
7675

7776
def setup_partials(self):
7877
self.declare_partials('*', '*')

aviary/subsystems/mass/flops_based/engine_pod.py

+12-13
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,20 @@ def initialize(self):
2222
def setup(self):
2323
num_engine_type = len(self.options[Aircraft.Engine.NUM_ENGINES])
2424

25-
add_aviary_input(self, Aircraft.Electrical.MASS, val=0.0)
26-
add_aviary_input(self, Aircraft.Fuel.FUEL_SYSTEM_MASS, val=0.0)
27-
add_aviary_input(self, Aircraft.Hydraulics.MASS, val=0.0)
28-
add_aviary_input(self, Aircraft.Instruments.MASS, val=0.0)
29-
add_aviary_input(self, Aircraft.Nacelle.MASS, val=np.zeros(num_engine_type))
30-
add_aviary_input(self, Aircraft.Propulsion.TOTAL_ENGINE_CONTROLS_MASS, val=0.0)
31-
add_aviary_input(self, Aircraft.Engine.MASS, val=np.zeros(num_engine_type))
32-
add_aviary_input(self, Aircraft.Propulsion.TOTAL_STARTER_MASS, val=0.0)
25+
add_aviary_input(self, Aircraft.Electrical.MASS)
26+
add_aviary_input(self, Aircraft.Fuel.FUEL_SYSTEM_MASS)
27+
add_aviary_input(self, Aircraft.Hydraulics.MASS)
28+
add_aviary_input(self, Aircraft.Instruments.MASS)
29+
add_aviary_input(self, Aircraft.Nacelle.MASS, shape=num_engine_type)
30+
add_aviary_input(self, Aircraft.Propulsion.TOTAL_ENGINE_CONTROLS_MASS)
31+
add_aviary_input(self, Aircraft.Engine.MASS, shape=num_engine_type)
32+
add_aviary_input(self, Aircraft.Propulsion.TOTAL_STARTER_MASS)
3333
add_aviary_input(self, Aircraft.Engine.THRUST_REVERSERS_MASS,
34-
val=np.zeros(num_engine_type))
35-
add_aviary_input(self, Aircraft.Engine.SCALED_SLS_THRUST,
36-
val=np.zeros(num_engine_type))
37-
add_aviary_input(self, Aircraft.Propulsion.TOTAL_SCALED_SLS_THRUST, val=0.0)
34+
shape=num_engine_type)
35+
add_aviary_input(self, Aircraft.Engine.SCALED_SLS_THRUST, shape=num_engine_type)
36+
add_aviary_input(self, Aircraft.Propulsion.TOTAL_SCALED_SLS_THRUST)
3837

39-
add_aviary_output(self, Aircraft.Engine.POD_MASS, val=np.zeros(num_engine_type))
38+
add_aviary_output(self, Aircraft.Engine.POD_MASS, shape=num_engine_type)
4039

4140
def setup_partials(self):
4241
self.declare_partials('*', '*')

aviary/subsystems/mass/flops_based/fin.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ def initialize(self):
1515
add_aviary_option(self, Aircraft.Fins.NUM_FINS)
1616

1717
def setup(self):
18-
add_aviary_input(self, Mission.Design.GROSS_MASS, val=0.0)
19-
add_aviary_input(self, Aircraft.Fins.AREA, val=0.0)
20-
add_aviary_input(self, Aircraft.Fins.TAPER_RATIO, val=0.0)
21-
add_aviary_input(self, Aircraft.Fins.MASS_SCALER, val=1.0)
18+
add_aviary_input(self, Mission.Design.GROSS_MASS)
19+
add_aviary_input(self, Aircraft.Fins.AREA)
20+
add_aviary_input(self, Aircraft.Fins.TAPER_RATIO)
21+
add_aviary_input(self, Aircraft.Fins.MASS_SCALER)
2222

23-
add_aviary_output(self, Aircraft.Fins.MASS, val=0.0)
23+
add_aviary_output(self, Aircraft.Fins.MASS)
2424

2525
def setup_partials(self):
2626
self.declare_partials("*", "*")

0 commit comments

Comments
 (0)