Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
fe00a20
Merge branch 'OpenMDAO:main' into main
xjjiang Sep 9, 2025
69adca7
Merge branch 'OpenMDAO:main' into main
xjjiang Sep 11, 2025
a6da6cd
Merge branch 'OpenMDAO:main' into main
xjjiang Sep 12, 2025
4b96402
Merge branch 'OpenMDAO:main' into main
xjjiang Sep 12, 2025
5d6b0b9
Merge branch 'main' of github.com:xjjiang/om-Aviary
xjjiang Sep 20, 2025
8b7f649
Merge branch 'main' of github.com:xjjiang/om-Aviary
xjjiang Sep 23, 2025
35c7ef3
work in progress
xjjiang Sep 23, 2025
860fe7e
rename aircraft:wing:chord_per_semispan to aircraft:wing:chord_per_se…
xjjiang Sep 26, 2025
ad476b5
stecify design_type in if-else blocks
xjjiang Sep 26, 2025
f7cf14e
work in progress: BWB FLOPS based mass and detailed wing work
xjjiang Sep 27, 2025
abf95f8
Merge branch 'main' of github.com:xjjiang/om-Aviary
xjjiang Sep 27, 2025
20fe46c
Merge branch 'main' into BWB_FLOPS_mass
xjjiang Sep 27, 2025
de7602f
Merge branch 'OpenMDAO:main' into BWB_FLOPS_mass
xjjiang Sep 29, 2025
5162ab0
worked on BWB detailed wing unit tests
xjjiang Sep 29, 2025
18ef9e4
Merge branch 'BWB_FLOPS_mass' of github.com:xjjiang/om-Aviary into BW…
xjjiang Sep 29, 2025
0f0bb3a
fix a small typo
xjjiang Sep 29, 2025
4468168
add Aircraft.Wing.BWB_AFTBODY_MASS to BWBAftBodyMass
xjjiang Oct 4, 2025
fc49809
add BWBWingMiscMass class and exclude BWB case in WingMiscMass class
xjjiang Oct 4, 2025
f5e104a
update BWBDetailedWingBendingFact class with a new output variable 'c…
xjjiang Oct 4, 2025
d689c60
add BWBWingMiscMass class and exclude BWB case in WingMiscMass class
xjjiang Oct 4, 2025
b370154
add a note that WEC in FLOPS in not exactly the same as total_control…
xjjiang Oct 4, 2025
716954a
add BWBTransportAvionicsMassTest
xjjiang Oct 4, 2025
1da61be
add BWBCargoMassTest
xjjiang Oct 4, 2025
4ba89a9
minor update
xjjiang Oct 4, 2025
9225759
add BWBWingMiscMassTest, BWBShearControlMassTest, and BWBShearControl…
xjjiang Oct 4, 2025
35b001c
minor update
xjjiang Oct 4, 2025
57c0f91
add BWBSurfaceCtrlMassTest
xjjiang Oct 4, 2025
464f15a
add Aircraft.Wing.BWB_AFTBODY_MASS to BWBAftBodyMass
xjjiang Oct 4, 2025
f0a7804
add BWBTransportEngineCtrlsTest
xjjiang Oct 4, 2025
d24be85
add BWBCargoContainersMassTest
xjjiang Oct 4, 2025
4a80991
remove BWBFuelCapacityGroupTest
xjjiang Oct 5, 2025
f0640a8
Merge branch 'OpenMDAO:main' into BWB_FLOPS_mass
xjjiang Oct 6, 2025
97d2270
set 'WTIN.NPF' for FLOPS for Aircraft.CrewPayload.Design.NUM_FIRST_CL…
xjjiang Oct 7, 2025
b6720f0
add BWB1aFLOPS to FLOPS_Test_Data.py
xjjiang Oct 7, 2025
4bbdd0f
work in progress: adding BWBPropulsionPreMissionTest
xjjiang Oct 7, 2025
a59c7c6
add use_tempdirs
xjjiang Oct 7, 2025
f2daa12
add BWBTransportAirCondMassTest
xjjiang Oct 7, 2025
2874474
don't run BWB test yet.
xjjiang Oct 7, 2025
ca3bf5b
Merge branch 'OpenMDAO:main' into BWB_FLOPS_mass
xjjiang Oct 7, 2025
32ccf61
Merge branch 'OpenMDAO:main' into BWB_FLOPS_mass
xjjiang Oct 7, 2025
f94cad1
adding bwb_1a_FLOPS_data.py
xjjiang Oct 8, 2025
06af0a2
add BWBTransportAirCondMassTest
xjjiang Oct 8, 2025
bbdfd1a
minor update
xjjiang Oct 8, 2025
47f2904
copy Ken's fix
xjjiang Oct 8, 2025
492ebcd
update engine file
xjjiang Oct 8, 2025
beba8b6
work in progress
xjjiang Oct 9, 2025
ba87052
minor update
xjjiang Oct 9, 2025
5f2d80a
add BWBEngineMassTest
xjjiang Oct 9, 2025
ce89c17
add new test: test_wing_group.py
xjjiang Oct 9, 2025
e091bba
add engine file for FLOPS based BWB
xjjiang Oct 9, 2025
b644ebe
minor update to bwb_1a_FLOPS_data.py
xjjiang Oct 9, 2025
98efcaf
omit 'BWB1aFLOPS'
xjjiang Oct 9, 2025
395a319
work in progress on engine_pod
xjjiang Oct 9, 2025
8a42160
omit BWB1aFLOPS in unit tests
xjjiang Oct 9, 2025
5bf6216
minor update
xjjiang Oct 9, 2025
da4f63d
minor update
xjjiang Oct 9, 2025
170e79d
BWBTransportFuelSystemTest is not ready yet
xjjiang Oct 9, 2025
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/modified_aircraft.csv
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ aircraft:wing:airfoil_technology,1.92669766647637,unitless
aircraft:wing:area,1370.0,ft**2
aircraft:wing:aspect_ratio,11.02091,unitless
aircraft:wing:bending_material_mass_scaler,1.0,unitless
aircraft:wing:chord_per_semispan,0.31,0.23,0.084,unitless
aircraft:wing:chord_per_semispan_dist,0.31,0.23,0.084,unitless
aircraft:wing:composite_fraction,0.2,unitless
aircraft:wing:control_surface_area,137,ft**2
aircraft:wing:control_surface_area_ratio,0.1,unitless
Expand Down
2 changes: 1 addition & 1 deletion aviary/interface/test/sizing_problem_for_test.json
Original file line number Diff line number Diff line change
Expand Up @@ -1050,7 +1050,7 @@
"<class 'int'>"
],
[
"aircraft:wing:chord_per_semispan",
"aircraft:wing:chord_per_semispan_dist",
[
0.31,
0.23,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ aircraft:wing:aspect_ratio,11.5587605382765,unitless
aircraft:wing:aspect_ratio_reference,11.5587605382765,unitless
aircraft:wing:bending_material_mass_scaler,1,unitless
aircraft:wing:bwb_aft_body_mass_scaler,1,unitless
aircraft:wing:chord_per_semispan,0.273522534166506,0.204274849507037,0.0888152947868224,0.0725353313595661,unitless
aircraft:wing:chord_per_semispan_dist,0.273522534166506,0.204274849507037,0.0888152947868224,0.0725353313595661,unitless
aircraft:wing:composite_fraction,0.33333,unitless
aircraft:wing:control_surface_area_ratio,0.333,unitless
aircraft:wing:dihedral,6,deg
Expand Down
569 changes: 569 additions & 0 deletions aviary/models/aircraft/blended_wing_body/bwb_1a_FLOPS_data.py

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ aircraft:wing:airfoil_technology,1.92669766647637,unitless
aircraft:wing:area,1370.0,ft**2
aircraft:wing:aspect_ratio,11.22091,unitless
aircraft:wing:bending_material_mass_scaler,1.0,unitless
aircraft:wing:chord_per_semispan,0.31,0.23,0.084,unitless
aircraft:wing:chord_per_semispan_dist,0.31,0.23,0.084,unitless
aircraft:wing:composite_fraction,0.2,unitless
aircraft:wing:control_surface_area,137,ft**2
aircraft:wing:control_surface_area_ratio,0.1,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ aircraft:wing:airfoil_technology,1.92669766647637,unitless
aircraft:wing:area,1370.0,ft**2
aircraft:wing:aspect_ratio,11.22091,unitless
aircraft:wing:bending_material_mass_scaler,1.0,unitless
aircraft:wing:chord_per_semispan,0.31,0.23,0.084,unitless
aircraft:wing:chord_per_semispan_dist,0.31,0.23,0.084,unitless
aircraft:wing:composite_fraction,0.2,unitless
aircraft:wing:control_surface_area,137,ft**2
aircraft:wing:control_surface_area_ratio,0.1,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ aircraft:vertical_tail:num_tails,1,unitless
aircraft:wing:aeroelastic_tailoring_factor,0.0,unitless
aircraft:wing:airfoil_technology,1.92669766647637,unitless
aircraft:wing:bending_material_mass_scaler,1.0,unitless
aircraft:wing:chord_per_semispan,0.31,0.23,0.084,unitless
aircraft:wing:chord_per_semispan_dist,0.31,0.23,0.084,unitless
aircraft:wing:composite_fraction,0.2,unitless
aircraft:wing:control_surface_area,137,ft**2
aircraft:wing:control_surface_area_ratio,0.1,unitless
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ aircraft:wing:airfoil_technology,1.92669766647637,unitless
aircraft:wing:area,1370.0,ft**2
aircraft:wing:aspect_ratio,11.22091,unitless
aircraft:wing:bending_material_mass_scaler,1.0,unitless
aircraft:wing:chord_per_semispan,0.31,0.23,0.084,unitless
aircraft:wing:chord_per_semispan_dist,0.31,0.23,0.084,unitless
aircraft:wing:composite_fraction,0.2,unitless
aircraft:wing:control_surface_area,137,ft**2
aircraft:wing:control_surface_area_ratio,0.1,unitless
Expand Down
654 changes: 654 additions & 0 deletions aviary/models/engines/PAX300_baseline_ENGDEK.csv

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ aircraft:wing:airfoil_technology,1.01,unitless #check
aircraft:wing:area,1480,ft**2
aircraft:wing:aspect_ratio_reference,0.01,unitless #check
aircraft:wing:bending_material_mass_scaler,1.01,unitless #check
aircraft:wing:chord_per_semispan,0.13,0.115,0.06,unitless
aircraft:wing:chord_per_semispan_dist,0.13,0.115,0.06,unitless
aircraft:wing:composite_fraction,0.01,unitless #check
aircraft:wing:dihedral,-1.0,deg
aircraft:wing:control_surface_area_ratio,0.2234,unitless
Expand Down
10 changes: 5 additions & 5 deletions aviary/subsystems/aerodynamics/gasp_based/gaspaero.py
Original file line number Diff line number Diff line change
Expand Up @@ -697,7 +697,7 @@ def compute(self, inputs, outputs):
ufac = (1 + lift_ratio) ** 2 / (
sigstr * (lift_ratio / bbar) ** 2 + 2 * sigma * lift_ratio / bbar + 1
)
else:
elif design_type is AircraftTypes.BLENDED_WING_BODY:
# Modify for tailless "BWB"
if bbar < 0.01 * wingspan:
bbar = 1.0
Expand Down Expand Up @@ -2515,7 +2515,7 @@ def setup(self):
),
promotes=['*'],
)
else:
elif design_type is AircraftTypes.TRANSPORT:
self.add_subsystem(
'aero_setup',
AeroSetup(
Expand All @@ -2538,7 +2538,7 @@ def setup(self):
BWBLiftCoeffClean(output_alpha=self.options['output_alpha'], num_nodes=nn),
promotes=['*'],
)
else:
elif design_type is AircraftTypes.TRANSPORT:
self.add_subsystem(
'lift_coef',
LiftCoeffClean(output_alpha=self.options['output_alpha'], num_nodes=nn),
Expand Down Expand Up @@ -2594,7 +2594,7 @@ def setup(self):
),
promotes=['*'],
)
else:
elif design_type is AircraftTypes.TRANSPORT:
self.add_subsystem(
'aero_setup',
AeroSetup(
Expand Down Expand Up @@ -2661,7 +2661,7 @@ def setup(self):
promotes_inputs=['*'],
promotes_outputs=['*'],
)
else:
elif design_type is AircraftTypes.TRANSPORT:
self.add_subsystem(
'lift_coef',
LiftCoeff(num_nodes=nn),
Expand Down
24 changes: 12 additions & 12 deletions aviary/subsystems/aerodynamics/gasp_based/test/test_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ class TestTanhRampComp(unittest.TestCase):
def test_tanh_ramp_up(self):
p = om.Problem()

nn = 1000
nn = 100

c = TanhRampComp(time_units='s', num_nodes=nn)

Expand All @@ -135,12 +135,12 @@ def test_tanh_ramp_up(self):

thruput = p.get_val('tanh_ramp.thruput')

assert_near_equal(thruput[250], desired=30, tolerance=0.01)
assert_near_equal(thruput[275], desired=35, tolerance=0.01)
assert_near_equal(thruput[300], desired=40, tolerance=0.01)
assert_near_equal(thruput[25], desired=30, tolerance=0.01)
assert_near_equal(thruput[27], desired=33.6, tolerance=0.01)
assert_near_equal(thruput[30], desired=40, tolerance=0.01)

assert_near_equal(thruput[500:], desired=40 * np.ones((500, 1)), tolerance=0.01)
assert_near_equal(thruput[:200], desired=30 * np.ones((200, 1)), tolerance=0.01)
assert_near_equal(thruput[50:], desired=40 * np.ones((50, 1)), tolerance=0.01)
assert_near_equal(thruput[:20], desired=30 * np.ones((20, 1)), tolerance=0.01)

self.assertTrue(np.all(thruput >= 30))
self.assertTrue(np.all(thruput <= 40))
Expand All @@ -150,7 +150,7 @@ def test_tanh_ramp_up(self):
def test_tanh_ramp_down(self):
p = om.Problem()

nn = 1000
nn = 100

c = TanhRampComp(time_units='s', num_nodes=nn)

Expand All @@ -175,12 +175,12 @@ def test_tanh_ramp_down(self):

thruput = p.get_val('tanh_ramp.thruput')[:, 0]

assert_near_equal(thruput[250], desired=40, tolerance=0.01)
assert_near_equal(thruput[275], desired=35, tolerance=0.01)
assert_near_equal(thruput[300], desired=30, tolerance=0.01)
assert_near_equal(thruput[25], desired=40, tolerance=0.01)
assert_near_equal(thruput[27], desired=36.4, tolerance=0.01)
assert_near_equal(thruput[30], desired=30, tolerance=0.01)

assert_near_equal(thruput[500:], desired=30 * np.ones(500), tolerance=0.01)
assert_near_equal(thruput[:200], desired=40 * np.ones(200), tolerance=0.01)
assert_near_equal(thruput[50:], desired=30 * np.ones(50), tolerance=0.01)
assert_near_equal(thruput[:20], desired=40 * np.ones(20), tolerance=0.01)

self.assertTrue(np.all(thruput >= 30))
self.assertTrue(np.all(thruput <= 40))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ class PrepGeomTest(unittest.TestCase):
def setUp(self):
self.prob = om.Problem()

@parameterized.expand(get_flops_case_names(), name_func=print_case)
@parameterized.expand(get_flops_case_names(omit='BWB1aFLOPS'), name_func=print_case)
def test_case(self, case_name):
class PreMission(om.Group):
def initialize(self):
Expand Down
6 changes: 3 additions & 3 deletions aviary/subsystems/geometry/gasp_based/size_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def setup(self):
promotes_inputs=['*'],
promotes_outputs=['*'],
)
else:
elif design_type is AircraftTypes.TRANSPORT:
self.add_subsystem(
'fuselage',
FuselageGroup(),
Expand All @@ -41,7 +41,7 @@ def setup(self):
BWBWingGroup(),
promotes=['*'],
)
else:
elif design_type is AircraftTypes.TRANSPORT:
self.add_subsystem(
'wing',
WingGroup(),
Expand All @@ -61,7 +61,7 @@ def setup(self):
promotes_inputs=['*'],
promotes_outputs=['*'],
)
else:
elif design_type is AircraftTypes.TRANSPORT:
self.add_subsystem(
'engine',
EngineSize(),
Expand Down
4 changes: 2 additions & 2 deletions aviary/subsystems/geometry/gasp_based/wing.py
Original file line number Diff line number Diff line change
Expand Up @@ -1828,7 +1828,7 @@ def compute(self, inputs, outputs):
if design_type is AircraftTypes.BLENDED_WING_BODY:
cabin_height = body_width * inputs[Aircraft.Fuselage.HEIGHT_TO_WIDTH_RATIO]
b_fus = 0.5 * (body_width - cabin_height) + cabin_height * sqt
else:
elif design_type is AircraftTypes.TRANSPORT:
b_fus = body_width * sqt

wingspan = inputs[Aircraft.Wing.SPAN]
Expand Down Expand Up @@ -1870,7 +1870,7 @@ def compute_partials(self, inputs, J):
if design_type is AircraftTypes.BLENDED_WING_BODY:
cabin_height = body_width * height_to_width
b_fus = 0.5 * (body_width - cabin_height) + cabin_height * sqt
else:
elif design_type is AircraftTypes.TRANSPORT:
b_fus = body_width * sqt

wingspan = inputs[Aircraft.Wing.SPAN]
Expand Down
Loading
Loading