WOLFRAM SYSTEM MODELER

Body

Model for the mass properties of entire aircraft or only fuselage, landing gear and payload if weight estimation method is used

Diagram

Wolfram Language

In[1]:=
SystemModel["Aircraft.Physical.FixedWing.Parts.Bodies.Body"]
Out[1]:=

Information

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.

Mass Properties

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.

References

[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 atmodelica://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.

Parameters (59)

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

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

Inputs (1)

flightData

Type: FlightData

Description: Global flight data variables

Connectors (1)

aircraftRP

Type: Frame_b

Description: Connector to aircraft reference point

Components (12)

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

Used in Components (1)

AircraftBase

Aircraft.Physical.FixedWing.Interfaces

Interface for a complete aircraft model