************************************************
*                                              * 
*  FGFS Reconfigurable Aircraft Flight Model   *
*  Input File Documentation                    * 
*  Version 0.64, March 28, 2000                *
*                                              *
*  Authors:                                    *
*  Jeff Scott (jscott@mail.com)                *
*  Bipin Sehgal (bsehgal@uiuc.edu)             *
*  Michael Selig (m-selig@uiuc.edu)            *
*  Dept of Aero and Astro Engineering          *
*  University of Illinois at Urbana-Champaign  *
*  Urbana, IL                                  *
*  http://amber.aae.uiuc.edu/~m-selig          *
*                                              *
************************************************ 


**********************************************************************
This documentation includes:
 - Required and optional input lines.
 - Input line formats and conventions.

  Viewing this file in emacs makefile-mode with color makes this file
  easier to read.
**********************************************************************

**********************************************************************
I. Conventions and Notations and Reading this Document:

 # ...     Comments
 |         Input line not yet implemented
 |         Optional data
 |         Sometimes indicates a feature not yet used,
           but proposed convention is indicated nevertheless.
 <...>	   Value or file name to be placed here
 ||        Input line disabled
 ||        Option disabled
 ...       Repeat similar data
 ->        Continue onto next line
**********************************************************************

**********************************************************************
II. General Input Line Format:

Examples input lines include

Cm Cmo 0.194            # []          Bray pg 33
Cm Cm_a -2.12           # [/rad]      Bray pg 33
CL CLfa CLfa.dat        # []          Bray pg 50, Table 4.7

These follow the more general input line form

keyword  variableName  <value -or- file> | ->
    <value -or- file>  # [units]  <data source>

Each term of the input line will be discussed in turn.

(1) KEYWORDS
============

There currently exist 15 types of variable keywords:

init            Initial values for equation of motion
geometry        Aircraft-specific geometric quantities
controlSurface  Control surface deflections and properties
|controlsMixer  Control surface mixer options
mass            Aircraft-specific mass properties
engine          Propulsion data
CD              Aerodynamic x-force quantities (longitudinal)
CL              Aerodynamic z-force quantities (longitudinal)
Cm              Aerodynamic m-moment quantities (longitudinal)
CY              Aerodynamic y-force quantities (lateral)
Cl              Aerodynamic l-moment quantities (lateral)
Cn              Aerodynamic n-moment quantities (lateral)
|gear           Landing gear model quantities
ice             Icing model parameters
record          Record desired quantites to file

As each line of the input file is read, the code recognizes the
keyword, enters the appropriate switch statement in the code, and
proceeds to read the next term in the input line.

(2) VARIABLE NAMES
==================

The variable name indicates the form of the variable itself.  This
form may be a constant, a stability derivative (a specific form of a
constant), or a variable-dimensional lookup table.  More variable
types can be easily prescribed by defining a new convention.  The
variable name may also indicate that the quantity is to be calculated
from a hard-coded equation or set of equations provided at an
appropriate location within the code.

If the parameter name denotes a constant, a numerical value will 
follow the variable name.  If a lookup table, the name of the table 
containing the data will follow.

More than one value or file name can be specified if the code is 
intended to read in multiple pieces of data when implementing the 
particular switch in question (see also OPTIONAL data, section (3)).

The conventions used for naming the variables are provided below.
Several of these variable names are not currently used.

1) variable class
_       denotes stability derivative to be multiplied by something
f       "function of" (indicates an m*n matrix data table is given)

2) timing data (global simulator variables)
Simtime   current simulator time         [s]
dt        current simulator time step    [s]

3) aircraft state variables
Dx_pilot   x-location                    [ft]
Dy_pilot   y-location                    [ft]
Dz_pilot   z-location                    [ft]
Dx_cg      center of gravity x-location  [ft]
Dy_cg      center of gravity y-location  [ft]
Dz_cg      center of gravity z-location  [ft]
V_north    x-velocity                    [ft/s]
V_east     y-velocity                    [ft/s]
V_down     z-velocity                    [ft/s]
V_rel_wind total velocity                [ft/s]
Dynamic_pressure  dynamic pressure       [lb/ft^2]
Alpha      angle of attack               [rad]
Alpha_dot  rate of change of alpha       [rad/s]
Beta       sideslip angle                [rad]
Beta_dot   rate of change of beta        [rad]
Gamma      flight path angle             [rad]
P_body     roll rate                     [rad/s]
Q_body     pitch rate                    [rad/s]
R_body     yaw rate                      [rad/s]
Phi        bank angle                    [rad]
Theta      pitch attitude angle          [rad]
Theta_dot  rate change of theta          [rad/s]
Psi        heading angle                 [rad]
|long_trim
|trim_inc
M          Mach number                   []
Re         Reynolds number               []

