Skip to content

Commit

Permalink
update(flight_model): adjust airplane geometry
Browse files Browse the repository at this point in the history
update

fix target performance

update vnav param
  • Loading branch information
Revyn112 committed Nov 8, 2023
1 parent e747d4e commit d812d8e
Show file tree
Hide file tree
Showing 18 changed files with 139 additions and 139 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ minor = 0
[WEIGHT_AND_BALANCE]
max_gross_weight = 518086 ; Maximum takeoff weight, (LBS)
empty_weight = 271168 ; Empty weight, (LBS); Includes weight to account for crew, pantry, galleys, lavs, potable water, emergency equipment etc.
reference_datum_position = 0, 0, 0
reference_datum_position = 0, 0, 0 ; Position of reference datum relative to FS(0,0,0) (FEET), z, x, y
; adjust empty weight CG position to ensure 26.2% MAC at Empty Weight
empty_weight_CG_position = -28.276, 0, 0 ; Position of airplane empty weight CG relative to reference datum (FEET), z, x, y
empty_weight_CG_position = -27.56, 0, 0 ; Position of airplane empty weight CG relative to reference datum (FEET), z, x, y
CG_forward_limit = 0.15 ; Gravity center forward limit (longitudinal offset) for longitudinal stability
CG_aft_limit = 0.41 ; Gravity center after limit (longitudinal offset z) w.r.t reference datum for longitudinal stability (FEET)
empty_weight_pitch_MOI = 28163472 ; Empty pitch moment of inertia, Jxx (SLUG SQ FEET)
empty_weight_roll_MOI = 9217827 ; Empty roll moment of inertia, Jzz (SLUG SQ FEET)
empty_weight_yaw_MOI = 36117016 ; Empty yaw moment of inertia, Jyy (SLUG SQ FEET)
empty_weight_pitch_MOI = 23228924 ; Empty pitch moment of inertia, Jxx (SLUG SQ FEET)
empty_weight_roll_MOI = 14300433 ; Empty roll moment of inertia, Jzz (SLUG SQ FEET)
empty_weight_yaw_MOI = 35047716 ; Empty yaw moment of inertia, Jyy (SLUG SQ FEET)
empty_weight_coupled_MOI = 10000 ; 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).
Expand All @@ -23,7 +23,7 @@ activate_cg_limit_based_on_mach = 0 ; Activate cg limitation depending on mach v
; MZFW = 173000 kg/381400 lbs
; OEW = 123000 kg/271168 lbs
; Max Payload = 44836 kg/98846 lbs
; Max Fuel = 97530 ltrs (111665 kg)/36743 us gal (246179 lbs) @ specific gravity of 0.8 ISA conditions
; Max Fuel = 139087 ltrs (111665 kg)/36743 us gal (246179 lbs) @ specific gravity of 0.8 ISA conditions
; Average Adult pax assumed to be 185lbs/84kg
; Passenger baggage weight of 20 kg/pax is also added, making total pax + baggage weight = 104 kg/pax (i.e. Passenger weight on Simbrief)
; Starting load is 0% of capacity
Expand Down Expand Up @@ -177,7 +177,7 @@ Trigger.10 = Name:CloseLeftOuterTankValves5MinAfterLowFuelLevel#Target:LeftOuter
Trigger.11 = Name:CloseRightOuterTankValves5MinAfterLowFuelLevel#Target:LeftOuter#Threshold:1#Condition:TankQuantityBelow#DelayTrue:300#EffectTrue:CloseValve.RightTransferValve1,CloseValve.RightTransferValve2

