Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(a380x/flight model): Fix stall and auto rotate issues #9387

Merged
merged 23 commits into from
Nov 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
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
1 change: 1 addition & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
1. [A380X/AP] Improved support of simulation rate 4x - @aguther (Andreas Guther)
1. [A32NX/FANS] Restore Portuguese station codes - @tracernz (Mike)
1. [A380X/MFD] Fixed DIRECT TO selection of active waypoint does nothing - @sognodelx (Sven Gross)
1. [A380X/FLIGHT MODEL] Fix for stall and auto-rotation issues- @donstim (donbikes)

2hwk marked this conversation as resolved.
Show resolved Hide resolved
## 0.12.0

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ master_ignition_switch = 0
starter_type = 2 ; 0=Electric, 1=Manual, 2=Bleed Air
max_contrail_temperature = -39.724
Engine.0 = -10, -84, -1.5
ThrustAnglesPitchHeading.0 = 0, 0
ThrustAnglesPitchHeading.0 = -15, 0
Engine.1 = 15, -47.5, -4
ThrustAnglesPitchHeading.1 = 0, 0
ThrustAnglesPitchHeading.1 = -15, 0
Engine.2 = 15, 47.5, -4
ThrustAnglesPitchHeading.2 = 0, 0
ThrustAnglesPitchHeading.2 = -15, 0
Engine.3 = -10, 84, -1.5
ThrustAnglesPitchHeading.3 = 0, 0
ThrustAnglesPitchHeading.3 = -15, 0
fuel_flow_scalar = 0; NOT

[TURBINEENGINEDATA]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,6 @@
; Copyright (c) 2023-2024 FlyByWire Simulations
; 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.
Benjozork marked this conversation as resolved.
Show resolved Hide resolved

[VERSION]
major = 1
minor = 0
Expand Down Expand Up @@ -508,21 +488,21 @@ Trigger.42 = Name:CGControlTransferEnd#Condition:Manual#EffectTrue:CloseValve.Tr
[AIRPLANE_GEOMETRY]
wing_area = 9096.0 ; Wing area S (SQUARE FEET)
wing_span = 261.65 ; Wing span b (FEET)
wing_root_chord = 58.86 ; Wing root chord croot (FEET), should be 57.97 but increased to match reference MAC length
wing_root_chord = 58.86 ; Wing root chord croot (FEET)
wing_camber = 1 ; (DEGREES) (Unkown - estimated value)
wing_thickness_ratio = 0.05 ; Local thickness is local_chord(x)*wing_thickness_ratio, x = lateral coord
wing_dihedral = 6.5 ; Dihedral angle Lambda (DEGREES)
wing_dihedral = 5.6 ; 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_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_area = 1603 ; 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) OLD VALUE 0
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
Expand All @@ -533,15 +513,15 @@ vtail_pos_lon = -90.5 ; Longitudinal (z) position of vertical tail w.r.t refere
vtail_pos_vert = 37 ; Vertical (y) position of vertical tail w.r.t reference datum (FEET)
vtail_thickness_ratio = 0.02 ; Local thickness is local_chord(x)*vtail_thickness_ratio, x = lateral coord
fuselage_length = 230.97 ; Nose to tail (FEET)
fuselage_diameter = 25; (is 23.43 horizontally, but 27.6 to 28.1 vertically)
fuselage_diameter = 25;
fuselage_center_pos = 10, 0, 7.1
elevator_area = 500 ; Elevator area (SQUARE FEET) OLD VALUE 593
elevator_area = 1200 ; Elevator area (SQUARE FEET)
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_up_limit = 30 ; Elevator max deflection up angle (DEGREES)
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)
Expand Down Expand Up @@ -569,7 +549,7 @@ fly_by_wire = 0 ; Fly-by-wire available true/false
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.45, 50:0.7, 100:1.04, 115:1.5, 400:5.7
;controls_reactivity_scalar = 1 ; Reactivity scalar for all controls


