From 58840ad1c57b5a81f7531645dd19b695335a188c Mon Sep 17 00:00:00 2001 From: Xun Jiang Date: Thu, 3 Sep 2026 12:46:36 -0400 Subject: [PATCH 1/6] made Aircraft.Nacelle.TOTAL_WETTED_AREA a scalar --- .../validation_data/test_data/bwb300_baseline_FLOPS_data.py | 2 +- .../validation_data/test_data/bwb_detailed_FLOPS_data.py | 2 +- .../validation_data/test_data/bwb_simple_FLOPS_data.py | 2 +- .../test_data/large_single_aisle_1_FLOPS_data.py | 2 +- .../test_data/large_single_aisle_2_detailwing_FLOPS_data.py | 2 +- .../validation_data/test_data/multi_engine_single_aisle_data.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/aviary/validation_cases/validation_data/test_data/bwb300_baseline_FLOPS_data.py b/aviary/validation_cases/validation_data/test_data/bwb300_baseline_FLOPS_data.py index d9dcad79b7..7ad6da3310 100644 --- a/aviary/validation_cases/validation_data/test_data/bwb300_baseline_FLOPS_data.py +++ b/aviary/validation_cases/validation_data/test_data/bwb300_baseline_FLOPS_data.py @@ -368,7 +368,7 @@ outputs.set_val(Aircraft.Nacelle.MASS, 0.0, 'lbm') # WNAC nacelle_wetted_area = np.array([613.74211034217353]) # SWET(5) outputs.set_val(Aircraft.Nacelle.WETTED_AREA, nacelle_wetted_area, 'ft**2') -outputs.set_val(Aircraft.Nacelle.TOTAL_WETTED_AREA, 2 * nacelle_wetted_area, 'ft**2') +outputs.set_val(Aircraft.Nacelle.TOTAL_WETTED_AREA, 2 * nacelle_wetted_area[0], 'ft**2') outputs.set_val(Aircraft.Paint.MASS, 0.0, 'lbm') # WPAINT, WTPNT diff --git a/aviary/validation_cases/validation_data/test_data/bwb_detailed_FLOPS_data.py b/aviary/validation_cases/validation_data/test_data/bwb_detailed_FLOPS_data.py index 6866f54a80..1cbd9f28da 100644 --- a/aviary/validation_cases/validation_data/test_data/bwb_detailed_FLOPS_data.py +++ b/aviary/validation_cases/validation_data/test_data/bwb_detailed_FLOPS_data.py @@ -366,7 +366,7 @@ outputs.set_val(Aircraft.Nacelle.MASS, 0.0, 'lbm') # WNAC nacelle_wetted_area = np.array([498.26822066]) # SWET(5) outputs.set_val(Aircraft.Nacelle.WETTED_AREA, nacelle_wetted_area, 'ft**2') -outputs.set_val(Aircraft.Nacelle.TOTAL_WETTED_AREA, 3 * nacelle_wetted_area, 'ft**2') +outputs.set_val(Aircraft.Nacelle.TOTAL_WETTED_AREA, 3 * nacelle_wetted_area[0], 'ft**2') outputs.set_val(Aircraft.Paint.MASS, 0.0, 'lbm') # WPAINT, WTPNT diff --git a/aviary/validation_cases/validation_data/test_data/bwb_simple_FLOPS_data.py b/aviary/validation_cases/validation_data/test_data/bwb_simple_FLOPS_data.py index 184176d609..044b2f01a4 100644 --- a/aviary/validation_cases/validation_data/test_data/bwb_simple_FLOPS_data.py +++ b/aviary/validation_cases/validation_data/test_data/bwb_simple_FLOPS_data.py @@ -318,7 +318,7 @@ outputs.set_val(Aircraft.Nacelle.MASS, 0.0, 'lbm') # WNAC nacelle_wetted_area = np.array([498.26822066]) # SWET(5) outputs.set_val(Aircraft.Nacelle.WETTED_AREA, nacelle_wetted_area, 'ft**2') -outputs.set_val(Aircraft.Nacelle.TOTAL_WETTED_AREA, 3 * nacelle_wetted_area, 'ft**2') +outputs.set_val(Aircraft.Nacelle.TOTAL_WETTED_AREA, 3 * nacelle_wetted_area[0], 'ft**2') outputs.set_val(Aircraft.Paint.MASS, 0.0, 'lbm') # WPAINT, WTPNT diff --git a/aviary/validation_cases/validation_data/test_data/large_single_aisle_1_FLOPS_data.py b/aviary/validation_cases/validation_data/test_data/large_single_aisle_1_FLOPS_data.py index 60c275555a..c7441edee7 100644 --- a/aviary/validation_cases/validation_data/test_data/large_single_aisle_1_FLOPS_data.py +++ b/aviary/validation_cases/validation_data/test_data/large_single_aisle_1_FLOPS_data.py @@ -329,7 +329,7 @@ outputs.set_val(Aircraft.Nacelle.WETTED_AREA, nacelle_wetted_area, nacelle_wetted_area_units) outputs.set_val( - Aircraft.Nacelle.TOTAL_WETTED_AREA, 2 * nacelle_wetted_area, nacelle_wetted_area_units + Aircraft.Nacelle.TOTAL_WETTED_AREA, 2 * nacelle_wetted_area[0], nacelle_wetted_area_units ) outputs.set_val(Aircraft.Paint.MASS, 306.2, 'lbm') diff --git a/aviary/validation_cases/validation_data/test_data/large_single_aisle_2_detailwing_FLOPS_data.py b/aviary/validation_cases/validation_data/test_data/large_single_aisle_2_detailwing_FLOPS_data.py index 738269ad3d..292de5202e 100644 --- a/aviary/validation_cases/validation_data/test_data/large_single_aisle_2_detailwing_FLOPS_data.py +++ b/aviary/validation_cases/validation_data/test_data/large_single_aisle_2_detailwing_FLOPS_data.py @@ -324,7 +324,7 @@ nacelle_wetted_area_units = 'ft**2' outputs.set_val(Aircraft.Nacelle.WETTED_AREA, nacelle_wetted_area, nacelle_wetted_area_units) outputs.set_val( - Aircraft.Nacelle.TOTAL_WETTED_AREA, 2 * nacelle_wetted_area, nacelle_wetted_area_units + Aircraft.Nacelle.TOTAL_WETTED_AREA, 2 * nacelle_wetted_area[0], nacelle_wetted_area_units ) outputs.set_val(Aircraft.Paint.MASS, 582.3, 'lbm') diff --git a/aviary/validation_cases/validation_data/test_data/multi_engine_single_aisle_data.py b/aviary/validation_cases/validation_data/test_data/multi_engine_single_aisle_data.py index 5321c2cbf9..a20315ac64 100644 --- a/aviary/validation_cases/validation_data/test_data/multi_engine_single_aisle_data.py +++ b/aviary/validation_cases/validation_data/test_data/multi_engine_single_aisle_data.py @@ -361,7 +361,7 @@ outputs.set_val( Aircraft.Nacelle.TOTAL_WETTED_AREA, - 2 * nacelle_wetted_area, + 2 * nacelle_wetted_area[0], nacelle_wetted_area_units, ) From 14c0e10ea7a21b9f205ee93af1aa6934b7779e94 Mon Sep 17 00:00:00 2001 From: Xun Jiang Date: Thu, 3 Sep 2026 12:47:26 -0400 Subject: [PATCH 2/6] made Aircraft.Nacelle.TOTAL_WETTED_AREA a scalar --- aviary/variable_info/variable_meta_data.py | 1 - 1 file changed, 1 deletion(-) diff --git a/aviary/variable_info/variable_meta_data.py b/aviary/variable_info/variable_meta_data.py index 76f32adfbe..ec4b068497 100644 --- a/aviary/variable_info/variable_meta_data.py +++ b/aviary/variable_info/variable_meta_data.py @@ -4423,7 +4423,6 @@ units='ft**2', desc='total nacelles wetted area', default_value=0.0, - multivalue=True, ) add_meta_data( From a6eeb0f1c49b32572c44272d43409f9728473b77 Mon Sep 17 00:00:00 2001 From: Xun Jiang Date: Thu, 3 Sep 2026 12:48:21 -0400 Subject: [PATCH 3/6] excluded Aircraft.Nacelle.TOTAL_WETTED_AREA as an engine_variable. --- aviary/utils/preprocessors.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/aviary/utils/preprocessors.py b/aviary/utils/preprocessors.py index 9d86203a11..5cac9f6b58 100644 --- a/aviary/utils/preprocessors.py +++ b/aviary/utils/preprocessors.py @@ -1199,5 +1199,11 @@ def _get_engine_variables(): for item in get_names_from_hierarchy(Aircraft.Engine): yield item + excluded_names = [ + Aircraft.Nacelle.TOTAL_WETTED_AREA, + Aircraft.Nacelle.DRAG_FACTOR, + Aircraft.Nacelle.PYLON_DRAG_FACTOR, + ] for item in get_names_from_hierarchy(Aircraft.Nacelle): - yield item + if item not in excluded_names: + yield item From 71341ac842d9416b984696de1f4d09d9c4263da7 Mon Sep 17 00:00:00 2001 From: Xun Jiang Date: Thu, 3 Sep 2026 12:49:20 -0400 Subject: [PATCH 4/6] minor change --- .../subsystems/aerodynamics/gasp_based/test/test_gaspaero.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/aviary/subsystems/aerodynamics/gasp_based/test/test_gaspaero.py b/aviary/subsystems/aerodynamics/gasp_based/test/test_gaspaero.py index c59beaae72..aaa0ff922d 100644 --- a/aviary/subsystems/aerodynamics/gasp_based/test/test_gaspaero.py +++ b/aviary/subsystems/aerodynamics/gasp_based/test/test_gaspaero.py @@ -1970,6 +1970,3 @@ def test_case1(self): if __name__ == '__main__': unittest.main() - test = AeroGeomTest() - # test.test_case1() - test.test_case_multiengine() From d13000f292e97e333330f3656132821b1caccc48 Mon Sep 17 00:00:00 2001 From: Xun Jiang Date: Thu, 3 Sep 2026 12:49:58 -0400 Subject: [PATCH 5/6] added use_tempdirs --- .../aerodynamics/gasp_based/test/test_gasp_aero_coeffs.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/aviary/subsystems/aerodynamics/gasp_based/test/test_gasp_aero_coeffs.py b/aviary/subsystems/aerodynamics/gasp_based/test/test_gasp_aero_coeffs.py index ca205cffa2..080c3b29b1 100644 --- a/aviary/subsystems/aerodynamics/gasp_based/test/test_gasp_aero_coeffs.py +++ b/aviary/subsystems/aerodynamics/gasp_based/test/test_gasp_aero_coeffs.py @@ -2,6 +2,7 @@ import openmdao.api as om from openmdao.utils.assert_utils import assert_check_partials, assert_near_equal +from openmdao.utils.testing_utils import use_tempdirs from aviary.subsystems.aerodynamics.gasp_based.gasp_aero_coeffs import ( AeroFormfactors, @@ -15,6 +16,7 @@ tol = 1e-8 +@use_tempdirs class TestAeroCoeffs(unittest.TestCase): def test_aero_coeffs(self): aero_coeffs = AeroFormfactors() @@ -87,6 +89,7 @@ def test_multiengine(self): assert_check_partials(partial_data, atol=1e-12, rtol=1e-14) +@use_tempdirs class FormFactorTest(unittest.TestCase): """Test fuselage form factor computation and SIWB computation.""" @@ -112,6 +115,7 @@ def test_case1(self): assert_check_partials(partial_data, atol=1e-11, rtol=1e-11) +@use_tempdirs class BWBFormFactorTest(unittest.TestCase): """Test fuselage form factor computation and SIWB computation""" From 28aac9eca1620b8ea946b9c35f36a674bcb3b9a4 Mon Sep 17 00:00:00 2001 From: Xun Jiang Date: Tue, 8 Sep 2026 15:56:53 -0400 Subject: [PATCH 6/6] removed Aircraft.Nacelle.PYLON_DRAG_FACTOR and Aircraft.Nacelle.DRAG_FACTOR from excluded_names list --- aviary/utils/preprocessors.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/aviary/utils/preprocessors.py b/aviary/utils/preprocessors.py index 5cac9f6b58..c5dda38dba 100644 --- a/aviary/utils/preprocessors.py +++ b/aviary/utils/preprocessors.py @@ -1201,8 +1201,6 @@ def _get_engine_variables(): excluded_names = [ Aircraft.Nacelle.TOTAL_WETTED_AREA, - Aircraft.Nacelle.DRAG_FACTOR, - Aircraft.Nacelle.PYLON_DRAG_FACTOR, ] for item in get_names_from_hierarchy(Aircraft.Nacelle): if item not in excluded_names: