diff --git a/aviary/mission/gasp_based/ode/params.py b/aviary/mission/gasp_based/ode/params.py index cd7264eff..d54245a51 100644 --- a/aviary/mission/gasp_based/ode/params.py +++ b/aviary/mission/gasp_based/ode/params.py @@ -123,7 +123,7 @@ def promote_params(sys, trajs=None, phases=None): Aircraft.Wing.SWEEP: dict(units="deg", val=25), Aircraft.HorizontalTail.SWEEP: dict(units="deg", val=25), Aircraft.HorizontalTail.MOMENT_RATIO: dict(units="unitless", val=0.2307), - Aircraft.Wing.MOUNTING_TYPE: dict(units="unitless", val=0), + Aircraft.Wing.VERTICAL_MOUNT_LOCATION: dict(units="unitless", val=0), Aircraft.Design.STATIC_MARGIN: dict(units="unitless", val=0.03), Aircraft.Design.CG_DELTA: dict(units="unitless", val=0.25), Aircraft.Fuselage.FORM_FACTOR: dict(units="unitless", val=1.25), diff --git a/aviary/models/large_single_aisle_1/large_single_aisle_1_GASP.csv b/aviary/models/large_single_aisle_1/large_single_aisle_1_GASP.csv index 09894b55c..2000ca3aa 100644 --- a/aviary/models/large_single_aisle_1/large_single_aisle_1_GASP.csv +++ b/aviary/models/large_single_aisle_1/large_single_aisle_1_GASP.csv @@ -126,7 +126,7 @@ aircraft:wing:max_slat_deflection_landing,10,deg aircraft:wing:max_slat_deflection_takeoff,10,deg aircraft:wing:max_thickness_location,0.4,unitless aircraft:wing:min_pressure_location,0.3,unitless -aircraft:wing:mounting_type,0,unitless +aircraft:wing:vertical_mount_location,0,unitless aircraft:wing:num_flap_segments,2,unitless aircraft:wing:optimum_flap_deflection,55,deg aircraft:wing:optimum_slat_deflection,20,deg diff --git a/aviary/models/large_turboprop_freighter/large_turboprop_freighter_GASP.csv b/aviary/models/large_turboprop_freighter/large_turboprop_freighter_GASP.csv index 2fc5ebf5f..e38575786 100644 --- a/aviary/models/large_turboprop_freighter/large_turboprop_freighter_GASP.csv +++ b/aviary/models/large_turboprop_freighter/large_turboprop_freighter_GASP.csv @@ -160,7 +160,7 @@ aircraft:wing:max_slat_deflection_landing, 0, deg aircraft:wing:max_slat_deflection_takeoff, 0, deg aircraft:wing:max_thickness_location, 0.35, unitless aircraft:wing:min_pressure_location, 0.3, unitless -aircraft:wing:mounting_type, 1, unitless +aircraft:wing:vertical_mount_location, 1, unitless aircraft:wing:num_flap_segments, 2, unitless aircraft:wing:optimum_flap_deflection, 55, deg aircraft:wing:optimum_slat_deflection, 45, deg diff --git a/aviary/models/small_single_aisle/small_single_aisle_GASP.csv b/aviary/models/small_single_aisle/small_single_aisle_GASP.csv index 0d7afc190..7f65515f7 100644 --- a/aviary/models/small_single_aisle/small_single_aisle_GASP.csv +++ b/aviary/models/small_single_aisle/small_single_aisle_GASP.csv @@ -125,7 +125,7 @@ aircraft:wing:max_slat_deflection_landing,10,deg aircraft:wing:max_slat_deflection_takeoff,10,deg aircraft:wing:max_thickness_location,0.35,unitless aircraft:wing:min_pressure_location,0.3,unitless -aircraft:wing:mounting_type,0,unitless +aircraft:wing:vertical_mount_location,0,unitless aircraft:wing:num_flap_segments,2,unitless aircraft:wing:optimum_flap_deflection,20,deg aircraft:wing:optimum_slat_deflection,20,deg diff --git a/aviary/models/test_aircraft/aircraft_for_bench_FwGm.csv b/aviary/models/test_aircraft/aircraft_for_bench_FwGm.csv index 8d97f49aa..ae068245d 100644 --- a/aviary/models/test_aircraft/aircraft_for_bench_FwGm.csv +++ b/aviary/models/test_aircraft/aircraft_for_bench_FwGm.csv @@ -126,7 +126,7 @@ aircraft:wing:max_slat_deflection_landing,10,deg aircraft:wing:max_slat_deflection_takeoff,10,deg aircraft:wing:max_thickness_location,0.4,unitless aircraft:wing:min_pressure_location,0.3,unitless -aircraft:wing:mounting_type,0,unitless +aircraft:wing:vertical_mount_location,0,unitless aircraft:wing:num_flap_segments,2,unitless aircraft:wing:optimum_flap_deflection,55,deg aircraft:wing:optimum_slat_deflection,20,deg diff --git a/aviary/models/test_aircraft/aircraft_for_bench_GwFm.csv b/aviary/models/test_aircraft/aircraft_for_bench_GwFm.csv index b1086dac7..107ac639c 100644 --- a/aviary/models/test_aircraft/aircraft_for_bench_GwFm.csv +++ b/aviary/models/test_aircraft/aircraft_for_bench_GwFm.csv @@ -237,7 +237,7 @@ aircraft:wing:max_camber_at_70_semispan,0.0,unitless aircraft:wing:max_thickness_location,0.4,unitless aircraft:wing:min_pressure_location,0.3,unitless aircraft:wing:misc_mass_scaler,1.0,unitless -aircraft:wing:mounting_type,0,unitless +aircraft:wing:vertical_mount_location,0,unitless aircraft:wing:num_integration_stations,50,unitless aircraft:wing:shear_control_mass_scaler,1.0,unitless aircraft:wing:span_efficiency_reduction,False,unitless diff --git a/aviary/models/test_aircraft/aircraft_for_bench_GwGm.csv b/aviary/models/test_aircraft/aircraft_for_bench_GwGm.csv index 3a052eca2..a112bb77f 100644 --- a/aviary/models/test_aircraft/aircraft_for_bench_GwGm.csv +++ b/aviary/models/test_aircraft/aircraft_for_bench_GwGm.csv @@ -125,7 +125,7 @@ aircraft:wing:max_slat_deflection_landing,10,deg aircraft:wing:max_slat_deflection_takeoff,10,deg aircraft:wing:max_thickness_location,0.4,unitless aircraft:wing:min_pressure_location,0.3,unitless -aircraft:wing:mounting_type,0,unitless +aircraft:wing:vertical_mount_location,0,unitless aircraft:wing:num_flap_segments,2,unitless aircraft:wing:optimum_flap_deflection,55,deg aircraft:wing:optimum_slat_deflection,20,deg diff --git a/aviary/models/test_aircraft/aircraft_for_bench_GwGm_lbm_s.csv b/aviary/models/test_aircraft/aircraft_for_bench_GwGm_lbm_s.csv index 59605ee88..7358c6ec7 100644 --- a/aviary/models/test_aircraft/aircraft_for_bench_GwGm_lbm_s.csv +++ b/aviary/models/test_aircraft/aircraft_for_bench_GwGm_lbm_s.csv @@ -126,7 +126,7 @@ aircraft:wing:max_slat_deflection_landing,10,deg aircraft:wing:max_slat_deflection_takeoff,10,deg aircraft:wing:max_thickness_location,0.4,unitless aircraft:wing:min_pressure_location,0.3,unitless -aircraft:wing:mounting_type,0,unitless +aircraft:wing:vertical_mount_location,0,unitless aircraft:wing:num_flap_segments,2,unitless aircraft:wing:optimum_flap_deflection,55,deg aircraft:wing:optimum_slat_deflection,20,deg diff --git a/aviary/models/test_aircraft/configuration_test_GASP.csv b/aviary/models/test_aircraft/configuration_test_GASP.csv index ee4319ca9..6a52a6ccc 100644 --- a/aviary/models/test_aircraft/configuration_test_GASP.csv +++ b/aviary/models/test_aircraft/configuration_test_GASP.csv @@ -124,7 +124,7 @@ aircraft:wing:max_slat_deflection_landing,10,deg aircraft:wing:max_slat_deflection_takeoff,10,deg aircraft:wing:max_thickness_location,0.35,unitless aircraft:wing:min_pressure_location,0.3,unitless -aircraft:wing:mounting_type,1,unitless +aircraft:wing:vertical_mount_location,1,unitless aircraft:wing:num_flap_segments,2,unitless aircraft:wing:optimum_flap_deflection,55,deg aircraft:wing:optimum_slat_deflection,20,deg diff --git a/aviary/subsystems/aerodynamics/aerodynamics_builder.py b/aviary/subsystems/aerodynamics/aerodynamics_builder.py index 0039d4416..3bc1bafef 100644 --- a/aviary/subsystems/aerodynamics/aerodynamics_builder.py +++ b/aviary/subsystems/aerodynamics/aerodynamics_builder.py @@ -660,11 +660,11 @@ def report(self, prob, reports_folder, **kwargs): Aircraft.Wing.FUSELAGE_INTERFERENCE_FACTOR, Aircraft.Wing.MAX_THICKNESS_LOCATION, Aircraft.Wing.MIN_PRESSURE_LOCATION, - Aircraft.Wing.MOUNTING_TYPE, Aircraft.Wing.SPAN, Aircraft.Wing.SWEEP, Aircraft.Wing.TAPER_RATIO, Aircraft.Wing.THICKNESS_TO_CHORD_UNWEIGHTED, + Aircraft.Wing.VERTICAL_MOUNT_LOCATION, Aircraft.Wing.ZERO_LIFT_ANGLE, ] diff --git a/aviary/subsystems/aerodynamics/gasp_based/gaspaero.py b/aviary/subsystems/aerodynamics/gasp_based/gaspaero.py index cd45e5a5c..724ff7506 100644 --- a/aviary/subsystems/aerodynamics/gasp_based/gaspaero.py +++ b/aviary/subsystems/aerodynamics/gasp_based/gaspaero.py @@ -165,7 +165,7 @@ def setup(self): add_aviary_input(self, Aircraft.Wing.THICKNESS_TO_CHORD_ROOT, val=0.15) - add_aviary_input(self, Aircraft.Wing.MOUNTING_TYPE, val=0.0) + add_aviary_input(self, Aircraft.Wing.VERTICAL_MOUNT_LOCATION, val=0.0) add_aviary_input(self, Aircraft.HorizontalTail.VERTICAL_TAIL_FRACTION, val=0.0) @@ -202,7 +202,7 @@ def setup_partials(self): Aircraft.HorizontalTail.VERTICAL_TAIL_FRACTION, Aircraft.VerticalTail.SPAN, Aircraft.Fuselage.AVG_DIAMETER, - Aircraft.Wing.MOUNTING_TYPE, + Aircraft.Wing.VERTICAL_MOUNT_LOCATION, Aircraft.Wing.THICKNESS_TO_CHORD_ROOT, Aircraft.Wing.AREA, Aircraft.Wing.SPAN, diff --git a/aviary/subsystems/aerodynamics/gasp_based/interference.py b/aviary/subsystems/aerodynamics/gasp_based/interference.py index 4169849f5..892e6acdb 100644 --- a/aviary/subsystems/aerodynamics/gasp_based/interference.py +++ b/aviary/subsystems/aerodynamics/gasp_based/interference.py @@ -51,7 +51,7 @@ class CommonVariables(om.ExplicitComponent): def setup(self): self.add_input('CROOT') - add_aviary_input(self, Aircraft.Wing.MOUNTING_TYPE) + add_aviary_input(self, Aircraft.Wing.VERTICAL_MOUNT_LOCATION) add_aviary_input(self, Aircraft.Wing.THICKNESS_TO_CHORD_ROOT) add_aviary_input(self, Aircraft.Fuselage.AVG_DIAMETER) @@ -65,7 +65,7 @@ def compute(self, inputs, outputs): outputs['wtofd'] = TCR*CROOT/SWF # wing_thickness_over_fuselage_diameter def setup_partials(self): - self.declare_partials('ZW_RF', [Aircraft.Wing.MOUNTING_TYPE], val=2) + self.declare_partials('ZW_RF', [Aircraft.Wing.VERTICAL_MOUNT_LOCATION], val=2) self.declare_partials( 'wtofd', [ Aircraft.Wing.THICKNESS_TO_CHORD_ROOT, diff --git a/aviary/subsystems/aerodynamics/gasp_based/test/test_gaspaero.py b/aviary/subsystems/aerodynamics/gasp_based/test/test_gaspaero.py index ed962e8ed..9f8ccbbbc 100644 --- a/aviary/subsystems/aerodynamics/gasp_based/test/test_gaspaero.py +++ b/aviary/subsystems/aerodynamics/gasp_based/test/test_gaspaero.py @@ -172,7 +172,7 @@ def _init_geom(prob): prob.set_val(Aircraft.Wing.AVERAGE_CHORD, setup_data["cbarw"]) prob.set_val(Aircraft.Wing.TAPER_RATIO, setup_data["slm"]) prob.set_val(Aircraft.Wing.THICKNESS_TO_CHORD_ROOT, setup_data["tcr"]) - prob.set_val(Aircraft.Wing.MOUNTING_TYPE, setup_data["hwing"]) + prob.set_val(Aircraft.Wing.VERTICAL_MOUNT_LOCATION, setup_data["hwing"]) prob.set_val(Aircraft.HorizontalTail.VERTICAL_TAIL_FRACTION, setup_data["sah"]) prob.set_val(Aircraft.HorizontalTail.SPAN, setup_data["bht"]) prob.set_val(Aircraft.VerticalTail.SPAN, setup_data["bvt"]) diff --git a/aviary/subsystems/aerodynamics/gasp_based/test/test_interference.py b/aviary/subsystems/aerodynamics/gasp_based/test/test_interference.py index e301f8524..3219d3c56 100644 --- a/aviary/subsystems/aerodynamics/gasp_based/test/test_interference.py +++ b/aviary/subsystems/aerodynamics/gasp_based/test/test_interference.py @@ -36,7 +36,7 @@ def test_common_vars(self): prob.setup(force_alloc_complex=True) prob.set_val('CROOT', 12) - prob.set_val(Aircraft.Wing.MOUNTING_TYPE, .1) + prob.set_val(Aircraft.Wing.VERTICAL_MOUNT_LOCATION, .1) prob.set_val(Aircraft.Wing.THICKNESS_TO_CHORD_ROOT, .12) prob.set_val(Aircraft.Fuselage.AVG_DIAMETER, 10) @@ -121,7 +121,7 @@ def test_complete_group(self): prob.set_val(Aircraft.Wing.AREA, 1400) prob.set_val(Aircraft.Wing.SPAN, 118) prob.set_val(Aircraft.Wing.TAPER_RATIO, .9) - prob.set_val(Aircraft.Wing.MOUNTING_TYPE, .1) + prob.set_val(Aircraft.Wing.VERTICAL_MOUNT_LOCATION, .1) prob.set_val(Aircraft.Wing.THICKNESS_TO_CHORD_ROOT, .12) prob.set_val(Aircraft.Wing.THICKNESS_TO_CHORD_TIP, .1) prob.set_val(Aircraft.Fuselage.AVG_DIAMETER, 12) diff --git a/aviary/subsystems/mass/gasp_based/fixed.py b/aviary/subsystems/mass/gasp_based/fixed.py index 5c46b3680..bccace062 100644 --- a/aviary/subsystems/mass/gasp_based/fixed.py +++ b/aviary/subsystems/mass/gasp_based/fixed.py @@ -2270,7 +2270,7 @@ def initialize(self): def setup(self): num_engine_type = len(self.options[Aircraft.Engine.NUM_ENGINES]) - add_aviary_input(self, Aircraft.Wing.MOUNTING_TYPE, val=0) + add_aviary_input(self, Aircraft.Wing.VERTICAL_MOUNT_LOCATION, val=0) add_aviary_input(self, Aircraft.LandingGear.MASS_COEFFICIENT, val=0.04) add_aviary_input(self, Mission.Design.GROSS_MASS, val=152000) add_aviary_input(self, Aircraft.LandingGear.MAIN_GEAR_MASS_COEFFICIENT, val=0.85) @@ -2291,7 +2291,7 @@ def setup(self): self.declare_partials(Aircraft.LandingGear.MAIN_GEAR_MASS, "*") def compute(self, inputs, outputs): - wing_loc = inputs[Aircraft.Wing.MOUNTING_TYPE] + wing_loc = inputs[Aircraft.Wing.VERTICAL_MOUNT_LOCATION] c_gear_mass = inputs[Aircraft.LandingGear.MASS_COEFFICIENT] gross_wt_initial = inputs[Mission.Design.GROSS_MASS] * GRAV_ENGLISH_LBM c_main_gear = inputs[Aircraft.LandingGear.MAIN_GEAR_MASS_COEFFICIENT] @@ -2331,7 +2331,7 @@ def compute_partials(self, inputs, J): c_gear_mass = inputs[Aircraft.LandingGear.MASS_COEFFICIENT] gross_wt_initial = inputs[Mission.Design.GROSS_MASS] * GRAV_ENGLISH_LBM c_main_gear = inputs[Aircraft.LandingGear.MAIN_GEAR_MASS_COEFFICIENT] - wing_loc = inputs[Aircraft.Wing.MOUNTING_TYPE] + wing_loc = inputs[Aircraft.Wing.VERTICAL_MOUNT_LOCATION] clearance_ratio = inputs[Aircraft.Nacelle.CLEARANCE_RATIO] nacelle_diam = inputs[Aircraft.Nacelle.AVG_DIAMETER] diff --git a/aviary/subsystems/mass/gasp_based/test/test_fixed.py b/aviary/subsystems/mass/gasp_based/test/test_fixed.py index 1af3573d5..611c738f1 100644 --- a/aviary/subsystems/mass/gasp_based/test/test_fixed.py +++ b/aviary/subsystems/mass/gasp_based/test/test_fixed.py @@ -888,7 +888,7 @@ def setUp(self): Aircraft.Nacelle.AVG_DIAMETER, val=7.35, units="ft" ) # bug fixed value and original value self.prob.model.set_input_defaults( - Aircraft.Wing.MOUNTING_TYPE, val=0, units="unitless") + Aircraft.Wing.VERTICAL_MOUNT_LOCATION, val=0, units="unitless") self.prob.setup(check=False, force_alloc_complex=True) @@ -927,7 +927,7 @@ def setUp(self): Aircraft.LandingGear.MAIN_GEAR_MASS_COEFFICIENT, val=0.85, units="unitless" ) # bug fixed value and original value self.prob.model.set_input_defaults( - Aircraft.Wing.MOUNTING_TYPE, val=0.1, units="unitless") + Aircraft.Wing.VERTICAL_MOUNT_LOCATION, val=0.1, units="unitless") setup_model_options(self.prob, options) @@ -1261,7 +1261,7 @@ def setUp(self): Aircraft.Wing.SPAN, val=117.8, units="ft" ) # original GASP value self.prob.model.set_input_defaults( - Aircraft.Wing.MOUNTING_TYPE, val=.1, units="unitless") + Aircraft.Wing.VERTICAL_MOUNT_LOCATION, val=.1, units="unitless") self.prob.model.set_input_defaults( Mission.Design.GROSS_MASS, val=175400, units="lbm" ) # bug fixed value and original value @@ -1600,7 +1600,7 @@ def test_case1(self): Aircraft.Engine.HAS_PROPELLERS: ([False], 'unitless'), Aircraft.Wing.FLAP_TYPE: ('plain', 'unitless'), Aircraft.Wing.SWEEP: (30.0, 'deg'), - Aircraft.Wing.MOUNTING_TYPE: (0, 'unitless'), + Aircraft.Wing.VERTICAL_MOUNT_LOCATION: (0, 'unitless'), Aircraft.Wing.TAPER_RATIO: (0.25, 'unitless'), Aircraft.Wing.ASPECT_RATIO: (11.0, 'unitless'), Aircraft.Wing.SPAN: (100.0, 'ft'), diff --git a/aviary/subsystems/mass/gasp_based/test/test_mass_summation.py b/aviary/subsystems/mass/gasp_based/test/test_mass_summation.py index 94a671914..3f2c5702f 100644 --- a/aviary/subsystems/mass/gasp_based/test/test_mass_summation.py +++ b/aviary/subsystems/mass/gasp_based/test/test_mass_summation.py @@ -2601,7 +2601,7 @@ def setUp(self): ) self.prob.model.set_input_defaults(Aircraft.Wing.SWEEP, val=22.47, units="deg") self.prob.model.set_input_defaults( - Aircraft.Wing.MOUNTING_TYPE, val=.1, units="unitless") + Aircraft.Wing.VERTICAL_MOUNT_LOCATION, val=.1, units="unitless") self.prob.model.set_input_defaults( Aircraft.Wing.ASPECT_RATIO, val=19.565, units="unitless" ) @@ -2995,7 +2995,7 @@ def setUp(self): ) self.prob.model.set_input_defaults(Aircraft.Wing.SWEEP, val=22.47, units="deg") self.prob.model.set_input_defaults( - Aircraft.Wing.MOUNTING_TYPE, val=.1, units="unitless") + Aircraft.Wing.VERTICAL_MOUNT_LOCATION, val=.1, units="unitless") self.prob.model.set_input_defaults( Aircraft.Wing.ASPECT_RATIO, val=19.565, units="unitless" ) diff --git a/aviary/utils/test/data/converter_test_configuration_GASP.csv b/aviary/utils/test/data/converter_test_configuration_GASP.csv index 5e33e153f..f2849510f 100644 --- a/aviary/utils/test/data/converter_test_configuration_GASP.csv +++ b/aviary/utils/test/data/converter_test_configuration_GASP.csv @@ -128,7 +128,6 @@ aircraft:wing:max_slat_deflection_landing,10,deg aircraft:wing:max_slat_deflection_takeoff,10,deg aircraft:wing:max_thickness_location,0.35,unitless aircraft:wing:min_pressure_location,0.3,unitless -aircraft:wing:mounting_type,1,unitless aircraft:wing:num_flap_segments,2,unitless aircraft:wing:optimum_flap_deflection,55,deg aircraft:wing:optimum_slat_deflection,20,deg @@ -141,6 +140,7 @@ aircraft:wing:sweep,22.47,deg aircraft:wing:taper_ratio,0.346,unitless aircraft:wing:thickness_to_chord_root,0.11,unitless aircraft:wing:thickness_to_chord_tip,0.1,unitless +aircraft:wing:vertical_mount_location,1,unitless aircraft:wing:zero_lift_angle,-1.2,deg mission:design:cruise_altitude,36000,ft mission:design:gross_mass,160000,lbm diff --git a/aviary/utils/test/data/converter_test_large_single_aisle_1_GASP.csv b/aviary/utils/test/data/converter_test_large_single_aisle_1_GASP.csv index 79a79d9cc..4a6e49d79 100644 --- a/aviary/utils/test/data/converter_test_large_single_aisle_1_GASP.csv +++ b/aviary/utils/test/data/converter_test_large_single_aisle_1_GASP.csv @@ -130,7 +130,6 @@ aircraft:wing:max_slat_deflection_landing,10,deg aircraft:wing:max_slat_deflection_takeoff,10,deg aircraft:wing:max_thickness_location,0.4,unitless aircraft:wing:min_pressure_location,0.3,unitless -aircraft:wing:mounting_type,0,unitless aircraft:wing:num_flap_segments,2,unitless aircraft:wing:optimum_flap_deflection,55,deg aircraft:wing:optimum_slat_deflection,20,deg @@ -143,6 +142,7 @@ aircraft:wing:sweep,25,deg aircraft:wing:taper_ratio,0.33,unitless aircraft:wing:thickness_to_chord_root,0.15,unitless aircraft:wing:thickness_to_chord_tip,0.12,unitless +aircraft:wing:vertical_mount_location,0,unitless aircraft:wing:zero_lift_angle,-1.2,deg mission:design:cruise_altitude,37500,ft mission:design:gross_mass,175400,lbm diff --git a/aviary/utils/test/data/converter_test_small_single_aisle_GASP.csv b/aviary/utils/test/data/converter_test_small_single_aisle_GASP.csv index 1465fbf34..7690d2775 100644 --- a/aviary/utils/test/data/converter_test_small_single_aisle_GASP.csv +++ b/aviary/utils/test/data/converter_test_small_single_aisle_GASP.csv @@ -129,7 +129,6 @@ aircraft:wing:max_slat_deflection_landing,10,deg aircraft:wing:max_slat_deflection_takeoff,10,deg aircraft:wing:max_thickness_location,0.35,unitless aircraft:wing:min_pressure_location,0.3,unitless -aircraft:wing:mounting_type,0,unitless aircraft:wing:num_flap_segments,2,unitless aircraft:wing:optimum_flap_deflection,20,deg aircraft:wing:optimum_slat_deflection,20,deg @@ -142,6 +141,7 @@ aircraft:wing:sweep,26.34,deg aircraft:wing:taper_ratio,0.301,unitless aircraft:wing:thickness_to_chord_root,0.1125,unitless aircraft:wing:thickness_to_chord_tip,0.12,unitless +aircraft:wing:vertical_mount_location,0,unitless aircraft:wing:zero_lift_angle,-1.2,deg mission:design:cruise_altitude,37000,ft mission:design:gross_mass,124780,lbm diff --git a/aviary/variable_info/variable_meta_data.py b/aviary/variable_info/variable_meta_data.py index f84ce4db5..4af044908 100644 --- a/aviary/variable_info/variable_meta_data.py +++ b/aviary/variable_info/variable_meta_data.py @@ -5796,14 +5796,6 @@ default_value=1.0, ) -add_meta_data( - Aircraft.Wing.MOUNTING_TYPE, - meta_data=_MetaData, - historical_name={"GASP": 'INGASP.HWING', "FLOPS": None, "LEAPS1": None}, - units='unitless', - desc='wing location on fuselage (0 = low wing, 1 = high wing)', -) - add_meta_data( Aircraft.Wing.NUM_FLAP_SEGMENTS, meta_data=_MetaData, @@ -6184,6 +6176,15 @@ default_value=0.0, ) +add_meta_data( + Aircraft.Wing.VERTICAL_MOUNT_LOCATION, + meta_data=_MetaData, + historical_name={"GASP": 'INGASP.HWING', "FLOPS": None, "LEAPS1": None}, + units='unitless', + desc='vertical wing mount location on fuselage (0 = low wing, 1 = high wing). It is continuous variable between 0 and 1 are acceptable.', + default_value=0.0, +) + add_meta_data( # Note user override # - see also: Aircraft.Wing.WETTED_AREA_SCALER diff --git a/aviary/variable_info/variables.py b/aviary/variable_info/variables.py index 038a50eb9..20c346a6a 100644 --- a/aviary/variable_info/variables.py +++ b/aviary/variable_info/variables.py @@ -576,7 +576,6 @@ class Wing: MIN_PRESSURE_LOCATION = 'aircraft:wing:min_pressure_location' MISC_MASS = 'aircraft:wing:misc_mass' MISC_MASS_SCALER = 'aircraft:wing:misc_mass_scaler' - MOUNTING_TYPE = 'aircraft:wing:mounting_type' NUM_FLAP_SEGMENTS = 'aircraft:wing:num_flap_segments' NUM_INTEGRATION_STATIONS = 'aircraft:wing:num_integration_stations' OPTIMUM_FLAP_DEFLECTION = 'aircraft:wing:optimum_flap_deflection' @@ -608,6 +607,7 @@ class Wing: THICKNESS_TO_CHORD_UNWEIGHTED = 'aircraft:wing:thickness_to_chord_unweighted' ULTIMATE_LOAD_FACTOR = 'aircraft:wing:ultimate_load_factor' VAR_SWEEP_MASS_PENALTY = 'aircraft:wing:var_sweep_mass_penalty' + VERTICAL_MOUNT_LOCATION = 'aircraft:wing:vertical_mount_location' WETTED_AREA = 'aircraft:wing:wetted_area' WETTED_AREA_SCALER = 'aircraft:wing:wetted_area_scaler' ZERO_LIFT_ANGLE = 'aircraft:wing:zero_lift_angle' diff --git a/aviary/visualization/aircraft_3d_model.py b/aviary/visualization/aircraft_3d_model.py index 2adbf26fb..cd1d68a11 100644 --- a/aviary/visualization/aircraft_3d_model.py +++ b/aviary/visualization/aircraft_3d_model.py @@ -539,7 +539,7 @@ class HorizontalWing(object): Chord at the top of the wing. _position_along_fuselage : float Position of the wing along the fuselage. - _mounting_type : float + _mount_location : float wing location on fuselage (0 = low wing, 1 = high wing, can be fractions). _fuselage : Fuselage The Fuselage object used to represent the fuselage of the aircraft. @@ -556,7 +556,7 @@ def __init__(self, reader, fuselage, wing_type): self._sweep_angle = None self._chord_tip = None self._position_along_fuselage = None - self._mounting_type = None + self._mount_location = None self._fuselage = fuselage self._wing_type = wing_type @@ -601,13 +601,13 @@ def read_variables(self): self._chord_tip = self._chord * taper_ratio if self._wing_type == WingType.WING: try: - mounting_type = self._reader.get_variable_from_case( - "aircraft:wing:mounting_type" + mount_location = self._reader.get_variable_from_case( + "aircraft:wing:mount_location" ) except AircraftModelReaderError: - mounting_type = 0.0 + mount_location = 0.0 self._vertical_position = ( - 2.0 * (mounting_type - 0.5) * self._fuselage.radius + 2.0 * (mount_location - 0.5) * self._fuselage.radius ) self._position_along_fuselage = 0.0 elif self._wing_type == WingType.HORIZONTAL_TAIL: