From 628dbb52f1c4211fb09b78dc3fa7fd34f8651176 Mon Sep 17 00:00:00 2001 From: donstim <70166617+donstim@users.noreply.github.com> Date: Tue, 10 Dec 2024 14:33:29 -0800 Subject: [PATCH 1/5] Update flight_model.cfg --- .../FlyByWire_A380_842/flight_model.cfg | 102 ++++++++---------- 1 file changed, 46 insertions(+), 56 deletions(-) diff --git a/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg b/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg index f22823f108a..1fbfc4fc05a 100644 --- a/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg +++ b/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg @@ -2,24 +2,6 @@ ; SPDX-License-Identifier: GPL-3.0 ; A380 MSN 225 - WV03 A380-842 -; 07 Mar 2023 - Fuel System Update - -; 10 Feb 2024 - Masses (tanks/cargo) shift 5m fwd to match visual model -; Contact point of wing gear slightgly set higher so it gets less plane weight (shift weight on nose) -; Main gears contact points pushed a bit aft as a compromise between correct tilt animation and weight distribution - -; 14 Feb 2024 - Moved CG while keeping correct %Mac offset by moving aero center forward -; Changed contact points and empty mass to match real MSN empty weight load sheet - -; 15 Feb 2024 - Activate new spring method and update strut springs - -; 19 Jul 2024 - Adjust CG, wheels and fuel tanks to correct model origin to Airbus reference datum offset -; The position of the nose in the model coord. system is 35.1927m. The Airbus reference datum distance from the nose is 7.33m. -; So, the conversion from HArm value to model coordinates in m is: model_coord = (35.1927m + 7.33m) - harm_value - -; 13 Sept 2024 fixed some invalid entries in the trigger section - -; 22 Oct 2024 Fixed numerous issues with the fuel system. Code added to address MSFS fuel system issues and restrict transfers until airplane is in flight. [VERSION] major = 1 @@ -515,15 +497,15 @@ wing_dihedral = 6.5 ; Dihedral angle Lambda (DEGREES) wing_incidence = 2 ; Wing incidence (DEGREES) (unknown) wing_twist = -5.5 ; Wing twist epsilon (DEGREES) oswald_efficiency_factor = 0.70 ; Wing Oswald efficiency factor e (non dimensional) -wing_winglets_flag = 0 ; Has winglets true/false (MSFS doesn't use this parameter) +wing_winglets_flag = 0 ; Has winglets true/false wing_sweep = 37 ; Wing sweep (DEGREES) ;wing_pos_apex_lon = 0 ; Longitudinal (z) position of wing apex w.r.t reference datum (FEET) (not used) -wing_pos_apex_vert = -2 ; Vertical (y) position of wing apex w.r.t reference datum (FEET) (estimated from mesh drawing) -htail_area = 1250 ; Horizontal tail area (SQUARE FEET) -original 1603 -htail_span = 80 ; Horizontal tail span (FEET) -OLD VALUE 83.50 -htail_pos_lon = -105 ; Longitudinal (z) position of horizontal tail w.r.t reference datum (FEET) -76.6 -htail_pos_vert = 13.8 ; Vertical (y) position of horizontal tail w.r.t reference datum (FEET) 13.8 11.35 -OLD VALUE 14.8 -htail_incidence = -2 ; Horizontal tail incidence (DEGREES) OLD VALUE 0 +wing_pos_apex_vert = -2 ; Vertical (y) position of wing apex w.r.t reference datum (FEET) +htail_area = 1250 ; Horizontal tail area (SQUARE FEET) +htail_span = 80 ; Horizontal tail span (FEET) +htail_pos_lon = -105 ; Longitudinal (z) position of horizontal tail w.r.t reference datum (FEET) +htail_pos_vert = 13.8 ; Vertical (y) position of horizontal tail w.r.t reference datum (FEET) +htail_incidence = -2 ; Horizontal tail incidence (DEGREES) htail_sweep = 38 ; Horizontal tail sweep angle (DEGREES) htail_thickness_ratio = 0.02 ; Local thickness is local_chord(x)*htail_thickness_ratio, x = lateral coord vtail_area = 2800.4 ; Vertical tail area (SQUARE FEET) @@ -539,9 +521,9 @@ elevator_area = 500 ; Elevator area (SQUARE FEET) OLD VALUE 593 aileron_area = 258 ; Elevator area (SQUARE FEET) rudder_area = 416.6 ; Elevator area (SQUARE FEET) elevator_up_limit = 30 ; Elevator max deflection up angle (DEGREES) Real value is 30 -elevator_down_limit = 20 ; Elevator max deflection down angle (absolute value) (DEGREES) Real value is 17 -aileron_up_limit = 30; Aileron max deflection angle (DEGREES) Real value is 25 -aileron_down_limit = 20; Aileron max deflection down angle (absolute value) (DEGREES) Real value is 25 +elevator_down_limit = 20 ; Elevator max deflection down angle (absolute value) (DEGREES) +aileron_up_limit = 30; Aileron max deflection angle (DEGREES) +aileron_down_limit = 20; Aileron max deflection down angle (absolute value) (DEGREES) rudder_limit = 30; Rudder max deflection angle (absolute value) (DEGREES) rudder_trim_limit = 25.5 ; Rudder trim max deflection angle (absolute value) (DEGREES) elevator_trim_up_limit = 10 ; Elevator trim max angle (absolute value) (DEGREES) @@ -566,10 +548,10 @@ elevator_trim_neutral = 0 ; Elevator trim max angle (absolute value) (DEGREES), aileron_to_rudder_scale = 0 ; non-dimensional flap_to_aileron_scale = 0 ; non-dimensional fly_by_wire = 0 ; Fly-by-wire available true/false -elevator_elasticity_table = 0:1, 400:1 +elevator_elasticity_table = 0:1, 400:1 aileron_elasticity_table = 0:1, 400:1 rudder_elasticity_table = 0:1, 400:1 -elevator_trim_elasticity_table = 0:1, 400:1 +elevator_trim_elasticity_table = 0:0.3, 40:0.50, 55:1.2, 80:1.45, 400:1.7 ;controls_reactivity_scalar = 1 ; Reactivity scalar for all controls @@ -578,19 +560,19 @@ lift_coef_pitch_rate = -47.338 ; The change in lift per change in pitch rate lift_coef_daoa = 0 ; lift per change in angle of attack rate lift_coef_delta_elevator = -1.143 ; The change in lift per change in elevator deflection lift_coef_horizontal_incidence = 0 ; The change in lift per change in horizontal incidence angle -lift_coef_flaps = 1.905 ; Change in lift due to flaps +lift_coef_flaps = 1.505 ; Change in lift due to flaps lift_coef_spoilers = -0.546875 ; Change in lift due to spoilers -drag_coef_zero_lift = 0.015 ; The zero lift drag polar +drag_coef_zero_lift = 0.0249 ; The zero lift drag polar drag_coef_flaps = 0.0706 -drag_coef_gear = 0.0872 +drag_coef_gear = 0.079 drag_coef_spoilers = 0.04775; ; Change in drag due to spoilers side_force_slip_angle = -0.624 ; (yaw angle) The change in side force per change in side slip angle side_force_roll_rate = 2.069 ; (roll velocity) The change in side force per change in roll rate side_force_yaw_rate = 8.646 ; (yaw velocity) The change in side force per change in yaw rate side_force_delta_rudder = -2.507 ; The change in side force per change in rudder deflection pitch_moment_horizontal_incidence = 0 ; The change in pitch moment per change in horizontal incidence angle -pitch_moment_delta_elevator = -2.716 ; The change in pitch moment per change in elevator deflection -pitch_moment_delta_trim = -2.716 ; The change in pitch moment per change in trim +pitch_moment_delta_elevator = -3.268 ; The change in pitch moment per change in elevator deflection +pitch_moment_delta_trim = -3.268 ; The change in pitch moment per change in trim pitch_moment_pitch_damping = -73.534 ; The change in pitch moment per change in pitch rate(PRIMARY PITCH STABILITY FACTOR). deg/s pitch_moment_aoa_0 = -0.151 ; Pitch moment at zero angle - of - attack pitch_moment_daoa = 0 ; The change in pitch moment per change in angle of attack @@ -616,8 +598,8 @@ yaw_moment_delta_rudder_propwash = 0.753 ; (control) yaw_moment_delta_rudder_trim_scalar = 0.753 ; Change in yaw moment due to rudder trim compute_aero_center = 0 aero_center_lift = 11 ; Init to center -lift_coef_aoa_table = -3.15:0, 0:0.138, 0.139:1.32, 0.2:1.48, 0.26:1.76, 0.29:1.750, 0.32:1.60, 0.5:1.50, 3.15:0 -lift_coef_ground_effect_mach_table = 0.1171:0.7211,0.1411:0.7111,0.1761:0.6811,0.2171:0.6631,0.3171:0.647135503,0.4171:0.637668047,0.5171:0.63293432,0.6171:0.628200592,0.7171:0.625833728,0.8171:0.623466864,1:1 +lift_coef_aoa_table = -3.15:0, 0:0.138, 0.139:1.32, 0.2:1.48, 0.314:1.90, 0.36:1.740, 0.5:1.50, 3.15:0 +lift_coef_ground_effect_mach_table = 0:0.75, 0.1:0.73, 0.2:0.69, 0.3:0.68, 0.4:0.66, 0.5:0.65, 1.0:0.63 lift_coef_mach_table = 0:1 lift_coef_delta_elevator_mach_table = 0:0 lift_coef_daoa_mach_table = 0:0 @@ -628,8 +610,8 @@ side_force_slip_angle_mach_table = 0:0 side_force_delta_rudder_mach_table = 0:0 side_force_yaw_rate_mach_table = 0:0 side_force_roll_rate_mach_table = 0:0 -pitch_moment_aoa_table = -3.15:0, -0.8:-2.402, -0.4:-1.861, -0.2:-0.842, -0.1:-0.442, 0:0, 0.2:1.173, 0.23:1.337, 0.26:1.489, 0.29:1.723, 0.31:1.919, 0.4:2.276, 0.8:2.992, 3.15:0 -pitch_moment_delta_elevator_aoa_table = -180:-1, -40:0.05, -20:0.455, -10:0.853, -5:1.007, 0:1, 5:0.839, 10:0.693, 20:0.381, 40:-0.08, 180:-1; AoA(alpha) is given in DEGREES +pitch_moment_aoa_table = 0:0 +pitch_moment_delta_elevator_aoa_table = 0:0; AoA(alpha) is given in DEGREES pitch_moment_horizontal_incidence_aoa_table = 0:1 ; AoA(alpha) is given in DEGREES pitch_moment_daoa_aoa_table = 0:1 ; AoA(alpha) is given in DEGREES pitch_moment_pitch_alpha_table = 0:1 ; AoA(alpha) is given in DEGREES @@ -664,7 +646,13 @@ lift_coef_at_drag_zero = 0.12500 lift_coef_at_drag_zero_flaps = 0.40000 ;elevator_lift_coef = 0.5 ; Defines elevator lift vs elevator angle-of-attack ;rudder_lift_coef = 0.5 ; Defines rudder lift vs rudder angle-of-attack -;fuselage_lateral_cx = 0.5; Defines fuselage lift and side force vs fuselage angle-of-attack and beta +;fuselage_lateral_cx = 0.5; Defines fuselage lift and side force vs fuselage angle-of-attack and beta\StallDef_StartRatio = 4 +StallDef_EndRatio = 6 +StallDef_airflowdetachspeed = 0.01 +Stall_AileronAddIncidence = 7 +Stall_TipAddIncidence = 7 +presspt_fwd_Alpha0_pMAC = -0.15 ; Forward offset for wing center of pressure at aoa = 0 -- is ratio of local MAC -- positive is forward, negative is aft +presspt_fwd_AlphaStall_pMAC = -0.5 ; ; Forward offset for wing center of pressure at stall aoa -- is ratio of local MAC -- positive is forward, negative is aft [FLIGHT_TUNING] @@ -673,20 +661,20 @@ modern_fm_only = 1; 1 (true) forces use of modern flight model regardless of wha ;icing_scalar = 1 ; Scales effect of icing on lift and weight cruise_lift_scalar = 0.81 parasite_drag_scalar = 1 -induced_drag_scalar = 1 -flap_induced_drag_scalar = 0.5 +induced_drag_scalar = 0.827 +flap_induced_drag_scalar = 0.25 elevator_effectiveness = 1 elevator_maxangle_scalar = 0.7 aileron_effectiveness = 1 -rudder_effectiveness = 0.16 +rudder_effectiveness = 0.25 rudder_maxangle_scalar = 1 -pitch_stability = 4 -roll_stability = 0.65 +pitch_stability = 2 +roll_stability = 1 yaw_stability = 1 pitch_gyro_stability = 6 roll_gyro_stability = 4.5 yaw_gyro_stability = 1 -elevator_trim_effectiveness = 1 +elevator_trim_effectiveness = 1.1 aileron_trim_effectiveness = 1 rudder_trim_effectiveness = 1 hi_alpha_on_roll = 0 @@ -698,10 +686,12 @@ gyro_precession_on_yaw = 0 engine_wash_on_roll = 0 ; Torque effect wingflex_scalar = 0.75 wingflex_offset = -0.25 -ground_crosswind_effect_zero_speed = -1000 -ground_crosswind_effect_max_speed = -1000 +ground_crosswind_effect_zero_speed = 10 +ground_crosswind_effect_max_speed = -90 ground_high_speed_steeringwheel_static_friction_scalar = 1 ground_high_speed_otherwheel_static_friction_scalar = 1 +clcd_normalization_aoa_deg_low = 0 +clcd_normalization_aoa_deg_high = 18 [REFERENCE SPEEDS] full_flaps_stall_speed = 115 ; Knots True (KTAS) @@ -814,10 +804,10 @@ drag_scalar = 1 ; Scalar coefficient to ponderate global flap drag coef (non dim pitch_scalar = 1 ; Scalar coefficient to ponderate global flap pitch coef (non dimensioned) max_on_ground_position = 5 ; Dynamically set in-tool to last flap-position index by defaut when -1 is found. flaps-position.0 = 0.00, -1, 0, 0.0 ; CONF 0 -flaps-position.1 = 5.0, -1, 1.00, 1.00 ; CONF 1 -flaps-position.2 = 10.00, 222, 0.70, 1.30 ; CONF 1+F -flaps-position.3 = 15.00, 220, 1.30, 1.25 ; CONF 2 -flaps-position.4 = 20.00, 196, 1.50, 1.50 ; CONF 3 +flaps-position.1 = 5.0, -1, 0.05, 0.01 ; CONF 1 +flaps-position.2 = 10.00, 222, 0.22, 1.26 ; CONF 1+F +flaps-position.3 = 15.00, 220, 1.00, 1.30 ; CONF 2 +flaps-position.4 = 20.00, 196, 1.00, 1.46; CONF 3 flaps-position.5 = 32.00, 182, 1.00, 1.00 ; CONF FULL [FLAPS.2] @@ -834,8 +824,8 @@ drag_scalar = 0.5 ; Scalar coefficient to ponderate global flap drag coef (non d pitch_scalar = 1 ; Scalar coefficient to ponderate global flap pitch coef (non dimensioned) max_on_ground_position = 5 ; Dynamically set in-tool to last flap-position index by defaut when -1 is found. flaps-position.0 = 0.00, -1, 1.00, 1.00 ; CONF 0 -flaps-position.1 = 20.00, 263, 1.85, 0.55 ; CONF 1 -flaps-position.2 = 20.01, 222, 0.70, 1.00 ; CONF 1+F -flaps-position.3 = 20.02, 220, 1.30, 1.25 ; CONF 2 -flaps-position.4 = 23.00, 196, 1.50, 1.50 ; CONF 3 +flaps-position.1 = 20.00, 263, 0.10, 0.01 ; CONF 1 +flaps-position.2 = 20.01, 222, 1.00, 1.00 ; CONF 1+F +flaps-position.3 = 20.02, 220, 1.00, 1.25 ; CONF 2 +flaps-position.4 = 23.00, 196, 1.50, 1.25 ; CONF 3 flaps-position.5 = 23.01, 182, 1.00, 1.00 ; CONF FULL From 4c5b1f6cd340efd672d875ed5a106d978bb81a74 Mon Sep 17 00:00:00 2001 From: donstim <70166617+donstim@users.noreply.github.com> Date: Tue, 10 Dec 2024 14:36:32 -0800 Subject: [PATCH 2/5] Update flight_model.cfg --- .../SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg b/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg index 1fbfc4fc05a..1cd1eb2b234 100644 --- a/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg +++ b/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg @@ -807,7 +807,7 @@ flaps-position.0 = 0.00, -1, 0, 0.0 ; CONF 0 flaps-position.1 = 5.0, -1, 0.05, 0.01 ; CONF 1 flaps-position.2 = 10.00, 222, 0.22, 1.26 ; CONF 1+F flaps-position.3 = 15.00, 220, 1.00, 1.30 ; CONF 2 -flaps-position.4 = 20.00, 196, 1.00, 1.46; CONF 3 +flaps-position.4 = 20.00, 196, 1.50, 1.46; CONF 3 flaps-position.5 = 32.00, 182, 1.00, 1.00 ; CONF FULL [FLAPS.2] From e406ece8256a70631aef4cc7a464174166e89656 Mon Sep 17 00:00:00 2001 From: donstim <70166617+donstim@users.noreply.github.com> Date: Tue, 10 Dec 2024 14:41:02 -0800 Subject: [PATCH 3/5] Update CHANGELOG.md --- .github/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md index affacd06b5f..83a0b961813 100644 --- a/.github/CHANGELOG.md +++ b/.github/CHANGELOG.md @@ -87,6 +87,7 @@ 1. [A380X/SD] Add brake temperature color change to amber when brakes are hot - @heclak (Heclak) 1. [A380X/FCU] Fix display of values on FCU during light test - @heclak (Heclak) 1. [A380X/FMS] Fix VLS computation error for CONF 1, might have lead to FMS crashes during climb out - @flogross89 (floridude) +1. [A380X/FLIGHT MODEL] Fix pitchup and unrecoverable stall - - @donstim (donbikes#4084) ## 0.12.0 From 97424ec3272f1cc288e533364919a626b29f65a8 Mon Sep 17 00:00:00 2001 From: donstim <70166617+donstim@users.noreply.github.com> Date: Tue, 10 Dec 2024 22:22:08 -0800 Subject: [PATCH 4/5] Update flight_model.cfg --- .../SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg b/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg index 1cd1eb2b234..42a1c296d8c 100644 --- a/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg +++ b/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg @@ -548,7 +548,7 @@ elevator_trim_neutral = 0 ; Elevator trim max angle (absolute value) (DEGREES), aileron_to_rudder_scale = 0 ; non-dimensional flap_to_aileron_scale = 0 ; non-dimensional fly_by_wire = 0 ; Fly-by-wire available true/false -elevator_elasticity_table = 0:1, 400:1 +elevator_elasticity_table = 0:1, 400:1 aileron_elasticity_table = 0:1, 400:1 rudder_elasticity_table = 0:1, 400:1 elevator_trim_elasticity_table = 0:0.3, 40:0.50, 55:1.2, 80:1.45, 400:1.7 From cb28e07344c6cecb565590bee346a83cd41465c2 Mon Sep 17 00:00:00 2001 From: donstim <70166617+donstim@users.noreply.github.com> Date: Fri, 13 Dec 2024 00:15:19 -0800 Subject: [PATCH 5/5] Update flight_model.cfg --- .../AirPlanes/FlyByWire_A380_842/flight_model.cfg | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg b/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg index 42a1c296d8c..d889d102e9e 100644 --- a/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg +++ b/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/flight_model.cfg @@ -19,9 +19,9 @@ reference_datum_position = 0, 0, 0 ; Position of reference datum relative to FS( empty_weight_CG_position = 6.47, 0, 2.8 ; Position of airplane empty weight CG relative to reference datum (FEET), z, x, y Should give empty weight cg of 36.2%RC CG_forward_limit = 0.28 ; Gravity center forward limit (longitudinal offset) for longitudinal stability CG_aft_limit = 0.44 ; Gravity center after limit (longitudinal offset z) w.r.t reference datum for longitudinal stability (FEET) -empty_weight_pitch_MOI = 79112140 ; Empty pitch moment of inertia, Jxx (SLUG SQ FEET) -empty_weight_roll_MOI = 35568930 ; Empty roll moment of inertia, Jzz (SLUG SQ FEET) -empty_weight_yaw_MOI = 109433436 ; Empty yaw moment of inertia, Jyy (SLUG SQ FEET) +empty_weight_pitch_MOI = 53233642 ; Empty pitch moment of inertia, Jxx (SLUG SQ FEET) +empty_weight_roll_MOI = 53147216 ; Empty roll moment of inertia, Jzz (SLUG SQ FEET) +empty_weight_yaw_MOI = 102443484 ; Empty yaw moment of inertia, Jyy (SLUG SQ FEET) empty_weight_coupled_MOI = 1000 ; Empty transverse moment of inertia, Jyz (SLUG SQ FEET) activate_mach_limit_based_on_cg = 0 ; Activate mach limitation depending on CG position (true if > 0 /false othewise). Mostly for Concorde). activate_cg_limit_based_on_mach = 0 ; Activate cg limitation depending on mach value (true if > 0 /false othewise). Mostly for Concorde). @@ -646,7 +646,8 @@ lift_coef_at_drag_zero = 0.12500 lift_coef_at_drag_zero_flaps = 0.40000 ;elevator_lift_coef = 0.5 ; Defines elevator lift vs elevator angle-of-attack ;rudder_lift_coef = 0.5 ; Defines rudder lift vs rudder angle-of-attack -;fuselage_lateral_cx = 0.5; Defines fuselage lift and side force vs fuselage angle-of-attack and beta\StallDef_StartRatio = 4 +;fuselage_lateral_cx = 0.5; Defines fuselage lift and side force vs fuselage angle-of-attack and beta +StallDef_StartRatio = 4 StallDef_EndRatio = 6 StallDef_airflowdetachspeed = 0.01 Stall_AileronAddIncidence = 7