4) atmosphere properties
Density    air density                   [slug/ft^3]

5) geometric variables
bw        wingspan                       [ft]
cbar      mean aerodynamic chord         [ft]
Sw        wing planform area             [ft^2]
iw        wing incidence angle           [deg]
bc        canard span                    [ft]
cc        canard (mean) chord            [ft]
Sc        canard area                    [ft^2]
ic        canard incidence angle         [deg]
bh        horizontal tail span           [ft]
ch        horizontal tail (mean) chord   [ft]
Sh        horizontal tail area           [ft^2]
ih        horizontal tail incidence angle [deg]
bv        vertical tail span (height)    [ft]
cv        vertical tail (mean) chord     [ft]
iv        vertical tail incidence angle  [deg]
Sv        vertical tail area             [ft^2]

6) control surface properties
Sa            aileron area               [ft^2]
Se            elevator area              [ft^2]
Sf            flap area                  [ft^2]
Sr            rudder area                [ft^2]
Lat_control   roll control input         [?]
Long_control  pitch control input        [?]
Rudder_pedal  yaw control input          [?]
aileron       aileron deflection         [rad]
elevator      elevator deflection        [rad]
rudder        rudder deflection          [rad]
|flap         flap deflection            [rad]

7) mass variables
|Weight   gross takeoff weight           [lb]
Mass      aircraft mass (used by LaRC)   [slug]
I_xx      roll inertia                   [slug-ft^2]
I_yy      pitch inertia                  [slug-ft^2]
I_zz      yaw inertia                    [slug-ft^2]
I_xz      lateral cross inertia          [slug-ft^2]

8) engine/propulsion variables
|thrust       thrust                          [lb]
simpleSingle  simple single engine max thrust [lb]
|Throttle_pct throttle input                  []  # ie, this is the stick
|Throttle[3]  throttle deflection             [%] # this is what gets used to determine thrust

9) force/moment coefficients
CD        coefficient of drag            []
CY        coefficient of side-force      []
CL        coefficient of lift            []
Cl        coefficient of roll moment     []
Cm        coefficient of pitching moment []
Cn        coefficient of yaw moment      []
|CT       coefficient of thrust          []

10) total forces/moments
F_X_wind    aerodynamic x-force in wind-axes    [lb]
F_Y_wind    aerodynamic y-force in wind-axes    [lb]
F_Z_wind    aerodynamic z-force in wind-axes    [lb]
F_X_aero    aerodynamic x-force in body-axes    [lb]
F_Y_aero    aerodynamic y-force in body-axes    [lb]
F_Z_aero    aerodynamic z-force in body-axes    [lb]
F_X_engine  propulsion x-force in body axes     [lb]
F_Y_engine  propulsion y-force in body axes     [lb]
F_Z_engine  propulsion z-force in body axes     [lb]
F_X_gear    gear x-force in body axes           [lb]
F_Y_gear    gear y-force in body axes           [lb]
F_Z_gear    gear z-force in body axes           [lb]
F_X         total x-force                       [lb]
F_Y         total y-force                       [lb]
F_Z         total z-force                       [lb]
M_l_aero    aero roll-moment in body-axes       [ft-lb]
M_m_aero    aero pitch-moment in body-axes      [ft-lb]
M_n_aero    aero yaw-moment in body-axes        [ft-lb]
M_l_engine  prop roll-moment in body axes       [ft-lb]
M_m_engine  prop pitch-moment in body axes      [ft-lb]
M_n_engine  prop yaw-moment in body axes        [ft-lb]
M_l_gear    gear roll-moment in body axes       [ft-lb]
M_m_gear    gear pitch-moment in body axes      [ft-lb]
M_n_gear    gear yaw-moment in body axes        [ft-lb]
M_l_rp      total roll-moment                   [ft-lb]
M_m_rp      total pitch-moment                  [ft-lb]
M_n_rp      total yaw-moment                    [ft-lb]

11) landing gear properties
|cgear  gear damping constant            [?]
|kgear  gear spring constant             [?]
|muGear gear rolling friction coef       [?]
|strutLength  gear strut length          [ft]

12) icing model parameters
iceTime       time when icing begins                         [s]
transientTime time period over which eta increases to final  [s]
eta_final     icing severity factor at end of transient time [-]
kCA           icing constants for associated aero coef.      [-] (see IV)

