WOLFRAM SYSTEM MODELER
BodyModel for the mass properties of entire aircraft or only fuselage, landing gear and payload if weight estimation method is used |
SystemModel["Aircraft.Physical.FixedWing.Parts.Bodies.Body"]
If the weight estimation is used, this model estimates the mass properties of the fuselage, landing gear and payload and solves the consequent Newton—Euler equations in the bodyShapeFuselage, bodyShapeLandingGear and bodyShapePayload components, respectively. If any of the mass properties are known when the weight estimation method is used, their value can be entered directly in the Estimated Mass Properties tab, thus bypassing the equation to estimate their value. If the weight estimation is not used, the mass properties of the entire aircraft are modeled by the bodyShapeAircraft component.
This model also initializes the position, orientation and angular velocity based on the parameters given in the Initialization parameter tab in the AircraftBase model. The initialization of the translational velocity is applied at the fuselage reference point frame in AircraftBase.
The decrease in gravitational acceleration and the consequent decrease in the gravitational force with the increase in altitude are solved in this model with the gravity function and the latter is applied to the aircraft center of mass as a force pointing upward in the world frame.
All parameters, including the fuselage-specific parameters, the known mass properties of the entire aircraft, initial position and initial angular velocities, are propagated to this model from the AircraftBase model, and therefore their values should not be changed here but only in the complete aircraft model. Additionally, the variables of the global flight conditions are propagated here from the AircraftBase model inside the flightData record.
If weight estimation method is used and no mass properties are entered by the user, the fuselage, landing gear and payload mass properties are estimated by using an empirical relationship based on the given parameters describing the fuselage geometry and the design variables in the AircraftBase model.
The fuselage structure mass is estimated by a method presented by Nicolai & Carichner [1], and it is further described in section 3.4.1 in Reference [2]. The masses of the landing gear and other systems installed onboard is estimated by methods presented by Isikveren [3], and they are also further described in sections 3.4.7 and 3.4.8 in Reference [2], respectively. The parameter for the payload mass (mPLdes) propagates directly to the bodyShapePayload as it is given in the AircraftBase model.
The fuselage center of mass including the structural mass and the systems installed onboard is estimated based on propulsion configuration according to the method presented by Roskam [4], and it is also presented in section 3.5.1 in Reference [2]. The fuselage reference point is used as the center of mass location for the payload.
The fuselage moments of inertia, including the systems installed onboard, are estimated by a method presented in USAF DATCOM [5], and are also converted to be used with SI units in Appendix A.2 in Reference [2]. For payload, the moments of inertia are calculated as if there were a cuboid inside the fuselage, for which the dimensions and the consequent equations to solve for the moments of inertia are described in section 3.6.5 in Reference [2]. Landing gear is considered as a point mass without moments of inertia.
[1] Nicolai, L. M. and G. E.Carichne., (2010). Fundamentals of Aircraft and Airship Design, Volume 1–Aircraft Design.
American Institute of Aeronautics and Astronautics.
[2] Erä-Esko, N. (2022). "Development and Use of System Modeler 6DOF Flight Mechanics Model in Aircraft Conceptual Design."
Available at: modelica://Aircraft/Resources/Documents/EraeEskoThesis.pdf.
[3] Isikveren, A. T. (2002). "Quasi-analytical Modelling and Optimisation Techniques for Transport Aircraft Design," Thesis, Institutionen för
flygteknik, Department of Aeronautics.
[4] Roskam, J. (1985). Airplane Design, Part 5: Component Weight Estimation. DARcorporation.
[5] Finck, R. D. (1978). USAF (United States Air Force) Stability and Control DATCOM (Data Compendium).
McDonell Aircraft Corp., St Louis, MO.
Available at: https://apps.dtic.mil/sti/citations/ADB072483.
mFusStruc |
Value: if machDes < 0.4 then if compMat then 0.75 * 200 * ((MTOMdes * 2.2046 * 1.5 * nMax / 10 ^ 5) ^ 0.286 * (lFus * 3.2808 / 10) ^ 0.857 * ((wFus * 3.2808 + hFus * 3.2808) / 10) * (sqrt(2 * qMax / rho0) * 1.9438 / 100) ^ 0.338) ^ 1.1 / 2.2046 else 200 * ((MTOMdes * 2.2046 * 1.5 * nMax / 10 ^ 5) ^ 0.286 * (lFus * 3.2808 / 10) ^ 0.857 * ((wFus * 3.2808 + hFus * 3.2808) / 10) * (sqrt(2 * qMax / rho0) * 1.9438 / 100) ^ 0.338) ^ 1.1 / 2.2046 else if compMat then 0.75 * 10.43 * (qMax * 0.020885 * 10 ^ (-2)) ^ 0.283 * (MTOMdes * 2.2046 * 10 ^ (-3)) ^ 0.95 * (lFus / hFus) ^ 0.71 / 2.2046 else 10.43 * (qMax * 0.020885 * 10 ^ (-2)) ^ 0.283 * (MTOMdes * 2.2046 * 10 ^ (-3)) ^ 0.95 * (lFus / hFus) ^ 0.71 / 2.2046 Type: Mass (kg) Description: Fuselage structure mass |
---|---|
mFusSys |
Value: 0.6 * kPax * nPax Type: Mass (kg) Description: Systems mass |
mFus |
Value: mFusStruc + mFusSys Type: Mass (kg) Description: Total fuselage (including systems) mass |
mLG |
Value: if wingMounted then if 0.5 - zWingRootLE / hFus > 0.25 then (587 - 153 * 2) * (MTOMdes / (1.4 * 10 ^ 4)) ^ 1.05 else (587 - 153 * 1) * (MTOMdes / (1.4 * 10 ^ 4)) ^ 1.05 else if 0.5 - zWingRootLE / hFus > 0.25 then (587 - 153 * 1) * (MTOMdes / (1.4 * 10 ^ 4)) ^ 1.05 else (587 - 153 * 0) * (MTOMdes / (1.4 * 10 ^ 4)) ^ 1.05 Type: Mass (kg) Description: Landing gear mass |
rCMfus |
Value: if not wingMounted then {(0.5 - 0.485) * lFus, 0, 0} else if nEng == 1 then {(0.5 - 0.335) * lFus, 0, 0} else if engineType == 0 or engineType == 1 or engineType == 4 then {(0.5 - 0.39) * lFus, 0, 0} else {(0.5 - 0.435) * lFus, 0, 0} Type: Length[3] (m) Description: Fuselage (including systems) center of mass coordinates w.r.t. fuselage reference point |
rCMpl |
Value: {0, 0, 0} Type: Length[3] (m) Description: Payload center of mass coordinates w.r.t. fuselage reference point |
rCMlg |
Value: {xWingRootLE - lambdaWingLE * (yWingAC - wFus / 2) - 0.15 * cWingMean, 0, hFus / 2} Type: Length[3] (m) Description: Landing gear center of mass coordinates w.r.t. fuselage reference point |
IxxFus |
Value: 0.000293 * (mFusStruc + mFusSys) * 2.205 * k3Fus / 4 * (SwetFus * 1550 / (Modelica.Constants.pi * lFus * 39.37)) ^ 2 Type: MomentOfInertia (kg⋅m²) Description: Fuselage roll moment of inertia |
IyyFus |
Value: 0.000293 * (mFusStruc + mFusSys) * 2.205 * SwetFus * 1550 * k2Fus / 37.68 * (3 * Cfus / Modelica.Constants.pi / (2 * lFus) + lFus / (Cfus / Modelica.Constants.pi)) Type: MomentOfInertia (kg⋅m²) Description: Fuselage pitch moment of inertia |
IzzFus |
Value: IxxFus + IyyFus Type: MomentOfInertia (kg⋅m²) Description: Fuselage yaw moment of inertia |
IxxPL |
Value: mPLdes / 12 * ((0.6363 * wFus) ^ 2 + (0.6363 * hFus) ^ 2) Type: MomentOfInertia (kg⋅m²) Description: Payload roll moment of inertia |
IyyPL |
Value: mPLdes / 12 * ((0.8 * lFus) ^ 2 + (0.6363 * hFus) ^ 2) Type: MomentOfInertia (kg⋅m²) Description: Payload pitch moment of inertia |
IzzPL |
Value: mPLdes / 12 * ((0.8 * lFus) ^ 2 + (0.6363 * wFus) ^ 2) Type: MomentOfInertia (kg⋅m²) Description: Payload yaw moment of inertia |
kPax |
Value: if nPax > 180 then 69.12 + 12.96 * nSeatAbs - 3.9865 * nPax ^ 0.3494 else 55.168 + 10.344 * nSeatAbs - 3.9865 * nPax ^ 0.3494 Type: Real Description: Constant weight passenger coefficient |
k2Fus |
Value: 0.986993 - 0.932664 * (abs(rCMfus[1]) / (lFus / 2)) Type: Real Description: Factor for calculating fuselage moment of inertias |
k3Fus |
Value: 0.0628744 + 0.186233 * (sqrt(Cfus / Modelica.Constants.pi * 39.37) * mFusStruc * 2.205 / ((mFusStruc + mFusSys) * 2.205)) Type: Real Description: Factor for calculating fuselage moment of inertias |
weightEst |
Value: Type: Boolean Description: true, if weight estimation method is used for masses, center of mass location and inertia tensor |
mDry |
Value: Type: Mass (kg) Description: Aircraft dry mass (total mass for electric aircraft and gliders) |
IxxDry |
Value: Type: MomentOfInertia (kg⋅m²) Description: Aircraft moment of inertia about x-axis (with total mass for electric aircraft and gliders) |
IyyDry |
Value: Type: MomentOfInertia (kg⋅m²) Description: Aircraft moment of inertia about y-axis (with total mass for electric aircraft and gliders) |
IzzDry |
Value: Type: MomentOfInertia (kg⋅m²) Description: Aircraft moment of inertia about z-axis (with total mass for electric aircraft and gliders) |
IxyDry |
Value: Type: MomentOfInertia (kg⋅m²) Description: Aircraft xy-product of moment of inertia (with total mass for electric aircraft and gliders) |
IxzDry |
Value: Type: MomentOfInertia (kg⋅m²) Description: Aircraft xz-product of moment of inertia (with total mass for electric aircraft and gliders) |
IyzDry |
Value: Type: MomentOfInertia (kg⋅m²) Description: Aircraft yz-product of moment of inertia (with total mass for electric aircraft and gliders) |
MTOMdes |
Value: Type: Mass (kg) Description: Design maximum take-off mass |
nPax |
Value: Type: Integer Description: Design number of passengers |
mPLdes |
Value: Type: Mass (kg) Description: Design payload mass |
machDes |
Value: Type: Real Description: Design Mach number |
compMat |
Value: Type: Boolean Description: true, if composite materials are used in structures |
qMax |
Value: Type: Pressure (Pa) Description: Maximum dynamic pressure |
nMax |
Value: Type: Real Description: Maximum load factor |
wingMounted |
Value: Type: Boolean Description: Engines mounted on wings (applicable only if number of engines > 1) |
engineType |
Value: Type: Integer Description: Type of engine |
nEng |
Value: Type: Integer Description: Number of engines |
rACcm |
Value: Type: Length[3] (m) Description: Aircraft dry center of mass w.r.t. fuselage reference point (estimated to be at 15% of MAC if weight estimation method is used) |
lFus |
Value: Type: Length (m) Description: Fuselage length |
wFus |
Value: Type: Length (m) Description: Fuselage maximum width |
hFus |
Value: Type: Length (m) Description: Fuselage maximum height |
Cfus |
Value: Type: Length (m) Description: Fuselage circumference |
SwetFus |
Value: Type: Area (m²) Description: Fuselage wetted area |
nSeatAbs |
Value: Type: Real Description: Number of seats abreast |
bWing |
Value: Type: Length (m) Description: Main wing span |
xWingRootLE |
Value: Type: Length (m) Description: Main wing root leading edge x-coordinate w.r.t. fuselage reference point (positive x-axis towards nose) |
zWingRootLE |
Value: Type: Length (m) Description: Main wing root leading edge z-coordinate w.r.t. fuselage reference point (positive z-axis towards ground) |
cWingMean |
Value: Type: Length (m) Description: Main wing mean chord length |
yWingAC |
Value: Type: Length (m) Description: Main wing aerodynamic center from fuselage centerline (y-coordinate w.r.t. fuselage centerline of mean chord) |
lambdaWingLE |
Value: Type: Angle (rad) Description: Main wing leading edge sweep angle |
initialAltitude |
Value: Type: Height (m) Description: Initial altitude |
initialLatPosition |
Value: Type: Position[2] (m) Description: Initial lateral position of the aircraft (x and y coordinates in world frame) |
initialVelocity |
Value: Type: Velocity (m/s) Description: Initial velocity |
initialTrack |
Value: Type: Angle (rad) Description: Initial track angle |
initialGamma |
Value: Type: Angle (rad) Description: Initial flight path angle |
initialPhi |
Value: Type: Angle (rad) Description: Initial roll angle |
initialTheta |
Value: Type: Angle (rad) Description: Initial pitch angle |
initialPsi |
Value: Type: Angle (rad) Description: Initial yaw angle (heading) |
initialAngularVelocity |
Value: Type: AngularVelocity[3] (rad/s) Description: Initial {roll [p], pitch [q], yaw [r]} |
CADshapes |
Value: Type: Boolean Description: true, if external CAD files are used for animation |
CADpath |
Value: Type: String Description: Path for CAD file |
rho0 |
Value: Type: Density (kg/m³) Description: Air density at sea-level |
flightData |
Type: FlightData Description: Global flight data variables |
---|
aircraftRP |
Type: Frame_b Description: Connector to aircraft reference point |
---|
flightData |
Type: FlightData Description: Global flight data variables |
|
---|---|---|
bodyShapeAircraft |
Type: BodyShape Description: Entire aircraft mass, center of mass location and inertia tensor with user input values |
|
bodyShapeFuselage |
Type: BodyShape Description: Fuselage mass, center of mass location and inertia tensor with estimated values |
|
bodyFrame |
Type: FixedFrame Description: Visualization of the body frame axes |
|
weightDevForce |
Type: WorldForce Description: Deviation to weight (gravity) at sea level due to altitude |
|
deltaWeight |
Type: RealExpression[3] Description: Deviation to weight (gravity) at sea level due to altitude |
|
vTotArrow |
Type: FixedArrow Description: Arrow for visualizing the direction and magnitude of the total velocity |
|
bodyShapePayload |
Type: BodyShape Description: Payload mass, center of mass location and inertia tensor with estimated values |
|
bodyLandingGear |
Type: Body Description: Landing gear mass and center of mass location with estimated values |
|
translACcm |
Type: FixedTranslation Description: Estimated fixed position of the aircraft center of mass w.r.t. fuselage reference point |
|
aircraftShapeCAD |
Type: FixedShape Description: Visualization of aircraft from a complete external CAD model |
|
translCADshape |
Type: FixedRotation Description: Translation and rotation of CAD shape resolved in aircraft body frame |
Aircraft.Physical.FixedWing.Interfaces Interface for a complete aircraft model |