flight_model.cfg - [AIRPLANE_GEOMETRY]
This section is for defining the geometry of an aircraft, which is an important part of the Microsoft Flight Simulator engine, since the flying physics will use, in a large part, the aircraft geometry to simulate the interaction between the SimObject and the physical world. In general, the geometry of the aircraft should be created and edited through the Aircraft Editor, and only tweaked if required through the flight_model.cfg
file.
NOTE: This section is not required if you are creating a Helicopter SimObject.
Note that you can find further information on the physics behind this section from the following page:
You can also find a helpful tutorial on the basics of setting up the aircraft geometry from the following page:
The available parameters for the [AIRPLANE_GEOMETRY]
section are:
Parameter | Description | Type | Required |
---|---|---|---|
wing_area |
Total area of the top surface of the wing from tip-to-tip, in sqft. The wing area impacts the target lift and drag forces. For example it directly impacts lift proportionally to the area: \(L = 0.5 \times p \times v \times v \times WingArea \times C_L\) |
Float | Yes |
wing_span |
The horizontal distance between the two wing tips, in ft. The wing span impacts the distribution of the forces over the aircraft, and the larger the wing span the greater the increase in the roll and yaw moment of ailerons and also the resistance to the roll movement of the aircraft. |
Float | Yes |
wing_root_chord |
Length of the wing Chord at the intersection of the wing and the fuselage, in ft. The chord over the wing will be automatically computed based on the area, the span and the chord at the root. To get a rectangle shaped wing, enter the average chord into the root chord. To get a triangle shaped wing enter a root chord larger than the average chord. |
Float | Yes |
wing_camber |
The wing Camber, in degrees. Wing camber here means the difference in virtual incidence or slope between the back region of the wing and the front region of the wing. A wing with a lot of camber has a big curve while a wing with less camber is more streamlined. Wing camber mostly has an impact on the pitch moment generated at various wing incidences as well as on the position of the aerodynamic center. | Float | Yes |
wing_thickness_ratio |
The wing local thickness, calculated as: \( \textrm{local\_chord}(x) \times \textrm{wing\_thickness\_ratio} \) where: \(x = \textrm{lateral coord}\) Value is in ft. |
Float | Yes |
wing_dihedral |
This is the angle between the wing leading edge and a horizontal line parallel to the ground, as seen when looking at the front of an aircraft. Technically defined as the dihedral angle Lambda, in degrees. The wing dihedral impacts secondary effects such as induced roll and adverse yaw. |
Float | Yes |
wing_virtualdihedral |
Sets the "virtual" dihedral. This values is added to the actual dihedral value, but without moving the surface, proportional to the vertical position of the wing. Note that high wings have more positive virtual dihedral, and low wings have more negative virtual dihedral. You can use this parameter to simulate the pressure build up between wing and fuselage when side slipping. Default value is 5.0. |
Float | No |
wing_incidence |
This is the angle (in degrees) the mean wing Chord makes with a horizontal line parallel to the ground, as seen when looking at the side of an aircraft from the wing tip. This base wing incidence is calculated when the aircraft surfaces are initially "built" in the simulation and before the normalization of the lift table. The base incidence impacts the zero AoA lift and should be set as closely as possible to the real wing incidence so that the normalization has as little work to do in order to reach the target lift polar. The normalization will readjust this incidence in order to match the target lift coefficient. |
Float | Yes |
wing_twist |
This is the difference in wing incidence from the root Chord and the tip Chord of the wing (in degrees). Technically defined as the wing twist epsilon. Most aircraft have twisted wings in order to increase aileron authority close to and during a stall. This also causes higher incidences towards the root of the wing and will cause these regions to stall earlier, which will cause more symmetrical stalls. |
Float | Yes |
oswald_efficiency_factor |
The wing Oswald Efficiency Factor (non dimensional) measures the aerodynamic efficiency of the wing, where a theoretically perfect wing will have a factor of 1.0. This is the "e" in: \(C_{Di} = \frac {(C_L)^2} {pi \times AR \times e}\) While the aspect ratio is defined by the geometry, this factor impacts the induced drag, and most planes have an oswald factor in the order of 0.7. |
Float | Yes |
wing_winglets_flag |
Sets whether the aircraft has winglets (TRUE, 1) or not (FALSE, 0). This parameter is not directly used to define the aircraft geometry, however if the aircraft goes through the normalization process that normalizes the performance to the desired drag, then that drag value will include the winglet drag if it is enabled using this parameter. |
Bool | Yes |
wing_sweep |
The angle of the wing with the lateral axis. This is the angle the leading edge of the wing makes with a horizontal line perpendicular to the fuselage, as seen when looking down on top of an aircraft (expressed in degrees). Wing sweep has an important impact on secondary effects but also on the location of the wing on the longitudinal axis. The wing will be positioned to align the default 25% aerodynamic center with the |
Float | Yes |
wing_pos_apex_lon |
Currently not used in Microsoft Flight Simulator. Instead you should be using the (Longitudinal (z) distance of the wing apex - as measured at the centerline of the aircraft - from the Datum Reference Point point in ft. This distance is measured positive in the forward (aircraft nose) direction. Note that this value will have no effect if the |
Float | No |
wing_pos_apex_vert |
Vertical (y) distance of the wing apex - as measured at the centerline of the aircraft - from the Datum Reference Point in ft. This distance is measured positive in the "up" direction. |
Float | Yes |
wing_mindragincidence |
This sets the aircraft AoA at which the wing's parasitic drag is minimal (lift induced drag is always minimal when lift is minimal). Default value is 0. |
Float | No |
htail_area |
Area of the static part of the horizontal stabilizer (not counting the elevator area), in sqft. The horizontal stabilizer and elevator will be simulated as a single wing with surfaces positioned in a way that the overall incidence matches the current control surface deflection. This single surface will have the area of |
Float | Yes |
htail_span |
The horizontal span of the htail and elevator surface, in ft. A large htail span will impact the roll moment of the propeller wash but also resist the aircraft roll movement. |
Float | Yes |
htail_pos_lon |
Longitudinal (z) distance of the horizontal tail apex and elevator surface - as measured at the centerline of the aircraft - from the Datum Reference Point in ft. This distance is measured positive in the forward (aircraft nose) direction. The longitudinal position of the htail impacts the pitch moment of the htail and elevator surfaces. The htail force vectors should be aligned with the real surface. |
Float | Yes |
htail_pos_vert |
Vertical (y) distance of the horizontal tail apex and elevator surface - as measured at the centerline of the aircraft - from the Datum Reference Point in ft. This distance is measured positive in the "up" direction. Depending on the vertical position of the htail, it can get into turbulences created by the wing located in front of it. In extreme situations this can create a deep and unrecoverable stall. |
Float | Yes |
htail_incidence |
The default incidence of the htail and elevator surface combination. This is the angle the mean horizontal tail Chord makes with a horizontal line parallel to the ground, as seen when looking at the side of an aircraft from the horizontal tail tip (in degrees). The aircraft surfaces will be build with this default incidence setting and all performance normalization will be calculated with this incidence. This means that the target lift and drag coefficients will match the aircraft with this We recommend setting the \({C_D} = {C_{D0}} + K(C_L - C_{L0})^{2}\) However, it is possible to chose a different speed than cruise and set the |
Float | Yes |
htail_sweep |
This is the angle the horizontal tail leading edge makes with a horizontal line perpendicular to the fuselage, as seen when looking down on top of an aircraft (in degrees). | Float | Yes |
htail_thickness_ratio |
The horizontal tail local thickness, calculated as:
where Value is in ft. |
Float | Yes |
vtail_area |
The fuselage-to-tip area of the static part of the vertical stabilizer (not counting the rudder area), in sqft. The vertical stabilizer and rudder will be simulated as a single wing with surfaces positioned in a way such that the overall incidence matches the current control surface deflection. This single surface will have the area of |
Float | Yes |
vtail_span |
The vertical tail span is the vertical distance from the vertical tail-fuselage intersection to the tip of the vertical tail, in ft. A large vtail span will impact the roll moment of the propeller wash but also resist the aircraft roll movement. It will also counter adverse yaw and counter induced roll during rudder inputs. |
Float | Yes |
vtail_sweep |
This is the angle the vertical tail leading edge makes with a vertical line perpendicular to the fuselage, as seen when looking at the side of the vertical tail (in degrees). | Float | Yes |
vtail_pos_lon |
Longitudinal (z) position of the vtail and rudder surface - as measured at the centerline of the aircraft - from the Datum Reference Point in ft. This distance is measured positive in the forward (aircraft nose) direction. The longitudinal position of the vtail impacts the yaw moment of the vtail and rudder surfaces. The vtail force vectors should be aligned with the real surface.
|
Float | Yes |
vtail_pos_vert |
Vertical position of the vtail and rudder surface - as measured at the centerline of the aircraft - from the Datum Reference Point in ft. This distance is measured positive in the "up" direction. Depending on the vertical position of the vtail, it can get into turbulences created by the wing located in front of it. The vertical position of the vtail will impact the roll moment created by the surface. |
Float | Yes |
vtail_thickness_ratio |
The vertical tail local thickness, calculated as:
where Value is in ft. |
Float | Yes |
fuselage_length |
The fuselage length from nose to tail, in ft. | Float | Yes |
fuselage_diameter |
The fuselage diameter, in ft. | Float | Yes |
fuselage_center_pos |
The fuselage center from the Datum Reference Point, in ft. |
1D Table of 3 Floats (see Data Types for more information) |
Yes |
fuselage_mindragincidence |
Aircraft AoA at which the fuselage's drag is minimal. Default value is 0. |
Float | No |
elevator_area |
Area of the moving part of the horizontal stabilizer (not counting the htail area), in sqft. The horizontal stabilizer and elevator will be simulated as a single wing with surfaces positioned in a way that the overall incidence matches the current control surface deflection. This single surface will have the area of |
Float | Yes |
aileron_area |
The top surface aileron area, in sqft. | Float | Yes |
aileron_to_elevator_gain |
Scales the elevator deflection angle in relation to the aileron deflection angle. Default value is 0. |
Float | No |
rudder_area |
Area of the moving part of the vertical stabilizer (not counting the vtail area),in sqft. The vertical stabilizer and rudder will be simulated as a single wing with surfaces positioned in a way that the overall incidence matches the current control surface deflection. This single surface will have the area of |
Float | Yes |
elevator_up_limit |
Upper angular limit of the elevator and htail combined control surface, in degrees. This should be the maximum elevator deflection angle possible and will be scaled down by the elasticity table and the |
Float | Yes |
elevator_down_limit |
Lower angular limit of the elevator and htail combined control surface, in degrees (absolute values only). This should be the maximum elevator deflection angle possible and will be scaled down by the elasticity table and the |
Float | Yes |
aileron_up_limit |
Upper angular limit of the aileron and wing combined control surface, in degrees. This should be the maximum aileron deflection angle possible and will be scaled down by the elasticity table and the |
Float | Yes |
aileron_down_limit |
Lower angular limit of the aileron and wing combined control surface, in degrees (absolute values only). This should be the maximum aileron deflection angle possible and will be scaled down by the elasticity table and the |
Float | Yes |
aileron_to_rudder_scale |
The aileron to rudder ratio, used to link the two. If set to a value other than 0, the rudder will be controlled by the aileron controller axis instead of the rudder controller axis. The scale defines the ratio between the aileron input applied to the rudder and the original aileron input. |
Float | Yes |
aileron_span_outboard |
The outboard aileron span, expressed as a Percent Over 100. This is the ratio of wing length from the tip to the end of the aileron surface. A larger aileron will increase the roll moment of aileron deflection, but it will also increase the local drag generated by aileron deflection. |
Float |
Yes |
rudder_limit |
Angular limit in degrees (absolute values only) of the rudder and vtail combined control surface. This should be the maximum rudder deflection angle possible and will be scaled down by the elasticity table and the |
Float | Yes |
rudder_trim_limit |
Angular limit in degrees (absolute values only) of the rudder trim. This deflection adds to the rudder deflection. This should be the maximum rudder trim deflection angle possible and will be scaled down by the elasticity table and the |
Float | Yes |
elevator_trim_limit |
Angular limit in degrees of the elevator trim. This deflection adds to the elevator deflection. This should be the maximum elevator trim deflection angle possible and will be scaled down by the elasticity table and the If this value is omitted and the |
Float | No |
elevator_trim_neutral |
For many aircraft this will be the take off trim setting. The aircraft will start with this trim setting when starting on the ground. This trim setting is not used for performance normalizations nor to achieve the target lift and drag values, and is used for indicators only. The |
Float | Yes |
elevator_trim_up_limit |
Set the upper limit of the elevator trim deflection that makes the aircraft pitch up, in degrees (absolute values only). Note that this will override the value set in If this parameter is omitted, then the |
Float | No |
elevator_trim_down_limit |
Set the lower limit of the elevator trim deflection that makes the aircraft pitch down, in degrees (absolute values only). Note that this value cannot be greater than the value set in If this parameter is omitted, then the |
Float | No |
spoiler_limit |
This sets the angular limit of the wing spoilers on an aircraft, in degrees (absolute values only), when the spoiler is in ground configuration. If this limit is 0, no spoilers exist for the aircraft. |
Float | Yes |
air_spoiler_limit |
Angular limit in degrees of the spoiler and wing combined control surface, in degrees (absolute values only) when the spoiler is in the air configuration. If this value is not set, then it will default to the |
Float | Yes |
spoilerons_available |
Indicates whether the spoilers also behave as spoilerons for roll control (if spoilers are available): 0 = FALSE (no spoilerons) or 1 = TRUE. Spoilerons will add spoiler deflection to aileron deflection based on |
Bool | Yes |
aileron_to_spoileron_gain |
Scales the spoileron deflection angle in relation to the aileron deflection angle set with min_ailerons_for_spoilerons (if spoilerons_available is TRUE). |
Float | Yes |
min_ailerons_for_spoilerons |
This value is used to indicate at what minimum aileron deflection angle the spoilers become active for roll control, in degrees (absolute values only). Based on |
Float | Yes |
min_flaps_for_spoilerons |
This value is used to indicate the minimum flap handle position where the spoilerons become active, in degrees (absolute values only). | Float | Yes |
spoiler_extension_time |
Time, in seconds, necessary to fully extend the spoilers. | Float | Yes |
spoiler_handle_available |
This is used to configure the airplane with manual controls for the spoiler deflections (TRUE, 1) or not (FALSE, 0). |
Bool | Yes |
spoiler_disabled_by_flaps |
If TRUE (1), the spoilers will automatically retract when the flaps are extended. Default is FALSE (0). | Bool | Yes |
auto_spoiler_auto_retracts |
If TRUE (1), the spoilers will automatically retract when the plane speed goes below auto_spoiler_min_speed . Default is TRUE (1). |
Bool | Yes |
auto_spoiler_available |
Sets whether auto spoilers are available (TRUE, 1) or not (FALSE, 0). | Bool | Yes |
auto_spoiler_min_speed |
The minimum speed (in Knots) at which auto spoiler can activate. Defaults to 0. | Float | Yes |
positive_g_limit_flaps_up |
Flap positive load limit when up. Same dimension as gravity vector, in ft per second². Note that if this parameter is not included, then none of the G-Limit flaps parameter will be read and will simply use the default values. Default value is 4. The aircraft will crash if the load factor reaches the G limit calculated using this parameter (For more information please see here: Overstress Damage). An aircraft with a load factor hold fly by wire system, will respect these limits as load factor limits. |
Float | No |
positive_g_limit_flaps_down |
Flap positive load limit when down. Same dimension as gravity vector, in ft. per second². Note that this parameter is only read when the Default value is 2. The aircraft will crash if the load factor reaches the G limit calculated using this parameter (For more information please see here: Overstress Damage). An aircraft with a load factor hold fly by wire system, will respect these limits as load factor limits. |
Float | No |
negative_g_limit_flaps_up |
Flap negative load limit when up. Same dimension as gravity vector, in ft. per second². Note that this parameter is only read when the Default value is 1.5. The aircraft will crash if the load factor reaches the G limit calculated using this parameter (For more information please see here: Overstress Damage). An aircraft with a load factor hold fly by wire system, will respect these limits as load factor limits. |
Float | No |
negative_g_limit_flaps_down |
Flap negative load limit when down. Same dimension as gravity vector, in ft. per second². Note that this parameter is only read when the Default value is 1.5. The aircraft will crash if the load factor reaches the G limit calculated using this parameter (For more information please see here: Overstress Damage). An aircraft with a load factor hold fly by wire system, will respect these limits as load factor limits. |
Float | No |
load_safety_factor |
The load safety factor value. | Float | Yes |
load_g_limiter_g |
This is the multiplier on top of the design limits before which damage will begin to accrue. It is used by the autopilot and FBW systems as part of the pitch control limiter. Default value is 7.5. |
Float | No |
flap_to_aileron_scale |
The scale defines the ratio of aileron deflection based on flap deflection. Will deflect ailerons when flaps are extended. | Float | Yes |
fly_by_wire |
Sets whether fly-by-wire is available (TRUE, 1) or not (FALSE, 0). A fly by wire control system disconnects the direct connection between yoke and rudder inputs and the control surfaces and adds a computer in between. This allows to activate control modes such as load factor hold. NOTE: When enabled your aircraft may use the |
Bool | Yes |
fly_by_wire_from_flaps |
Set's the fly-by-wire mode. When set to 0 (FALSE), the fly-by-wire will be in load factor hold mode above 50ft and in direct mode below 50ft. When set to 1 (TRUE), the fly-by-wire will be in load factor hold mode when flaps are retracted and in direct mode when flaps are extended. Default is 0 (FALSE). |
Bool | No |
elevator_elasticity_table |
A table that allows you to scale down the elevator control surface deflection angle depending on the current dynamic pressure. The table has a maximum of 5 values and has the following format: dynamic_pressure:correction_factor, dynamic_pressure:correction_factor, etc... Pressure is expressed as psf and the yoke correction factor is a Percent Over 100. The dynamic pressure being airspeed dependent, this allows to reduce deflection based on speed. The [Dev Mode] aircraft debugging tools allow you to get the current dynamic pressure from the Speed debug window. The dynamic pressure can also be obtained with the following formula: $$\textrm{dynamicpressure} = 0.5 \times \textrm{airdensity} \times \textrm{airspeed} \times \textrm{airspeed}$$ Default value is: |
2D Table of Floats (see Data Types for more information) |
No |
aileron_elasticity_table |
A table that allows you to scale down the aileron control surface deflection angle depending on the current dynamic pressure. The table has a maximum of 5 values and has the following format: dynamic_pressure:correction_factor, dynamic_pressure:correction_factor, etc... Pressure is expressed as psf and the yoke correction factor is a Percent Over 100. The dynamic pressure being airspeed dependent, this allows you to reduce deflection based on speed. The [Dev Mode] aircraft debugging tools allow you to get the current dynamic pressure from the Speed debug window. The dynamic pressure can also be obtained with the following formula: $$\textrm{dynamicpressure} = 0.5 \times \textrm{airdensity} \times \textrm{airspeed} \times \textrm{airspeed}$$ Default value is: |
2D Table of Floats (see Data Types for more information) |
No |
rudder_elasticity_table |
A table that allows you to scale down the rudder control surface deflection angle depending on the current dynamic pressure. The table has a maximum of 5 values and has the following format: dynamic_pressure:correction_factor, dynamic_pressure:correction_factor, etc... Pressure is expressed as psf and the yoke correction factor is a Percent Over 100. The dynamic pressure being airspeed dependent, this allows to reduce deflection based on speed. The [Dev Mode] aircraft debugging tools allow you to get the current dynamic pressure from the Speed debug window. The dynamic pressure can also be obtained with the following formula: $$\textrm{dynamicpressure} = 0.5 \times \textrm{airdensity} \times \textrm{airspeed} \times \textrm{airspeed}$$ Default value is: |
2D Table of Floats (see Data Types for more information) |
No |
elevator_trim_elasticity_table |
A table that allows you to scale down the elevator control surface deflection angle depending on the current dynamic pressure. The table has a maximum of 5 values and has the following format: dynamic_pressure:correction_factor, dynamic_pressure:correction_factor, etc... Pressure is expressed as psf and the yoke correction factor is a Percent Over 100. The dynamic pressure being airspeed dependent, this allows to reduce deflection based on speed. The [Dev Mode] aircraft debugging tools allow you to get the current dynamic pressure from the Speed debug window. The dynamic pressure can also be obtained with the following formula: $$\textrm{dynamicpressure} = 0.5 \times \textrm{airdensity} \times \textrm{airspeed} \times \textrm{airspeed}$$ Default value is: |
2D Table of Floats (see Data Types for more information) |
No |
controls_reactivity_scalar |
The reactivity scalar for all controls, which can be used to adjust - at a global level - the responsiveness and behaviour of the control system. This value is clamped to a maximum of 1, regardless of what the actual input is set to. |
Float | Yes |