13) subscripts
o       value for all angles = 0 (alfa, beta, etc)
a       angle of attack
adot    rate change in angle alpha
beta    sideslip angle
|betadot  rate change in beta
p       roll rate
q       pitch rate
r       yaw rate
|pdot   rate change in p
|qdot   rate change in q
|rdot   rate change in r
|udot   rate change in x-velocity
da      aileron deflection
de      elevator deflection
dr      rudder deflection
df      flap deflection
|df2    flap deflection for second set
|df3    flap deflection for third set
max     maximum
min     minimum

(3) | [OPTIONAL DATA]
=====================

An input line may also be used to provide optional data that
will be used if provided but is not necessary for the code to 
operate.  As with the variable data described in section (2), multiple 
values or data files may be provided if the code is written to use 
them.

(4) # [COMMENTS]
================

Appended comments should be provided with each input line to indicate 
units on the variable in question and to indicate the source the data 
was drawn from.
**********************************************************************

**********************************************************************
III. Sample Input Lines:

CONSTANTS
=========

geometry bw <value>     # geometric parameter, wingspan
Cm Cm_a <value>         # stability derivative, d(Cm)/d(alpha)
controlSurface de <value> <value>  # max and min elevator deflections

LOOKUP TABLES
=============

CD CDfCL <file.dat>     # CD(CL), drag polar data file
Cm Cmfade <file.dat>    # Cm(alpha,delta_e), moment data file

HARD-CODED EQUATION
===================

CD CDfCL                # CD(CL), drag calculated in code based on CL

**********************************************************************

**********************************************************************
IV. Input Line Definitions:

Of all the possible permutations of variable names described above in
section II, only some are curently implemented in the code.  These are
described below.  Comments, denoted by '#,' are used to define the
lines and to indicate examples of the data if additional clarity is
needed for unique situations.  Again, those lines beginning with '|'
are not currently implemented in the code, but indicate planned
conventions in later versions.

# Key  Variable  Data      Units      Description                       Where Defined
#------------------------------------------------------------------------------------

init Dx_pilot <Dx_pilot> # [ft]       initial x-position                ls_generic.h
init Dy_pilot <Dy_pilot> # [ft]       initial y-position                ls_generic.h
init Dz_pilot <Dz_pilot> # [ft]       initial z-position                ls_generic.h
init Dx_cg <Dx_cg>       # [ft]       initial cg x_location             ls_generic.h
init Dy_cg <Dy_cg>       # [ft]       initial cg y_location             ls_generic.h
init Dz_cg <Dz_cg>       # [ft]       initial cg z_location             ls_generic.h
|init V_north <V_north>  # [ft/s]     initial x-velocity                ls_generic.h
|init V_east <V_east>    # [ft/s]     initial y-velocity                ls_generic.h
|init V_down <V_down>    # [ft/s]     initial z-velocity                ls_generic.h
init P_body <P_body>     # [rad/s]    initial roll rate                 ls_generic.h
init Q_body <Q_body>     # [rad/s]    initial pitch rate                ls_generic.h
init R_body <R_body>     # [rad/s]    initial yaw rate                  ls_generic.h
init Phi <Phi>           # [rad]      initial bank angle                ls_generic.h
init Theta <Theta>       # [rad]      initial pitch attitude angle      ls_generic.h
init Psi <Psi>           # [rad]      initial heading angle             ls_generic.h

geometry bw <bw>        # [ft]        wingspan                          uiuc_aircraft.h
geometry cbar <cbar>    # [ft]        wing mean aero chord              uiuc_aircraft.h
geometry Sw <Sw>        # [ft^2]      wing reference area               uiuc_aircraft.h
|geometry iw <iw>       # [deg]       wing incidence angle              uiuc_aircraft.h
|geometry bc <bc>       # [ft]        canard span                       uiuc_aircraft.h
|geometry cc <cc>       # [ft]        canard chord                      uiuc_aircraft.h
|geometry Sc <Sc>       # [sq-ft]     canard area                       uiuc_aircraft.h
|geometry ic <ic>       # [deg]       canard incidence angle            uiuc_aircraft.h
|geometry bh <bh>       # [ft]        horizontal tail span              uiuc_aircraft.h
|geometry ch <ch>       # [ft]        horizontal tail chord             uiuc_aircraft.h
|geometry Sh <Sh>       # [sq-ft]     horizontal tail area              uiuc_aircraft.h
|geometry ih <ih>       # [deg]       horiz tail incidence angle        uiuc_aircraft.h
|geometry bv <bv>       # [ft]        vertical tail span                uiuc_aircraft.h
|geometry cv <cv>       # [ft]        vertical tail chord               uiuc_aircraft.h
|geometry Sv <Sv>       # [sq-ft]     vertical tail area                uiuc_aircraft.h
|geometry iv <iv>       # [deg]       vert tail incidence angle         uiuc_aircraft.h

