Skip to content

Commit

Permalink
fix: Move cg further aft (#7691)
Browse files Browse the repository at this point in the history
* Update CHANGELOG.md

* Update flight_model.cfg

* Update flight_model.cfg

* Update flight_model.cfg

* Update A32NX_PayloadManager.js

* Update CHANGELOG.md

* Update a20nv55.json

* Update Payload.tsx
  • Loading branch information
donstim authored Jan 11, 2023
1 parent 48e77b2 commit 1e1c416
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 45 deletions.
1 change: 1 addition & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
1. [EFB] Show correct runway numbers in landing calculator's runway widget when heading is between 0-5 degrees - @2hwk (2Cas#1022)
1. [ADIRU/ND/PFD] Initial support for polar navigation - @tracernz (Mike)
1. [FLIGHTMODEL] Update gear drag - @donstim (donbikes#4084)
1. [FLIGHT MODEL/EFB] Modified empty weight cg and loading station/fuel tank locations - @donstim (donbikes#4084)

## 0.9.0

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@

;For future reference:
; Left/ Right Aux Tanks: 228 total/ 0 unusable USG
; Left/ Right Main Tanks: 1823.75 total/ 7.75 unusable USG
; Center Tank: 2185.16 total/ 6.1 unusable USG

[VERSION]
major = 1
minor = 0
Expand All @@ -12,8 +6,7 @@ minor = 0
max_gross_weight = 174165 ; Maximum takeoff weight, (LBS)
empty_weight = 93697 ; 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 25% MAC at Empty Weight
empty_weight_CG_position = -8.75, 0, 0 ; Position of airplane empty weight CG relative to reference datum (FEET), z, x, y
empty_weight_CG_position = -9.42, 0, 0 ; Position of airplane empty weight CG relative to reference datum (FEET), z, x, y 30% CG
CG_forward_limit = 0.16 ; Gravity center forward limit (longitudinal offset) for longitudinal stability
CG_aft_limit = 0.4 ; Gravity center after limit (longitudinal offset z) w.r.t reference datum for longitudinal stability (FEET)
empty_weight_pitch_MOI = 2453714 ; Empty pitch moment of inertia, Jxx (SLUG SQ FEET)
Expand All @@ -34,16 +27,16 @@ activate_cg_limit_based_on_mach = 0 ; Activate cg limitation depending on mach v
; 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 50% of capacity
max_number_of_stations = 10 ; Number of payload stations
station_load.0 = 3300, 21.98, 0, 5, ECONOMY ROWS 1-6 (seats: 36 max: 6670lbs/3024kg), 0
station_load.1 = 3850, 2.86, 0, 5.1, ECONOMY ROWS 7-13 (seats: 42 max: 7780lb/3530kg), 0
station_load.2 = 4400, -15.34, 0, 5.3, ECONOMY ROWS 14-21 (seats: 48 max: 8880lb/4032kg), 0
station_load.3 = 6600, -32.81, 0, 5.5, ECONOMY ROWS 22-29 (seats: 48 max: 8880lb/4032kg), 0
station_load.4 = 2800, 18.28, 0, 0.9, FWD BAGGAGE/CONTAINER (max: 7500lb/3402kg), 0
station_load.5 = 1950, -15.96, 0, 1, AFT CONTAINER (max: 5350lb/2426kg), 0
station_load.6 = 1700, -27.10, 0, 1.2, AFT BAGGAGE (max: 4650lb/2110kg), 0
station_load.7 = 1300, -37.35, 0, 1.4, AFT BULK/LOOSE (max: 3300lb/1497kg), 0
station_load.8 = 1, 42.36, 0, 0, PILOT, 1
station_load.9 = 1, 42.36, 0, 0, CO-PILOT, 2
station_load.0 = 3300, 20.0, 0, 5, ECONOMY ROWS 1-6 (seats: 36 max: 6670lbs/3024kg), 0
station_load.1 = 3850, 0.9, 0, 5.1, ECONOMY ROWS 7-13 (seats: 42 max: 7780lb/3530kg), 0
station_load.2 = 4400, -17.3, 0, 5.3, ECONOMY ROWS 14-21 (seats: 48 max: 8880lb/4032kg), 0
station_load.3 = 6600, -36.3, 0, 5.5, ECONOMY ROWS 22-29 (seats: 48 max: 8880lb/4032kg), 0
station_load.4 = 2800, 16.3, 0, 0.9, FWD BAGGAGE/CONTAINER (max: 7500lb/3402kg), 0
station_load.5 = 1950, -25.1, 0, 1, AFT CONTAINER (max: 5350lb/2426kg), 0
station_load.6 = 1700, -35.1, 0, 1.2, AFT BAGGAGE (max: 4650lb/2110kg), 0
station_load.7 = 1300, -44.4, 0, 1.4, AFT BULK/LOOSE (max: 3300lb/1497kg), 0
station_load.8 = 1, 40.7, 0, 0, PILOT, 1
station_load.9 = 1, 40.7, 0, 0, CO-PILOT, 2

[CONTACT_POINTS]
static_pitch = -0.2 ; degrees, pitch when at rest on the ground (+=Up, -=Dn)
Expand Down Expand Up @@ -96,11 +89,11 @@ fuel_type = 2 ; 1 = OCTANE 100, 2 = JET_A, 3 = OCTANE 80, 4 = AUTO GAS, 5 = JET
APU.1 = Name:APU#FuelBurnRate:33
Engine.1 = Name:LeftEngine#Index:1
Engine.2 = Name:RightEngine#Index:2
Tank.1 = Name:Center#Title:TT:MENU.FUEL.CENTER#Capacity:2179#UnusableCapacity:0#Position:-6,0,1#Priority:1#OutputOnlyLines:TankCenterToCenterTankPump1,TankCenterToCenterTankPump2
Tank.1 = Name:Center#Title:TT:MENU.FUEL.CENTER#Capacity:2179#UnusableCapacity:0#Position:-4.5,0,1#Priority:1#OutputOnlyLines:TankCenterToCenterTankPump1,TankCenterToCenterTankPump2
Tank.2 = Name:LeftInner#Title:TT:MENU.FUEL.LEFT_INNER#Capacity:1816#UnusableCapacity:0#Position:-8,-13,2#Priority:2#InputOnlyLines:Eng1ToTank2,Xfer1ToTank2,Xfer1ToTank2_2#OutputOnlyLines:TankLeftToLeftTankPump1,TankLeftToLeftTankPump2
Tank.3 = Name:RightInner#Title:TT:MENU.FUEL.RIGHT_INNER#Capacity:1816#UnusableCapacity:0#Position:-8,13,2#Priority:2#InputOnlyLines:Eng2ToTank3,Xfer2ToTank3,Xfer2ToTank3_2#OutputOnlyLines:TankRightToRightTankPump1,TankRightToRightTankPump2
Tank.4 = Name:LeftOuter#Title:TT:MENU.FUEL.LEFT_OUTER#Capacity:228#UnusableCapacity:0#Position:-13,-27,3#Priority:3#OutputOnlyLines:Tank4ToXfer1,Tank4ToXfer1_2
Tank.5 = Name:RightOuter#Title:TT:MENU.FUEL.RIGHT_OUTER#Capacity:228#UnusableCapacity:0#Position:-13,27,3#Priority:3#OutputOnlyLines:Tank5ToXfer2,Tank5ToXfer2_2
Tank.4 = Name:LeftOuter#Title:TT:MENU.FUEL.LEFT_OUTER#Capacity:228#UnusableCapacity:0#Position:-17.6,-27,3#Priority:3#OutputOnlyLines:Tank4ToXfer1,Tank4ToXfer1_2
Tank.5 = Name:RightOuter#Title:TT:MENU.FUEL.RIGHT_OUTER#Capacity:228#UnusableCapacity:0#Position:-17.6,27,3#Priority:3#OutputOnlyLines:Tank5ToXfer2,Tank5ToXfer2_2
Line.1 = Name:TankCenterToCenterTankPump1#Source:Center#Destination:CenterTankPump1
Line.2 = Name:TankLeftToLeftTankPump1#Source:LeftInner#Destination:LeftInnerTankPump1
Line.3 = Name:TankRightToRightTankPump1#Source:RightInner#Destination:RightInnerTankPump1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class A32NX_PayloadConstructor {
pax: 0,
paxTarget: 0,
stationIndex: 0 + 1,
position: 21.98,
position: 20.0,
seatsRange: [1, 36],
simVar: "A32NX_PAX_TOTAL_ROWS_1_6"
},
Expand All @@ -19,7 +19,7 @@ class A32NX_PayloadConstructor {
pax: 0,
paxTarget: 0,
stationIndex: 1 + 1,
position: 2.86,
position: 0.9,
seatsRange: [37, 78],
simVar: "A32NX_PAX_TOTAL_ROWS_7_13"
},
Expand All @@ -30,7 +30,7 @@ class A32NX_PayloadConstructor {
pax: 0,
paxTarget: 0,
stationIndex: 2 + 1,
position: -15.34,
position: -17.3,
seatsRange: [79, 126],
simVar: "A32NX_PAX_TOTAL_ROWS_14_21"
},
Expand All @@ -41,7 +41,7 @@ class A32NX_PayloadConstructor {
pax: 0,
paxTarget: 0,
stationIndex: 3 + 1,
position: -32.81,
position: -36.3,
seatsRange: [127, 174],
simVar: "A32NX_PAX_TOTAL_ROWS_22_29"
},
Expand All @@ -53,7 +53,7 @@ class A32NX_PayloadConstructor {
weight: Math.round(NXUnits.kgToUser(3402)),
load: 0,
stationIndex: 4 + 1,
position: 18.28,
position: 16.3,
visible: true,
simVar: 'A32NX_CARGO_FWD_BAGGAGE_CONTAINER',
},
Expand All @@ -62,7 +62,7 @@ class A32NX_PayloadConstructor {
weight: Math.round(NXUnits.kgToUser(2426)),
load: 0,
stationIndex: 5 + 1,
position: -15.96,
position: -25.1,
visible: true,
simVar: 'A32NX_CARGO_AFT_CONTAINER',
},
Expand All @@ -71,7 +71,7 @@ class A32NX_PayloadConstructor {
weight: Math.round(NXUnits.kgToUser(2110)),
load: 0,
stationIndex: 6 + 1,
position: -27.10,
position: -35.1,
visible: true,
simVar: 'A32NX_CARGO_AFT_BAGGAGE',
},
Expand All @@ -80,7 +80,7 @@ class A32NX_PayloadConstructor {
weight: Math.round(NXUnits.kgToUser(1497)),
load: 0,
stationIndex: 7 + 1,
position: -37.35,
position: -44.4,
visible: true,
simVar: 'A32NX_CARGO_AFT_BULK_LOOSE',
},
Expand All @@ -98,11 +98,11 @@ const MAX_SEAT_AVAILABLE = 174;
*/
function getZfwcg() {

const leMacZ = -5.386; // Accurate to 3 decimals, replaces debug weight values
const macSize = 13.454; // Accurate to 3 decimals, replaces debug weight values
const leMacZ = -5.383; // Accurate to 3 decimals, replaces debug weight values
const macSize = 13.464; // Accurate to 3 decimals, replaces debug weight values

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

Expand Down
22 changes: 11 additions & 11 deletions src/instruments/src/EFB/Ground/Pages/Payload/Loadsheet/a20nv55.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"specs": {
"prefix": "A32NX",
"emptyPosition": -8.75,
"macSize": 13.454,
"leMacZ": -5.386,
"emptyPosition": -9.42,
"macSize": 13.464,
"leMacZ": -5.383,
"weights": {
"maxZfw": 64300,
"minZfw": 42500
Expand Down Expand Up @@ -288,7 +288,7 @@
],
"index": 0,
"stationIndex": 1,
"position": 21.98,
"position": 20.0,
"fill": 0.19,
"simVar": "A32NX_PAX_TOTAL_ROWS_1_6"
},
Expand Down Expand Up @@ -606,7 +606,7 @@
],
"index": 1,
"stationIndex": 2,
"position": 2.86,
"position": 0.9,
"fill": 0.25,
"simVar": "A32NX_PAX_TOTAL_ROWS_7_13"
},
Expand Down Expand Up @@ -968,7 +968,7 @@
],
"index": 2,
"stationIndex": 3,
"position": -15.34,
"position": -17.3,
"fill": 0.28,
"simVar": "A32NX_PAX_TOTAL_ROWS_14_21"
},
Expand Down Expand Up @@ -1331,7 +1331,7 @@
"fill": 0.28,
"index": 3,
"stationIndex": 4,
"position": -32.81,
"position": -36.3,
"simVar": "A32NX_PAX_TOTAL_ROWS_22_29"
}
],
Expand All @@ -1341,7 +1341,7 @@
"weight": 3402,
"index": 0,
"stationIndex": 5,
"position": 18.28,
"position": 16.3,
"progressBarWidth": 160,
"simVar": "A32NX_CARGO_FWD_BAGGAGE_CONTAINER"
},
Expand All @@ -1350,7 +1350,7 @@
"weight": 2426,
"index": 1,
"stationIndex": 6,
"position": -15.96,
"position": -25.1,
"progressBarWidth": 100,
"simVar": "A32NX_CARGO_AFT_CONTAINER"
},
Expand All @@ -1359,7 +1359,7 @@
"weight": 2110,
"index": 2,
"stationIndex": 7,
"position": -27.1,
"position": -35.1,
"progressBarWidth": 100,
"simVar": "A32NX_CARGO_AFT_BAGGAGE"
},
Expand All @@ -1368,7 +1368,7 @@
"weight": 1497,
"index": 3,
"stationIndex": 8,
"position": -37.35,
"position": -44.4,
"progressBarWidth": 100,
"simVar": "A32NX_CARGO_AFT_BULK_LOOSE"
}
Expand Down
4 changes: 2 additions & 2 deletions src/instruments/src/EFB/Ground/Pages/Payload/Payload.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -519,9 +519,9 @@ export const Payload = () => {
}, [boardingStarted]);

useEffect(() => {
const centerTankMoment = -6;
const centerTankMoment = -4.5;
const innerTankMoment = -8;
const outerTankMoment = -13;
const outerTankMoment = -17.6;
// Adjust ZFW CG Values based on payload
const newZfw = emptyWeight + totalPax * paxWeight + totalCargo;
const newZfwDesired = emptyWeight + totalPaxDesired * paxWeight + totalCargoDesired;
Expand Down

0 comments on commit 1e1c416

Please sign in to comment.