 ### CrrcSim Air File Notes

CrrcSim is capable of modeling different types of aircraft. A .air file includes parameters that describes both the shape and colors of the aircraft, and the aerodynamic parameters used to model aircraft motion in flight.

This note is a collection of notes describing various parameters. It is not complete. The .air file parameters shown below are based on the original crrcSim allegro/default.air file, but some have been modified for the Olympic-II.

#### Aerodynamic Parameters

The aerodynamic parameters are used by the Langley Simulation Code, laRcSim, to model the motion of the aircraft in flight. These parameters include:
• mass and inertia
• wing geometry
• lift and drag coefficient
• control and coupling
• initial flight condition and maximumj thrust

The equations of motions determine acceleration and rotational rates based on the mass and inertial moments of the aircraft. Just as the mass represents the aircrafts resistance to change in velocity, or acceleration, the moments represents the aircrafts resistance to changes in rotational acceleration such as roll, pitch and yaw rates.

The moments are described by the axis of rotation. All three axis go through the center of gravity. The x-axis points toward the nose, the y-axis toward the right wing tip, and the z-axis toward the ground. The roll moment is describe by Ixx, the pitch moment is describe by Iyy, and the yaw moment is describe by Izz. It's not clear to me what the Ixz moment represents, although all combinations (i.e. xy, xz, and yz) are possible but some are zero due to aircraft symetry on either side of the XZ-plane.

These use units of slug which is equivalent to 32.2 pounds. A moment is mass multiplied by the moment arm sqaured. This is easy to calculated for a mass at one point, but for long objects such as wings, requires the integration along the moment arm. See Appendix-A for some code that estimates the roll moment based on a constant density wing.

It would seem that the roll moment is primarily dependent on the wings and that the pitch moment is dependent on tail and nose moments. It would further seem that the yaw moment is a combination, the sum, of both the roll and pitch moments.

```Mass                 0.0625     (slug)
I_xx                 0.048      (slug-ft^2)
I_xz                 0.772      (slug-ft^2)
I_yy                 0.016282   (slug-ft^2)
I_zz                 0.081474   (slug-ft^2)
```

The next four paramters describe wing geometry. Presumably these are used to determine the area of the wing in order to calculate lift and drag values. They may also be used in determining ground affects or contact with the ground.

```B_ref                8.25       reference span (ft)
C_ref                0.78       reference chord (ft)
S_ref                6.46       reference area (ft^2)
span_eff             0.95       effective span
```

Quite a few parameters are used to calculate lift and drag values. These include factors for modeling stall and its affect. These parameters attempt to define a great deal of wind tunnel information.

```Alpha_0              0.034907   baseline alpha_0 (rad)
CD_AIsq              0.0        drag due to aileron deflection
CD_CLsq              0.01       deformation drag, as high as 0.02
CD_ELsq              0.0        drag due to elevon deflection
CD_prof              0.02       profile CD
Uexp_CD             -0.5        CD Re-scaling exponent
U_ref               19.685      CD reference speed (ft/s)

eta_loc              0.15       eta_loc for stall model
CG_arm               0.08       CG_arm for stall model

CL_0                 0.563172   baseline CL_0 at alpha_0
CL_CD0               0.0        set to as high as 0.30 for slow sections
CL_a                 5.5036     lift slope
CL_de                0.162      lift due to elevator
CL_drop              0.5        CL drop during stall break
CL_max               1.1        upper stall limit CL
CL_min              -0.6        lower stall limit CL
CL_q                 7.509990   lift due to pitch rate
```

There are quite a few coupling parameters that determine how the torque aroung the three rotational axis are affected by control surfaces and each other. They also include parameters for stability and damping.

As an example, the aileron coupling is obviously a very important parameter, but not all aircraft have ailerons, such a polyhedrals (RES). These aircraft control yaw which has a strong influence on roll. Cl_r would be set to define the yaw to roll coupling, and Cn_dr used to set the rudder to yaw coupling. However, since many modelers use the aileron stick to control rudder on polyhedral aircraft. Cn_da can be used instead of Cn_dr to control yaw. Controlling roll through yaw instead of directly through ailerons models a more realistic behavior. The aircraft both yaws and rolls, and there is a lag between the control input and yaw, and between the yaw and roll.