|controlSurface Se <Se>  # [ft^2]     elevator area                     uiuc_aircraft.h
|controlSurface Sa <Sa>  # [ft^2]     aileron area                      uiuc_aircraft.h
|controlSurface Sr <Sr>  # [ft^2]     rudder area                       uiuc_aircraft.h
|controlSurface Sf <Sf>  # [ft^2]     flap area                         uiuc_aircraft.h
controlSurface de <demax> <demin>   # [deg]  max/min elev deflections   uiuc_aircraft.h
controlSurface da <damax> <damin>   # [deg]  max/min ail deflections    uiuc_aircraft.h
controlSurface dr <drmax> <drmin>   # [deg]  max/min rud deflections    uiuc_aircraft.h
|controlSurface df <dfmax> <dfmin>  # [deg]  max/min flap deflections   uiuc_aircraft.h
# Note: Currently demin is not used in the code, and the max/min is +-demax.


|controlsMixer nomix <?> # []         no controls mixing                uiuc_aircraft.h

|mass Weight <Weight>   # [lb]        gross takeoff weight (not used)
mass Mass <Mass>        # [slug]      gross takeoff mass                ls_generic.h
mass I_xx <I_xx>        # [slug-ft^2] roll inertia                      ls_generic.h
mass I_yy <I_yy>        # [slug-ft^2] pitch inertia                     ls_generic.h
mass I_zz <I_zz>        # [slug-ft^2] yaw inertia                       ls_generic.h
mass I_xz <I_xz>        # [slug-ft^2] lateral cross inertia             ls_generic.h


# maximum and minimum engine thrust				[lb]	uiuc_aircraft.h
|engine thrust <thrustMax> <thrustMin>

# simple single engine maximum thrust				[lb]	uiuc_aircraft.h
engine simpleSingle <simpleSingleMaxThrust>

engine c172             # use Cessna 172 engine model of Tony Peden


CL CLo <CLo>            # []          lift coef for all angles = 0      uiuc_aircraft.h
CL CL_a <CL_a>          # [/rad]      lift curve slope, d(CL)/d(alpha)  uiuc_aircraft.h
CL CL_adot <CL_adot>    # [/rad]      d(CL)/d(alpha)/da(time)           uiuc_aircraft.h
CL CL_q <CL_q>          # [/rad]      d(CL)/delta(q)                    uiuc_aircraft.h
CL CL_de <CL_de>        # [/rad]      d(CL)/d(de)                       uiuc_aircraft.h

# CL(alpha), conversion for CL, for alpha                           []  uiuc_aircraft.h
CL CLfa <CLfa.dat> <conversion1> <conversion2>

# CL(alpha,delta_e), conversion for CL, for alpha, for delta_e      []  uiuc_aircraft.h
CL CLfade <CLfade.dat> <conversion1> <conversion2> <conversion3>

|CL CLfCT <CLfCT.dat>   #             CL(thrust coef)                   uiuc_aircraft.h
|CL CLfRe               #             CL(Reynolds #), equation          uiuc_aircraft.h
|CL CL_afaM <CL_afaM.dat> #           CL_alpha(alpha,Mach #)            uiuc_aircraft.h
   # these are sample examples that might be used in later versions of the code


# note that CD terms must come after CL for induced drag to be computed
CD CDo <CDo>            # []          drag coef for all angles = 0      uiuc_aircraft.h
CD CDK <CDK>            # []          constant, as in CD=CDo+K*CL^2     uiuc_aircraft.h
CD CD_a <CD_a>          # [/rad]      d(CD)/d(alpha)                    uiuc_aircraft.h
CD CD_de <CD_de>        # [/rad]      d(CD)/d(delta_e)                  uiuc_aircraft.h

# CD(alpha), conversion for CD, for alpha                           []  uiuc_aircraft.h
CD CDfa <CDfa.dat> <conversion1> <conversion2>

# CD(alpha,delta_e), conversion for CD, for alpha, for delta_e      []  uiuc_aircraft.h
CD CDfade <CDfade.dat> <conversion1> <conversion2> <conversion3>


Cm Cmo <Cmo>            # []          pitch mom coef for all angles=0   uiuc_aircraft.h
Cm Cm_a <Cm_a>          # [/rad]      d(Cm)/d(alpha)                    uiuc_aircraft.h
Cm Cm_adot <Cm_adot>    # [/rad]      d(Cm)/d(alpha)/d(time)            uiuc_aircraft.h
Cm Cm_q <Cm_q>          # [/rad]      d(Cm)/d(q)                        uiuc_aircraft.h
Cm Cm_de <Cm_de>        # [/rad]      d(Cm)/d(de)                       uiuc_aircraft.h
|Cm Cmfa <Cmfa.dat>     # []          Cm(alpha)                         uiuc_aircraft.h
Cm Cmfade <Cmfade.dat>  # []          Cm(alpha,delta_e)                 uiuc_aircraft.h