[AIRPLANE_GEOMETRY]
aileron_area=160.60
aileron_area=200
aileron_down_limit=25
aileron_elasticity_table = 0:1, 400:1 ;; A32NX PR #5842
aileron_to_rudder_scale=0
Expand All @@ -187,7 +187,7 @@ air_spoiler_limit=45
auto_spoiler_auto_retracts=0
auto_spoiler_available=0
auto_spoiler_min_speed=72
elevator_area=211.40
elevator_area=300
elevator_down_limit=17
elevator_elasticity_table = 0:1, 400:1 ;; A32NX PR #7516
elevator_trim_elasticity_table= 0:0.3, 100:0.35, 120:1, 400:1
Expand All @@ -197,15 +197,15 @@ elevator_trim_neutral=0
elevator_up_limit=25
flap_to_aileron_scale=0
fly_by_wire=0
fuselage_center_pos=-24.987358, 0, 3.121224
fuselage_diameter=18.5
fuselage_length=208.86
htail_area = 883.29
htail_incidence=0
fuselage_center_pos=-26.0, 0, 2.5
fuselage_diameter=9.25
fuselage_length=204.0
htail_area = 900
htail_incidence= 0
htail_pos_lon = -120
htail_pos_vert = 10
htail_span = 63.65
htail_sweep= 32
htail_sweep=32
htail_thickness_ratio=0.02
load_safety_factor=1.5
min_ailerons_for_spoilerons=5
Expand All @@ -215,29 +215,29 @@ negative_g_limit_flaps_up=-1
oswald_efficiency_factor=0.72
positive_g_limit_flaps_down=2
positive_g_limit_flaps_up=2.5
rudder_area=116.14
rudder_area=250
rudder_elasticity_table=0:1, 85:1, 110:0.7, 445:0.136
rudder_limit=25
rudder_trim_limit = 0 ; Rudder trim max deflection angle (absolute value) (DEGREES)
spoiler_extension_time=0.1
spoiler_handle_available=1
spoiler_limit=45
spoilerons_available=0
vtail_area=486.85
vtail_pos_lon=-107
vtail_pos_vert=23.5
vtail_span=28.87
vtail_sweep=43
vtail_thickness_ratio=0.028
wing_area=3892.23
wing_camber=3
wing_dihedral=8
wing_incidence=0
wing_pos_apex_lon=25.193029
vtail_area=1000
vtail_pos_lon=-108
vtail_pos_vert=25
vtail_span=27.2
vtail_sweep=45
vtail_thickness_ratio=0.02
wing_area=3500
wing_camber=1
wing_dihedral=5
wing_incidence=2
wing_pos_apex_lon=-50 ; NOT USED
wing_pos_apex_vert=-2.8
wing_root_chord=34.61
wing_root_chord=70
wing_span=209.97
wing_sweep=30
wing_sweep=33
wing_thickness_ratio=0.03
wing_twist=-1
wing_winglets_flag = 1 ; Has winglets true/false (not currently used by MSFS)
Expand All @@ -250,7 +250,7 @@ lift_coef_delta_elevator = -1.652 ; The change in lift per change in elevator de
lift_coef_horizontal_incidence = 0 ; The change in lift per change in horizontal incidence angle
lift_coef_flaps = 1.2 ; Change in lift due to flaps
lift_coef_spoilers = -0.25 ; Change in lift due to spoilers- Full extension at MMO/VMO -0.34, at M0.90 0, Ground spoilers -0.60, Partial ground spoilers -0.425
drag_coef_zero_lift = 0.0200 ; The zero lift drag polar
drag_coef_zero_lift = 0.0280 ; The zero lift drag polar
drag_coef_flaps = 0.0602
drag_coef_gear = 0.030
drag_coef_spoilers = 0.05775; Change in drag due to spoilers
Expand Down Expand Up @@ -285,7 +285,7 @@ yaw_moment_delta_rudder = 1.321 ; (control)The change in yaw moment per change i
yaw_moment_delta_rudder_propwash = 1.321 ; (control)
yaw_moment_delta_rudder_trim_scalar = 1.321 ; Change in yaw moment due to rudder trim
compute_aero_center = 0
aero_center_lift = -28.0 ; Init to center
aero_center_lift = -27.0 ; Init to center
lift_coef_aoa_table = -3.150000:0.000000, 0.000000:0.224000, 0.139000:1.390000, 0.200000:1.480000, 0.260000:1.760000, 0.290000:1.750000, 0.320000:1.600000, 0.500000:1.500000, 3.150000:0.000000
lift_coef_ground_effect_mach_table = 0.0:1.178, 0.15:1.178, 0.19:1.178, 0.20:1.176, 0.22:1.173, 0.25:1.17, 0.27:1.1675, 0.30:1.164, 0.35:1.159, 1.0:1
lift_coef_mach_table = 0:1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,15 @@ full_flap_max_vert_dive_speed_0pctpower = 511.8,1;
no_flap_max_flat_fall_speed_0pctpower = 143.1,1;