It would seem that center-of-gravity (CG) location affect on behavior would be modeled through these parameters. The pitch stability parameters, Cm_a, is one such parameter. While airfoils do have pitching moments, it seems that the lift force also contributes to the pitching moment if it is more forward or rearward of the CG, which is typical. If properly modeled, this may be useful in evaluating CG position on an aircraft. Its not clear if Cl_q is relavent, based on the comment.

```CY_b                -0.415610   sideforce due to sideslip
CY_da               -0.135890   sideforce due to aileron
CY_dr                0.0        sideforce doe to rudder
CY_p                -0.423820   sideforce due to roll rate
CY_r                 0.297540   sideforce due to yaw rate

Cl_b                -0.250926   roll due to sideslip
Cl_da               -0.0        roll due to aileron
Cl_dr                0.0        roll due to rudder
Cl_p                -0.611798   roll damping
Cl_r                 0.139581   roll due to yaw rate

Cm_0                -0.011266   baseline Cm_0 at alpha_0
Cm_a                -0.575335   pitch stability
Cm_de               -0.597537   pitch due to elevator
Cm_q               -11.4975     pitch damping
Cm_p                 0.2        pitch due to roll

Cn_b                 0.056707   yaw stability
Cn_da                0.052714   yaw due to aileron (or rudder)
Cn_dr                0.0        yaw due to rudder
Cn_p                -0.074090   yaw due to roll rate
Cn_r                -0.068776   yaw damping
```

Finally, there are three parameters to specify the initial attitude of the aircraft, and one parameter specifying the maximum thrust value.

```initial_altitude     0.174      Starting altitude of airplane in feet
initial_theta        0.0        Starting pitch of airplane in degrees
initial_velocity     0.0        Starting velocity of airplane (ft/sec ??)
max_thrust           1.5        One pound max thrust
```

#### Shape and Colors Parameters

Some other time ...

#### Appendix-A - Estimating Roll Moment (Ixx)

```#  guesstimate I of oly-ii wing

gawk '
function Ix (X0, Y0, X1, Y1, x)  {
x3   = x*x*x
val  = Y0 * x3 / 3 \
- (((x3 * x) / 4) - (Y0 * x3 / 3)) * ((Y0 - Y1)/(X1 - X0))

return val
}

function Ipanel (dM, X0, Y0, X1, Y1)  {
val1 = Ix(X0, Y0, X1, Y1, X1)
val2 = Ix(X0, Y0, X1, Y1, X0)
val  = (val1 - val2) * dM

# printf "  %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f\n", \
# 	val, dM, X0, Y0, X1, Y1

return val
}

{
print \$0

if (NF == 1)  {
weight = \$1
nPanel = 0
}
else  {
Sc   = 12
x[nPanel] = \$1 / Sc		# inches to feet
y[nPanel] = \$2 / Sc
nPanel++
}
}

END  {

if (nPanel < 2)  {
printf "Error: need at least 2 chord entries\n"
exit
}

printf "  %6d nPanel\n", nPanel

# calc area
area = 0
for (nP = 1; nP < nPanel; nP++)  {
area += (x[nP] - x[nP-1]) * (y[nP-1] + y[nP]) / 2
}

printf "  %6.3f area (%6.3f in.)\n", area, area * 144

# calc mass density
slugPerOz = 1 / (32.2 * 16)

mass  = weight * slugPerOz
dM    = mass / area

printf "  %6.3f mass (slug)\n", mass
printf "  %6.3f dM\n", dM

# calc moment (I) for each panel
Isum = 0
for (nP = 1; nP < nPanel; nP++)  {
Isum += Ipnl = Ipanel(dM, x[nP-1], y[nP-1], x[nP], y[nP])
printf "  %6.3f I-total  %6.3f I-panel\n", Isum, Ipnl
}
}' << **END**
9.75
0 10
32 10
50  5.5
**END**
```