# Cm(alpha,delta_e), conversion for Cm, for alpha, for delta_e      []  uiuc_aircraft.h
Cm Cmfade <Cmfade.dat> <conversion1> <conversion2> <conversion3>


CY CYo <CYo>            # []          side-force coef for all angles=0  uiuc_aircraft.h
CY CY_beta <CY_beta>    # [/rad]      d(CY)/d(beta)                     uiuc_aircraft.h
CY CY_p <CY_p>          # [/rad]      d(CY)/d(p)                        uiuc_aircraft.h
CY CY_r <CY_r>          # [/rad]      d(CY)/d(r)                        uiuc_aircraft.h
CY CY_da <CY_da>        # [/rad]      d(CY)/d(delta_a)                  uiuc_aircraft.h
CY CY_dr <CY_dr>        # [/rad]      d(CY)/d(delta_r)                  uiuc_aircraft.h

# CY(alpha,delta_a), conversion for CY, for alpha, for delta_a      []  uiuc_aircraft.h
CY CYfada <CYfada.dat> <conversion1> <conversion2> <conversion3>

# CY(beta,delta_r), conversion for CY, for beta, for delta_r        []  uiuc_aircraft.h
CY CYfbetadr <CYfbetadr.dat> <conversion1> <conversion2> <conversion3>


Cl Clo <Clo>            # []          roll mom coef for all angles=0    uiuc_aircraft.h
Cl Cl_beta <Cl_beta>    # [/rad]      d(Cl)/d(beta)                     uiuc_aircraft.h
Cl Cl_betafCL           # [/rad]      Cl_beta(CL) equation              uiuc_aircraft.h
Cl Cl_p <Cl_p>          # [/rad]      d(Cl)/d(p)                        uiuc_aircraft.h
Cl Cl_r <Cl_r>          # [/rad]      d(Cl)/d(r)                        uiuc_aircraft.h
Cl Cl_rfCL              # [/rad]      Cl_r(CL) equation                 uiuc_aircraft.h
Cl Cl_da <Cl_da>        # [/rad]      d(Cl)/d(delta_a)                  uiuc_aircraft.h
Cl Cl_dr <Cl_dr>        # [/rad]      d(Cl)/d(delta_r)                  uiuc_aircraft.h
Cl Clfada               # []          Cl(alpha,delta_a), equation       uiuc_aircraft.h

# Cl(alpha,delta_a), conversion for Cl, for alpha, for delta_a      []  uiuc_aircraft.h
Cl Clfada <CYfada.dat> <conversion1> <conversion2> <conversion3>

# Cl(beta,delta_r), conversion for Cl, for beta, for delta_r        []  uiuc_aircraft.h
Cl Clfbetadr <CYfbetadr.dat> <conversion1> <conversion2> <conversion3>


Cn Cno <Cno>            # []          yaw mom coef for all angles=0     uiuc_aircraft.h
Cn Cn_beta <Cn_beta>    # [/rad]      d(Cn)/d(beta)                     uiuc_aircraft.h
Cn Cn_betafCL           # [/rad]      Cn_beta(CL) equation              uiuc_aircraft.h
Cn Cn_p <Cn_p>          # [/rad]      d(Cn)/d(p)                        uiuc_aircraft.h
Cn Cn_pfCL              # [/rad]      Cn_p(CL) equation                 uiuc_aircraft.h
Cn Cn_r <Cn_r>          # [/rad]      d(Cn)/d(r)                        uiuc_aircraft.h
Cn Cn_rfCL              # [/rad]      Cn_r(CL) equation                 uiuc_aircraft.h
Cn Cn_da <Cn_da>        # [/rad]      d(Cn)/d(da)                       uiuc_aircraft.h
Cn Cn_dr <Cn_dr>        # [/rad]      d(Cn)/d(dr)                       uiuc_aircraft.h
Cn Cn_drfCL             # [/rad]      Cn_dr(CL) equation                uiuc_aircraft.h

# Cn(alpha,delta_a), conversion for Cn, for alpha, for delta_a      []  uiuc_aircraft.h
Cn Cnfada <Cnfada.dat> <conversion1> <conversion2> <conversion3>

# Cn(beta,delta_r), conversion for Cn, for beta, for delta_r        []  uiuc_aircraft.h
Cn Cnfbetadr <Cnfbetadr.dat> <conversion1> <conversion2> <conversion3>