[DOUBLE_CHECKS]
wing_area = 1313.0,0.1;
wing_span = 117.45,0.1;
htail_area = 67.10,0.1;
htail_span = 22.3,0.1;
vtail_area = 55.0,0.1;
vtail_span = 7.5,0.1;
max_gross_weight = 507063,1.0;
empty_weight = 266760,1.0;
max_hp = 37828,0.1;
wing_area = 3500.0,0.1;
wing_span = 209.97,0.1;
htail_area = 900,0.1;
htail_span = 63.65,0.1;
vtail_area = 1000.0,0.1;
vtail_span = 27.2,0.1;
max_gross_weight = 553360,1.0;
empty_weight = 279987,1.0;
max_hp = 1631,0.1;

[PERFORMANCE_REPORT]
//file_path="C:\Users\golivier\Desktop\JUNK_MESH\perf_report.csv"
Original file line number Diff line number Diff line change
Expand Up @@ -134,11 +134,11 @@ const MAX_SEAT_AVAILABLE = 436;
* Calculate %MAC ZWFCG of all stations
*/
function getZfwcg() {
const leMacZ = -22.20; // Accurate to 3 decimals, replaces debug weight values
const macSize = 23.19; // Accurate to 3 decimals, replaces debug weight values
const leMacZ = -15.33; // Accurate to 3 decimals, replaces debug weight values
const macSize = 46.69; // Accurate to 3 decimals, replaces debug weight values

const emptyWeight = (SimVar.GetSimVarValue("EMPTY WEIGHT", getUserUnit()));
const emptyPosition = -28.276; // Value from flight_model.cfg
const emptyPosition = -27.56; // Value from flight_model.cfg
const emptyMoment = emptyPosition * emptyWeight;
const PAX_WEIGHT = SimVar.GetSimVarValue("L:A32NX_WB_PER_PAX_WEIGHT", "Number");

Expand Down
8 changes: 4 additions & 4 deletions hdw-a333x/src/systems/fmgc/src/guidance/vnav/FlightModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ import { MathUtils } from '@flybywiresim/fbw-sdk';
import { Common, FlapConf } from './common';

export class FlightModel {
static Cd0 = 0.026;
static Cd0 = 0.0280;

static wingSpan = 197.83;
static wingSpan = 209.97;

static wingArea = 3892.23;
static wingArea = 3500.00;

static wingEffcyFactor = 0.9199;
static wingEffcyFactor = 0.72;

static requiredAccelRateKNS = 1.33; // in knots/second

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"specs": {
"prefix": "A333X",
"emptyPosition": -28.276,
"macSize": 23.19,
"leMacZ": -22.20,
"emptyPosition": -27.56,
"macSize": 46.69,
"leMacZ": -15.33,
"weights": {
"maxGw": 235000,
"maxZfw": 173000,
Expand Down
6 changes: 3 additions & 3 deletions hdw-a333x/src/wasm/systems/a320_systems/src/airframe/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ pub struct A320Airframe {
impl A320Airframe {
const LOADSHEET: LoadsheetInfo = LoadsheetInfo {
operating_empty_weight_kg: 123000.,
operating_empty_position: (-28.276, 0., 0.),
operating_empty_position: (-27.56, 0., 0.),
per_pax_weight_kg: 84.,
mean_aerodynamic_chord_size: 23.19,
leading_edge_mean_aerodynamic_chord: -22.20,
mean_aerodynamic_chord_size: 46.69,
leading_edge_mean_aerodynamic_chord: -15.33,
};

pub fn new(context: &mut InitContext) -> Self {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ pub struct A320Airframe {
impl A320Airframe {
const LOADSHEET: LoadsheetInfo = LoadsheetInfo {
operating_empty_weight_kg: 134500.,
operating_empty_position: (-28.276, 0., 0.),
operating_empty_position: (-27.56, 0., 0.),
per_pax_weight_kg: 84.,
mean_aerodynamic_chord_size: 23.19,
leading_edge_mean_aerodynamic_chord: -22.20,
mean_aerodynamic_chord_size: 46.69,
leading_edge_mean_aerodynamic_chord: -15.33,
};

pub fn new(context: &mut InitContext) -> Self {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ max_gross_weight = 553360 ; Maximum takeoff weight, (LBS)
empty_weight = 279987 ; Empty weight, (LBS); Includes weight to account for crew, pantry, galleys, lavs, potable water, emergency equipment etc.
reference_datum_position = 0, 0, 0 ; Position of reference datum relative to FS(0,0,0) (FEET), z, x, y
; adjust empty weight CG position to ensure 26.2% MAC at Empty Weight
empty_weight_CG_position = -28.276, 0, 0 ; Position of airplane empty weight CG relative to reference datum (FEET), z, x, y
empty_weight_CG_position = -27.56, 0, 0 ; Position of airplane empty weight CG relative to reference datum (FEET), z, x, y
CG_forward_limit = 0.15 ; Gravity center forward limit (longitudinal offset) for longitudinal stability
CG_aft_limit = 0.41 ; Gravity center after limit (longitudinal offset z) w.r.t reference datum for longitudinal stability (FEET)
empty_weight_pitch_MOI = 23228392 ; Empty pitch moment of inertia, Jxx (SLUG SQ FEET)
empty_weight_pitch_MOI = 23228924 ; Empty pitch moment of inertia, Jxx (SLUG SQ FEET)
empty_weight_roll_MOI = 14300433 ; Empty roll moment of inertia, Jzz (SLUG SQ FEET)
empty_weight_yaw_MOI = 35047716 ; Empty yaw moment of inertia, Jyy (SLUG SQ FEET)
empty_weight_coupled_MOI = 10000 ; Empty transverse moment of inertia, Jyz (SLUG SQ FEET)
Expand Down Expand Up @@ -177,7 +177,7 @@ Trigger.10 = Name:CloseLeftOuterTankValves5MinAfterLowFuelLevel#Target:LeftOuter
Trigger.11 = Name:CloseRightOuterTankValves5MinAfterLowFuelLevel#Target:LeftOuter#Threshold:1#Condition:TankQuantityBelow#DelayTrue:300#EffectTrue:CloseValve.RightTransferValve1,CloseValve.RightTransferValve2

[AIRPLANE_GEOMETRY]
aileron_area=160.60
aileron_area=200
aileron_down_limit=25
aileron_elasticity_table = 0:1, 400:1 ;; A32NX PR #5842
aileron_to_rudder_scale=0
Expand All @@ -187,7 +187,7 @@ air_spoiler_limit=45
auto_spoiler_auto_retracts=0
auto_spoiler_available=0
auto_spoiler_min_speed=72
elevator_area=211.40
elevator_area=300
elevator_down_limit=17
elevator_elasticity_table = 0:1, 400:1 ;; A32NX PR #7516
elevator_trim_elasticity_table= 0:0.3, 100:0.35, 120:1, 400:1
Expand All @@ -197,15 +197,15 @@ elevator_trim_neutral=0
elevator_up_limit=25
flap_to_aileron_scale=0
fly_by_wire=0
fuselage_center_pos=-24.987358, 0, 3.121224
fuselage_diameter=18.5
fuselage_length=208.86
htail_area = 883.29
htail_incidence=0
fuselage_center_pos=-26.0, 0, 2.5
fuselage_diameter=9.25
fuselage_length=204.0
htail_area = 900
htail_incidence= 0
htail_pos_lon = -120
htail_pos_vert = 10
htail_span = 63.65
htail_sweep= 32
htail_sweep=32
htail_thickness_ratio=0.02
load_safety_factor=1.5
min_ailerons_for_spoilerons=5
Expand All @@ -215,29 +215,29 @@ negative_g_limit_flaps_up=-1
oswald_efficiency_factor=0.72
positive_g_limit_flaps_down=2
positive_g_limit_flaps_up=2.5
rudder_area=116.14
rudder_area=250
rudder_elasticity_table=0:1, 85:1, 110:0.7, 445:0.136
rudder_limit=25
rudder_trim_limit = 0 ; Rudder trim max deflection angle (absolute value) (DEGREES)
spoiler_extension_time=0.1
spoiler_handle_available=1
spoiler_limit=45
spoilerons_available=0
vtail_area=486.85
vtail_pos_lon=-107
vtail_pos_vert=23.5
vtail_span=28.87
vtail_sweep=43
vtail_thickness_ratio=0.028
wing_area=3892.23
wing_camber=3
wing_dihedral=8
wing_incidence=0
wing_pos_apex_lon=25.193029
vtail_area=1000
vtail_pos_lon=-108
vtail_pos_vert=25
vtail_span=27.2
vtail_sweep=45
vtail_thickness_ratio=0.02
wing_area=3500
wing_camber=1
wing_dihedral=5
wing_incidence=2
wing_pos_apex_lon=-50 ; NOT USED
wing_pos_apex_vert=-2.8
wing_root_chord=34.61
wing_root_chord=70
wing_span=209.97
wing_sweep=30
wing_sweep=33
wing_thickness_ratio=0.03
wing_twist=-1
wing_winglets_flag = 1 ; Has winglets true/false (not currently used by MSFS)
Expand Down Expand Up @@ -285,7 +285,7 @@ yaw_moment_delta_rudder = 1.321 ; (control)The change in yaw moment per change i
yaw_moment_delta_rudder_propwash = 1.321 ; (control)
yaw_moment_delta_rudder_trim_scalar = 1.321 ; Change in yaw moment due to rudder trim
compute_aero_center = 0
aero_center_lift = -28.0 ; Init to center
aero_center_lift = -27.0 ; Init to center
lift_coef_aoa_table = -3.150000:0.000000, 0.000000:0.224000, 0.139000:1.390000, 0.200000:1.480000, 0.260000:1.760000, 0.290000:1.750000, 0.320000:1.600000, 0.500000:1.500000, 3.150000:0.000000
lift_coef_ground_effect_mach_table = 0.0:1.178, 0.15:1.178, 0.19:1.178, 0.20:1.176, 0.22:1.173, 0.25:1.17, 0.27:1.1675, 0.30:1.164, 0.35:1.159, 1.0:1
lift_coef_mach_table = 0:1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,15 @@ full_flap_max_vert_dive_speed_0pctpower = 389.1,1;
no_flap_max_flat_fall_speed_0pctpower = 87.48,1;

[DOUBLE_CHECKS]
wing_area = 5010.0,0.1;
wing_area = 3500.0,0.1;
wing_span = 209.97,0.1;
htail_area = 880,0.1;
htail_area = 900,0.1;
htail_span = 63.65,0.1;
vtail_area = 650,0.1;
vtail_span = 30,0.1;
vtail_area = 1000.0,0.1;
vtail_span = 27.2,0.1;
max_gross_weight = 553360,1.0;
empty_weight = 296522,1.0;
max_hp = 37828,0.1;
empty_weight = 279987,1.0;
max_hp = 1631,0.1;

[PERFORMANCE_REPORT]
//file_path="C:\Users\golivier\Desktop\JUNK_MESH\perf_report.csv"
Loading

0 comments on commit d812d8e

Please sign in to comment.