Expand All @@ -578,7 +558,7 @@ 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.5 ; 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_flaps = 0.0706
Expand Down Expand Up @@ -656,7 +636,7 @@ yaw_moment_delta_rudder_mach_table = 0:0
yaw_moment_delta_aileron_mach_table = 0:0
yaw_moment_yaw_rate_mach_table = 0:0
yaw_moment_roll_rate_mach_table = 0:0
elevator_scaling_table = 0:1 ; scales control based on its deflection
elevator_scaling_table = -0.35:3.0, -0.3:2.5, -0.26:1.5, -0.1:1, 0:1, 0.55:1 ; scales control based on its deflection
aileron_scaling_table = 0:1 ; scales control based on its deflection
rudder_scaling_table = 0:1 ; scales control based on its deflection
aileron_load_factor_effectiveness_table = 0:1 ; scaling of roll_moment_delta_aileron versus gravity forces, G effects on aileron effectiveness, acts on roll_moment_delta_aileron
Expand All @@ -665,6 +645,9 @@ 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 = 1
StallDef_EndRatio = 2
StallDef_airflowdetachspeed = 0.1

[FLIGHT_TUNING]

Expand All @@ -676,7 +659,7 @@ parasite_drag_scalar = 1
induced_drag_scalar = 1
flap_induced_drag_scalar = 0.5
elevator_effectiveness = 1
elevator_maxangle_scalar = 0.7
elevator_maxangle_scalar = 1
aileron_effectiveness = 1
rudder_effectiveness = 0.16
rudder_maxangle_scalar = 1
Expand Down Expand Up @@ -794,11 +777,11 @@ drag_scalar = 0 ; Scalar coefficient to ponderate global flap drag coef (non dim
pitch_scalar = 0 ; 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.00, 0.00 ; CONF 0
flaps-position.1 = 0.01, -1, 1.00, 1.00 ; CONF 1
flaps-position.2 = 8.00, 222, 1.00, 1.00 ; CONF 1+F
flaps-position.3 = 17.00, 220, 1.00, 1.00 ; CONF 2
flaps-position.4 = 26.00, 196, 1.00, 1.00 ; CONF 3
flaps-position.5 = 32.00, 182, 1.00, 1.00 ; CONF FULL
flaps-position.1 = 0.01, -1, 1.00, 1.00, 1.00, 0.00 0.00 ; CONF 1
flaps-position.2 = 8.00, 222, 1.00, 1.00, 1.00, 0.00 0.00 ; CONF 1+F
flaps-position.3 = 17.00, 220, 1.00, 1.00 1.00, 0.00 0.00 ; CONF 2
flaps-position.4 = 26.00, 196, 1.00, 1.00 1.00, 0.00 0.00 ; CONF 3
flaps-position.5 = 32.00, 182, 1.00, 1.00 1.00, 0.00 -0.40 ; CONF FULL

[FLAPS.1]
type = 1 ; Flap type 0 = None, 1 = trailing edge, 2 = leading edge
Expand All @@ -814,11 +797,11 @@ 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.5 = 32.00, 182, 1.00, 1.00 ; CONF FULL
flaps-position.1 = 5.0, -1, 1.00, 1.00 1.00, 0.00 0.00 ; CONF 1
flaps-position.2 = 10.00, 222, 0.70, 0.95, 1.00, 0.00 0.00 ; CONF 1+F
flaps-position.3 = 15.00, 220, 1.30, 1.15, 1.00, 0.00 0.00 ; CONF 2
flaps-position.4 = 20.00, 196, 1.50, 1.00, 1.00, 0.00 0.00 ; CONF 3
flaps-position.5 = 32.00, 182, 1.00, 1.02 1.00, 0.00 -0.40 ; CONF FULL

[FLAPS.2]
type = 2 ; Flap type 0 = None, 1 = trailing edge, 2 = leading edge
Expand All @@ -834,8 +817,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.5 = 23.01, 182, 1.00, 1.00 ; CONF FULL
flaps-position.1 = 20.00, 263, 1.85, 0.55, 1.00, 0.00 0.00 ; CONF 1
flaps-position.2 = 20.01, 222, 0.70, 0.99, 1.00, 0.00 0.00 ; CONF 1+F
flaps-position.3 = 20.02, 220, 1.30, 1.00, 1.00, 0.00 0.00 ; CONF 2
flaps-position.4 = 23.00, 196, 1.50, 1.00, 1.00, 0.00 0.00 ; CONF 3
flaps-position.5 = 23.01, 182, 1.00, 1.00, 1.00, 0.00 -0.40 ; CONF FULL