=============================CONVERSION CODES================================

To calculate the aero forces, angles (eg, alfa, beta, elevator deflection, etc)
must be in radians.  To convert input data in degree to radian, use a
conversion code of 1.  To use no conversion, use a conversion code of 0.

------------------------------------------------
conversion1
conversion2
conversion3   Action
------------------------------------------------
  0           no conversion (multiply by 1)
  1           convert degrees to radians
=============================================================================

|gear kgear <kgear>     # []          gear spring constant(s)           uiuc_aircraft.h
|gear muRoll <muRoll>   # []          gear rolling friction coef(s)     uiuc_aircraft.h
|gear cgear <cgear>     # []          gear damping constant(s)          uiuc_aircraft.h
|gear strutLength <sL>  # [ft]        gear strut length                 uiuc_aircraft.h

ice iceTime <iceTime>   # [s]         time when icing begins            uiuc_aircraft.h
ice transientTime <tT>  # [s]         period for eta to reach eta_final uiuc_aircraft.h
ice eta_final <eta_f>   # []          icing severity factor             uiuc_aircraft.h
ice kCDo <kCDo>         # []          icing constant for CDo            uiuc_aircraft.h
ice kCDK <kCDo>         # []          icing constant for CDK            uiuc_aircraft.h
ice kCD_a <kCD_a>       # []          icing constant for CD_a           uiuc_aircraft.h
|ice kCD_q <kCD_q>      # []          icing constant for CD_q           uiuc_aircraft.h
ice kCD_de <kCD_de>     # []          icing constant for CD_de          uiuc_aircraft.h
|ice kCD_dr <kCD_dr>    # []          icing constant for CD_dr          uiuc_aircraft.h
|ice kCD_df <kCD_df>    # []          icing constant for CD_df          uiuc_aircraft.h
|ice kCD_adf <kCD_adf>  # []          icing constant for CD_adf         uiuc_aircraft.h
ice kCLo <kCLo>         # []          icing constant for CLo            uiuc_aircraft.h
ice kCL_a <kCL_a>       # []          icing constant for CL_a           uiuc_aircraft.h
ice kCL_adot <kCL_adot> # []          icing constant for CL_adot        uiuc_aircraft.h
ice kCL_q <kCL_q>       # []          icing constant for CL_q           uiuc_aircraft.h
ice kCL_de <kCL_de>     # []          icing constant for CL_de          uiuc_aircraft.h
|ice kCL_df <kCL_df>    # []          icing constant for CL_df          uiuc_aircraft.h
|ice kCL_adf <kCL_adf>  # []          icing constant for CL_adf         uiuc_aircraft.h
ice kCmo <kCmo>         # []          icing constant for Cmo            uiuc_aircraft.h
ice kCm_a <kCm_a>       # []          icing constant for Cm_a           uiuc_aircraft.h
ice kCm_adot <kCm_adot> # []          icing constant for Cm_adot        uiuc_aircraft.h
ice kCm_q <kCm_q>       # []          icing constant for Cm_q           uiuc_aircraft.h
|ice kCm_r <kCm_r>      # []          icing constant for Cm_r           uiuc_aircraft.h
ice kCm_de <kCm_de>     # []          icing constant for Cm_de          uiuc_aircraft.h
|ice kCm_df <kCm_df>    # []          icing constant for Cm_df          uiuc_aircraft.h
ice kCYo <kCYo>         # []          icing constant for CYo            uiuc_aircraft.h
ice kCY_beta <kCy_beta> # []          icing constant for CY_beta        uiuc_aircraft.h
ice kCY_p <kCY_p>       # []          icing constant for CY_p           uiuc_aircraft.h
ice kCY_r <kCY_r>       # []          icing constant for CY_r           uiuc_aircraft.h
ice kCY_da <kCY_da>     # []          icing constant for CY_da          uiuc_aircraft.h
ice kCY_dr <kCY_dr>     # []          icing constant for CY_dr          uiuc_aircraft.h
ice kClo <kClo>         # []          icing constant for Clo            uiuc_aircraft.h
ice kCl_beta <kCl_beta> # []          icing constant for Cl_beta        uiuc_aircraft.h
ice kCl_p <kCl_p>       # []          icing constant for Cl_p           uiuc_aircraft.h
ice kCl_r <kCl_r>       # []          icing constant for Cl_r           uiuc_aircraft.h
ice kCl_da <kCl_da>     # []          icing constant for Cl_da          uiuc_aircraft.h
ice kCl_dr <kCl_dr>     # []          icing constant for Cl_dr          uiuc_aircraft.h
ice kCno <kCno>         # []          icing constant for Cno            uiuc_aircraft.h
ice kCn_beta <kCn_beta> # []          icing constant for Cn_beta        uiuc_aircraft.h
ice kCn_p <kCn_p>       # []          icing constant for Cn_p           uiuc_aircraft.h
ice kCn_r <kCn_r>       # []          icing constant for Cn_r           uiuc_aircraft.h
ice kCn_da <kCn_da>     # []          icing constant for Cn_da          uiuc_aircraft.h
ice kCn_dr <kCn_dr>     # []          icing constant for Cn_dr          uiuc_aircraft.h

record Dx_pilot               # [ft]      x-location                    ls_generic.h
record Dy_pilot               # [ft]      y-loaction                    ls_generic.h
record Dz_pilot               # [ft]      z-location                    ls_generic.h
record Dx_cg                  # [ft]      cg x_location                 ls_generic.h
record Dy_cg                  # [ft]      cg y_location                 ls_generic.h
record Dz_cg                  # [ft]      cg z_location                 ls_generic.h
record V_north                # [ft/s]    x-velocity                    ls_generic.h
record V_east                 # [ft/s]    y-velocity                    ls_generic.h
record V_down                 # [ft/s]    z-velocity                    ls_generic.h
record V_rel_wind             # [ft/s]    total velocity                ls_generic.h
record Dynamic_pressure       # [lb/ft^2] dynamic pressure              ls_generic.h
record Alpha                  # [rad]     angle of attack               ls_generic.h
record Alpha_dot              # [rad/s]   rate of change of alpha       ls_generic.h
record Beta                   # [rad]     sideslip angle                ls_generic.h
record Beta_dot               # [rad/s]   rate of change of beta        ls_generic.h
record Gamma                  # [rad]     flight path angle             ls_generic.h
record P_body                 # [rad]     roll rate                     ls_generic.h
record Q_body                 # [rad]     pitch rate                    ls_generic.h
record R_body                 # [rad]     yaw rate                      ls_generic.h
record Phi                    # [rad]     bank angle                    ls_generic.h
record Theta                  # [rad]     pitch attitude angle          ls_generic.h
record Theta_dot              # [rad]     rate change of theta          ls_generic.h
record Psi                    # [rad]     heading angle                 ls_generic.h
|record long_trim                                                       
|record trim_inc                                                        
record Density                # [slug/ft^3] air density                 ls_generic.h
record Mass                   # [slug]    aircraft mass                 ls_generic.h
record Simtime                # [s]       current sim time              global
record dt                     # [s]       current time step             global
record Long_control           # []        pitch input                   ls_cockpit.h
record Lat_control            # []        roll input                    ls_cockpit.h
record Rudder_pedal           # []        yaw input                     ls_cockpit.h
|record Throttle_pct          # [%]       throttle input                ls_cockpit.h
record elevator               # [rad]     elevator deflection           uiuc_aircraft.h
record aileron                # [rad]     aileron deflection            uiuc_aircraft.h
record rudder                 # [rad]     rudder deflection             uiuc_aircraft.h
|record Throttle[3]           # [%]       throttle deflection           ls_cockpit.h
record CDfaI                  # []        CD(alpha)                     uiuc_aircraft.h
record CDfadeI                # []        CD(alpha,delta_e)             uiuc_aircraft.h
record CD                     # []        drag coefficient              uiuc_aircraft.h
record CLfaI                  # []        CL(alpha)                     uiuc_aircraft.h
record CLfadeI                # []        CL(alpha,delta_e)             uiuc_aircraft.h
record CL                     # []        lift coefficient              uiuc_aircraft.h
record CmfadeI                # []        Cm(alpha,delta_e)             uiuc_aircraft.h
record Cm                     # []        pitch moment coefficient      uiuc_aircraft.h
record CYfadaI                # []        CY(alpha,delta_a)             uiuc_aircraft.h
record CYfbetadrI             # []        CY(beta,delta_r)              uiuc_aircraft.h
record CY                     # []        side-force coefficient        uiuc_aircraft.h
record ClfadaI                # []        Cl(alpha,delta_a)             uiuc_aircraft.h
record ClfbetadrI             # []        Cl(beta,delta_r)              uiuc_aircraft.h
record Cl                     # []        roll moment coefficient       uiuc_aircraft.h
record CnfadaI                # []        Cn(alpha,delta_a)             uiuc_aircraft.h
record CnfbetadrI             # []        Cn(beta,delta_r)              uiuc_aircraft.h
record Cn                     # []        yaw moment coefficient        uiuc_aircraft.h
record F_X_wind               # [lb]      aero x-force in wind-axes     ls_generic.h
record F_Y_wind               # [lb]      aero y-force in wind-axes     ls_generic.h
record F_Z_wind               # [lb]      aero z-force in wind-axes     ls_generic.h
record F_X_aero               # [lb]      aero x-force in body-axes     ls_generic.h
record F_Y_aero               # [lb]      aero y-force in body-axes     ls_generic.h
record F_Z_aero               # [lb]      aero z-force in body-axes     ls_generic.h
record F_X_engine             # [lb]      prop x-force in body-axes     ls_generic.h
record F_Y_engine             # [lb]      prop y-force in body-axes     ls_generic.h
record F_Z_engine             # [lb]      prop z-force in body-axes     ls_generic.h
record F_X_gear               # [lb]      gear x-force in body-axes     ls_generic.h
record F_Y_gear               # [lb]      gear y-force in body-axes     ls_generic.h
record F_Z_gear               # [lb]      gear z-force in body-axes     ls_generic.h
record F_X                    # [lb]      total x-force in body-axes    ls_generic.h
record F_Y                    # [lb]      total y-force in body-axes    ls_generic.h
record F_Z                    # [lb]      total z-force in body-axes    ls_generic.h
record M_l_aero               # [ft-lb]   aero roll mom in body axes    ls_generic.h
record M_m_aero               # [ft-lb]   aero pitch mom in body axes   ls_generic.h
record M_n_aero               # [ft-lb]   aero yaw mom in body axes     ls_generic.h
record M_l_engine             # [ft-lb]   prop roll mom in body axes    ls_generic.h
record M_m_engine             # [ft-lb]   prop pitch mom in body axes   ls_generic.h
record M_n_engine             # [ft-lb]   prop yaw mom in body axes     ls_generic.h
record M_l_gear               # [ft-lb]   gear roll mom in body axes    ls_generic.h
record M_m_gear               # [ft-lb]   gear pitch mom in body axes   ls_generic.h
record M_n_gear               # [ft-lb]   gear yaw mom in body axes     ls_generic.h
record M_l_rp                 # [ft-lb]   total roll mom in body axes   ls_generic.h
record M_m_rp                 # [ft-lb]   total pitch mom in body axes  ls_generic.h
record M_n_rp                 # [ft-lb]   total yaw mom in body axes    ls_generic.h

**********************************************************************

**********************************************************************
V. Mandatory Input:

The following data is required for the simulator to function;
otherwise either the UIUC Aero Model or LaRCsim parts of the code will
probably crash.

1) initial aircraft state  (LaRCsim)
Dx_pilot   x-location                    [ft]
Dy_pilot   y-location                    [ft]
Dz_pilot   z-location                    [ft]

(items below causing conflict with Flight Gear)
|V_north   x-velocity                    [ft/s]
|V_east    y-velocity                    [ft/s]
|V_down    z-velocity                    [ft/s]

P_body     roll rate                     [rad/s]
Q_body     pitch rate                    [rad/s]
R_body     yaw rate                      [rad/s]
Phi        bank angle                    [rad]
Theta      pitch attitude angle          [rad]
Psi        heading angle                 [rad]

2) aircraft geometry   (UIUC Aero Model)
bw        wingspan                       [ft]
cbar      mean aerodynamic chord         [ft]
Sw        wing planform area             [ft^2]

3) engine properties   (UIUC Engine Model)
(some engine model must be specified, such as...)
engine simpleSingle
          <or>
engine c172

4) mass variables   (LaRCsim)
Mass      aircraft mass                  [slug]
I_xx      roll inertia                   [slug-ft^2]
I_yy      pitch inertia                  [slug-ft^2]
I_zz      yaw inertia                    [slug-ft^2]
I_xz      lateral cross inertia          [slug-ft^2]

5) aerodynamic force/moment components   (Aero Model)
CLo       lift coef for all angles = 0   []
CL_a      lift curve slope, d(CL)/d(alpha) [/rad]
CDo       drag coef for all angles = 0   []
CDK       constant, as in CD=CDo+K*CL^2  []
          <or>
CD_a      d(CD)/d(alpha)                 [/rad]
Cmo       pitch mom coef for all angles=0 []
Cm_a      d(Cm)/d(alpha)                 [/rad]
CY_beta   d(CY)/d(beta)                  [/rad]
Cl_beta   d(Cl)/d(beta)                  [/rad]
Cn_beta   d(Cn)/d(beta)                  [/rad]

7) gear properties   (none yet)

With the current version, the C172 model gear model is used for *ALL*
aircraft.  This can produce some interesting effects with heavy
aircraft (eg, Convair model), and light aircraft (eg, Pioneer UAV)

**********************************************************************