2000-03-22 22:01:33 +00:00
|
|
|
/**********************************************************************
|
|
|
|
|
|
|
|
FILENAME: uiuc_aircraft.h
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
DESCRIPTION: creates maps for all keywords and variables expected in
|
|
|
|
aircraft input file, includes all parameters that
|
|
|
|
define the aircraft for use in the uiuc aircraft models.
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
STATUS: alpha version
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
REFERENCES:
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
HISTORY: 01/26/2000 initial release
|
|
|
|
02/10/2000 (JS) changed aeroData to aeroParts (etc.)
|
|
|
|
added Twin Otter 2.5 equation variables
|
|
|
|
added Dx_cg (etc.) to init & record maps
|
|
|
|
added controlsMixer to top level map
|
|
|
|
02/18/2000 (JS) added variables needed for 1D file
|
|
|
|
reading of CL and CD as functions of alpha
|
|
|
|
02/29/2000 (JS) added variables needed for 2D file
|
|
|
|
reading of CL, CD, and Cm as functions of
|
|
|
|
alpha and delta_e; of CY and Cn as function
|
|
|
|
of alpha and delta_r; and of Cl and Cn as
|
|
|
|
functions of alpha and delta_a
|
|
|
|
03/02/2000 (JS) added record features for 1D and 2D
|
|
|
|
interpolations
|
2000-09-06 19:52:37 +00:00
|
|
|
03/29/2000 (JS) added Cmfa interpolation functions
|
|
|
|
and Weight; added misc map
|
|
|
|
04/01/2000 (JS) added throttle, longitudinal, lateral,
|
|
|
|
and rudder inputs to record map
|
From: David Megginson <david@megginson.com>
I have created a set of patches to provide configurable landing gear
for the UIUC models. The patches (including four new files) are
available at
http://megginson.com/private/fgfs/uiuc-20010309.tar.gz
A modified UIUC configuration file for the Twin Otter (DHC-6) is
available at
http://megginson.com/private/fgfs/aircraft.dat
It should be possible to configure appropriate gear for all of the
UIUC models now. As a bonus, the models also support braking, both
absolute and differential, as well as nose-wheel steering (all of
which are currently missing from the UIUC models) -- when you land,
you don't have to keep rolling off the end of the runway anymore, and
you don't have to bank to steer in a taxi.
My sample configuration file contains absolutely bizarre, wild
guesses, and many places that I didn't even bother to guess properly.
The only actual data I had was the wing-span of the DHC-6 (65ft),
which I used for positioning the wing tips. The wing-tips for this
model actually work now -- I hit the aileron hard while accelerating
for take-off, and the wingtip noticeably strikes the ground and
bounces up (quite dramatic in external view using the DHC-6 model from
Wolfram's site).
Details
-------
The UIUC models now support up to 16 gear points each where a gear
point is anything in the aircraft that can come in contact with the
ground, including the tail and wing-tips. I have added the following
new fields to the UIUC configuration files, where <index> is an
integer between 0 and 15, and <value> is a real number:
gear <index> Dx_gear <value> # x offset from CG [ft]
gear <index> Dy_gear <value> # y offset from CG [ft]
gear <index> Dz_gear <value> # z offset from CG [ft]
gear <index> cgear <value> # spring damping [lbs/ft/sec]
gear <index> kgear <value> # springiness [lbs/ft]
gear <index> muGear <value> # rolling coefficient
gear <index> strutLength <value> # gear travel [ft] (not yet used)
Most of these names were already pencilled into the UIUC documentation
(as TODO items), but I had to make up Dx_gear, Dy_gear, and Dz_gear --
if those are inappropriate, I'd appreciate suggestions for better
names.
It will be necessary to modify the other UIUC configuration files to
include some kind of gear support as well, or the planes will sink
nose-first into the ground down to their CG's (it's actually quite
funny to watch with an external view).
Background
----------
As I frequently remind everyone here, I have no math background worth
spitting at, so I will not even pretend to have done the hard stuff.
The UIUC code uses a copy of a very old version of the LaRCsim
c172_gear.c -- I wanted to update it with Tony Peden's excellent newer
version, which includes differential braking among other goodies (the
UIUC models don't support brakes, period).
I copied the newer code into uiuc_aero.c, and it compiled and ran, but
all of the planes ended up sitting on their tails with their noses in
the air. Since Tony made his gear code nicely parameterized, I
experimented with different values, and found that it wasn't too hard
to balance the Twin Otter by moving the gear back a bit. At first, I
used properties to set different values, but then I decided to
integrate the whole thing properly into the UIUC configuration
framework. Thanks to Tony Peden, who did the real modelling work -- I
can take credit only for two or three hours of integration. It turns
out that Tony's code is generalized enough to deal with a wide range
of different gear structures -- I suspect that it will even work for
the 747, when I get around to trying some values.
2001-03-29 03:16:25 +00:00
|
|
|
03/09/2001 (DPM) added support for gear
|
2001-09-14 20:36:34 +00:00
|
|
|
06/18/2001 (RD) added variables needed for aileron,
|
|
|
|
rudder, and throttle_pct input files.
|
|
|
|
Added Alpha, Beta, U_body, V_body, and
|
|
|
|
W_body to init map. Added variables
|
|
|
|
needed to ignore elevator, aileron, and
|
|
|
|
rudder pilot inputs. Added CZ as a function
|
|
|
|
of alpha, CZfa. Added twinotter to engine
|
|
|
|
group.
|
|
|
|
07/05/2001 (RD) added pilot_elev_no_check, pilot_ail_no
|
|
|
|
_check, and pilot_rud_no_check variables.
|
|
|
|
This allows pilot to fly aircraft after the
|
|
|
|
input files have been used.
|
|
|
|
08/27/2001 (RD) Added xxx_init_true and xxx_init for
|
|
|
|
P_body, Q_body, R_body, Phi, Theta, Psi,
|
|
|
|
U_body, V_body, and W_body to help in
|
|
|
|
starting the A/C at an initial condition.
|
2002-04-01 21:37:33 +00:00
|
|
|
10/25/2001 (RD) Added new variables needed for the non-
|
|
|
|
linear Twin Otter model at zero flaps
|
|
|
|
(Cxfxxf0).
|
|
|
|
11/12/2001 (RD) Added variables needed for Twin Otter
|
|
|
|
non-linear model with flaps (Cxfxxf).
|
|
|
|
Zero flap variables removed.
|
2002-09-02 23:26:28 +00:00
|
|
|
01/11/2002 (AP) Added keywords for bootTime
|
2002-04-01 21:37:33 +00:00
|
|
|
02/13/2002 (RD) Added variables so linear aero model
|
|
|
|
values can be recorded
|
|
|
|
02/18/2002 (RD) Added variables necessary to use the
|
|
|
|
uiuc_3Dinterp_quick() function. Takes
|
|
|
|
advantage of data in a "nice" form (data
|
|
|
|
that are in a rectangular matrix).
|
2002-05-09 05:02:36 +00:00
|
|
|
04/21/2002 (MSS) Added new variables for apparent mass effects
|
|
|
|
and options for computing *_2U coefficient
|
|
|
|
scale factors.
|
2002-09-11 02:31:10 +00:00
|
|
|
08/29/2002 (MSS) Added simpleSingleModel
|
2002-11-08 17:03:49 +00:00
|
|
|
09/18/2002 (MSS) Added downwash options
|
2003-05-13 18:45:04 +00:00
|
|
|
03/03/2003 (RD) Changed flap_cmd_deg to flap_cmd (rad)
|
|
|
|
03/16/2003 (RD) Added trigger variables
|
2002-04-01 21:37:33 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
AUTHOR(S): Bipin Sehgal <bsehgal@uiuc.edu>
|
|
|
|
Jeff Scott <jscott@mail.com>
|
2001-09-14 20:36:34 +00:00
|
|
|
Robert Deters <rdeters@uiuc.edu>
|
From: David Megginson <david@megginson.com>
I have created a set of patches to provide configurable landing gear
for the UIUC models. The patches (including four new files) are
available at
http://megginson.com/private/fgfs/uiuc-20010309.tar.gz
A modified UIUC configuration file for the Twin Otter (DHC-6) is
available at
http://megginson.com/private/fgfs/aircraft.dat
It should be possible to configure appropriate gear for all of the
UIUC models now. As a bonus, the models also support braking, both
absolute and differential, as well as nose-wheel steering (all of
which are currently missing from the UIUC models) -- when you land,
you don't have to keep rolling off the end of the runway anymore, and
you don't have to bank to steer in a taxi.
My sample configuration file contains absolutely bizarre, wild
guesses, and many places that I didn't even bother to guess properly.
The only actual data I had was the wing-span of the DHC-6 (65ft),
which I used for positioning the wing tips. The wing-tips for this
model actually work now -- I hit the aileron hard while accelerating
for take-off, and the wingtip noticeably strikes the ground and
bounces up (quite dramatic in external view using the DHC-6 model from
Wolfram's site).
Details
-------
The UIUC models now support up to 16 gear points each where a gear
point is anything in the aircraft that can come in contact with the
ground, including the tail and wing-tips. I have added the following
new fields to the UIUC configuration files, where <index> is an
integer between 0 and 15, and <value> is a real number:
gear <index> Dx_gear <value> # x offset from CG [ft]
gear <index> Dy_gear <value> # y offset from CG [ft]
gear <index> Dz_gear <value> # z offset from CG [ft]
gear <index> cgear <value> # spring damping [lbs/ft/sec]
gear <index> kgear <value> # springiness [lbs/ft]
gear <index> muGear <value> # rolling coefficient
gear <index> strutLength <value> # gear travel [ft] (not yet used)
Most of these names were already pencilled into the UIUC documentation
(as TODO items), but I had to make up Dx_gear, Dy_gear, and Dz_gear --
if those are inappropriate, I'd appreciate suggestions for better
names.
It will be necessary to modify the other UIUC configuration files to
include some kind of gear support as well, or the planes will sink
nose-first into the ground down to their CG's (it's actually quite
funny to watch with an external view).
Background
----------
As I frequently remind everyone here, I have no math background worth
spitting at, so I will not even pretend to have done the hard stuff.
The UIUC code uses a copy of a very old version of the LaRCsim
c172_gear.c -- I wanted to update it with Tony Peden's excellent newer
version, which includes differential braking among other goodies (the
UIUC models don't support brakes, period).
I copied the newer code into uiuc_aero.c, and it compiled and ran, but
all of the planes ended up sitting on their tails with their noses in
the air. Since Tony made his gear code nicely parameterized, I
experimented with different values, and found that it wasn't too hard
to balance the Twin Otter by moving the gear back a bit. At first, I
used properties to set different values, but then I decided to
integrate the whole thing properly into the UIUC configuration
framework. Thanks to Tony Peden, who did the real modelling work -- I
can take credit only for two or three hours of integration. It turns
out that Tony's code is generalized enough to deal with a wide range
of different gear structures -- I suspect that it will even work for
the 747, when I get around to trying some values.
2001-03-29 03:16:25 +00:00
|
|
|
David Megginson <david@megginson.com>
|
2002-09-02 23:26:28 +00:00
|
|
|
Ann Peedikayil <peedikay@uiuc.edu>
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
VARIABLES:
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
INPUTS: none
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
OUTPUTS: none
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
CALLED BY: uiuc_1DdataFileReader.cpp
|
|
|
|
uiuc_2DdataFileReader.cpp
|
|
|
|
uiuc_aerodeflections.cpp
|
|
|
|
uiuc_coefficients.cpp
|
|
|
|
uiuc_engine.cpp
|
|
|
|
uiuc_initializemaps.cpp
|
|
|
|
uiuc_menu.cpp
|
|
|
|
uiuc_recorder.cpp
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
CALLS TO: none
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
COPYRIGHT: (C) 2000 by Michael Selig
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU General Public License
|
|
|
|
as published by the Free Software Foundation.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
|
|
|
USA or view http://www.gnu.org/copyleft/gpl.html.
|
|
|
|
|
|
|
|
**********************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef _AIRCRAFT_H_
|
|
|
|
#define _AIRCRAFT_H_
|
|
|
|
|
2000-04-27 21:57:08 +00:00
|
|
|
#include <simgear/compiler.h>
|
2000-10-02 21:49:04 +00:00
|
|
|
|
2001-03-29 03:49:02 +00:00
|
|
|
#include <FDM/LaRCsim/ls_types.h>
|
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
#include <map>
|
From: David Megginson <david@megginson.com>
I have created a set of patches to provide configurable landing gear
for the UIUC models. The patches (including four new files) are
available at
http://megginson.com/private/fgfs/uiuc-20010309.tar.gz
A modified UIUC configuration file for the Twin Otter (DHC-6) is
available at
http://megginson.com/private/fgfs/aircraft.dat
It should be possible to configure appropriate gear for all of the
UIUC models now. As a bonus, the models also support braking, both
absolute and differential, as well as nose-wheel steering (all of
which are currently missing from the UIUC models) -- when you land,
you don't have to keep rolling off the end of the runway anymore, and
you don't have to bank to steer in a taxi.
My sample configuration file contains absolutely bizarre, wild
guesses, and many places that I didn't even bother to guess properly.
The only actual data I had was the wing-span of the DHC-6 (65ft),
which I used for positioning the wing tips. The wing-tips for this
model actually work now -- I hit the aileron hard while accelerating
for take-off, and the wingtip noticeably strikes the ground and
bounces up (quite dramatic in external view using the DHC-6 model from
Wolfram's site).
Details
-------
The UIUC models now support up to 16 gear points each where a gear
point is anything in the aircraft that can come in contact with the
ground, including the tail and wing-tips. I have added the following
new fields to the UIUC configuration files, where <index> is an
integer between 0 and 15, and <value> is a real number:
gear <index> Dx_gear <value> # x offset from CG [ft]
gear <index> Dy_gear <value> # y offset from CG [ft]
gear <index> Dz_gear <value> # z offset from CG [ft]
gear <index> cgear <value> # spring damping [lbs/ft/sec]
gear <index> kgear <value> # springiness [lbs/ft]
gear <index> muGear <value> # rolling coefficient
gear <index> strutLength <value> # gear travel [ft] (not yet used)
Most of these names were already pencilled into the UIUC documentation
(as TODO items), but I had to make up Dx_gear, Dy_gear, and Dz_gear --
if those are inappropriate, I'd appreciate suggestions for better
names.
It will be necessary to modify the other UIUC configuration files to
include some kind of gear support as well, or the planes will sink
nose-first into the ground down to their CG's (it's actually quite
funny to watch with an external view).
Background
----------
As I frequently remind everyone here, I have no math background worth
spitting at, so I will not even pretend to have done the hard stuff.
The UIUC code uses a copy of a very old version of the LaRCsim
c172_gear.c -- I wanted to update it with Tony Peden's excellent newer
version, which includes differential braking among other goodies (the
UIUC models don't support brakes, period).
I copied the newer code into uiuc_aero.c, and it compiled and ran, but
all of the planes ended up sitting on their tails with their noses in
the air. Since Tony made his gear code nicely parameterized, I
experimented with different values, and found that it wasn't too hard
to balance the Twin Otter by moving the gear back a bit. At first, I
used properties to set different values, but then I decided to
integrate the whole thing properly into the UIUC configuration
framework. Thanks to Tony Peden, who did the real modelling work -- I
can take credit only for two or three hours of integration. It turns
out that Tony's code is generalized enough to deal with a wide range
of different gear structures -- I suspect that it will even work for
the 747, when I get around to trying some values.
2001-03-29 03:16:25 +00:00
|
|
|
#include STL_IOSTREAM
|
2003-05-13 18:45:04 +00:00
|
|
|
#include <cmath>
|
2000-10-02 21:49:04 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
#include "uiuc_parsefile.h"
|
2003-05-13 18:45:04 +00:00
|
|
|
#include "uiuc_flapdata.h"
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2001-03-23 22:59:18 +00:00
|
|
|
SG_USING_STD(map);
|
|
|
|
SG_USING_STD(iostream);
|
|
|
|
SG_USING_STD(ofstream);
|
2000-04-27 21:57:08 +00:00
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
typedef stack :: iterator LIST;
|
|
|
|
|
|
|
|
/* Add more keywords here if required*/
|
|
|
|
enum {init_flag = 1000, geometry_flag, controlSurface_flag, controlsMixer_flag,
|
|
|
|
mass_flag, engine_flag, CD_flag, CL_flag, Cm_flag, CY_flag, Cl_flag,
|
2001-09-14 20:36:34 +00:00
|
|
|
Cn_flag, gear_flag, ice_flag, record_flag, misc_flag, fog_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// init ======= Initial values for equation of motion
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_init.cpp
|
2002-11-08 17:03:49 +00:00
|
|
|
enum {Dx_pilot_flag = 2000,
|
|
|
|
Dy_pilot_flag,
|
|
|
|
Dz_pilot_flag,
|
|
|
|
Dx_cg_flag,
|
|
|
|
Dy_cg_flag,
|
|
|
|
Dz_cg_flag,
|
|
|
|
Altitude_flag,
|
|
|
|
V_north_flag,
|
|
|
|
V_east_flag,
|
|
|
|
V_down_flag,
|
|
|
|
P_body_flag,
|
|
|
|
Q_body_flag,
|
|
|
|
R_body_flag,
|
|
|
|
Phi_flag,
|
|
|
|
Theta_flag,
|
|
|
|
Psi_flag,
|
|
|
|
Long_trim_flag,
|
|
|
|
recordRate_flag,
|
|
|
|
recordStartTime_flag,
|
|
|
|
use_V_rel_wind_2U_flag,
|
|
|
|
nondim_rate_V_rel_wind_flag,
|
2002-05-09 05:02:36 +00:00
|
|
|
use_abs_U_body_2U_flag,
|
2002-11-08 17:03:49 +00:00
|
|
|
dyn_on_speed_flag,
|
|
|
|
dyn_on_speed_zero_flag,
|
|
|
|
use_dyn_on_speed_curve1_flag,
|
|
|
|
use_Alpha_dot_on_speed_flag,
|
2003-05-13 18:45:04 +00:00
|
|
|
use_gamma_horiz_on_speed_flag,
|
|
|
|
gamma_horiz_on_speed,
|
2002-11-08 17:03:49 +00:00
|
|
|
downwashMode_flag,
|
|
|
|
downwashCoef_flag,
|
|
|
|
Alpha_flag,
|
|
|
|
Beta_flag,
|
|
|
|
U_body_flag,
|
|
|
|
V_body_flag,
|
|
|
|
W_body_flag,
|
2003-05-13 18:45:04 +00:00
|
|
|
ignore_unknown_keywords_flag,
|
2002-11-08 17:03:49 +00:00
|
|
|
trim_case_2_flag,
|
|
|
|
use_uiuc_network_flag,
|
|
|
|
old_flap_routine_flag,
|
|
|
|
icing_demo_flag,
|
|
|
|
outside_control_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// geometry === Aircraft-specific geometric quantities
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_geometry.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
enum {bw_flag = 3000, cbar_flag, Sw_flag, ih_flag, bh_flag, ch_flag, Sh_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// controlSurface = Control surface deflections and properties
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_controlSurface.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
enum {de_flag = 4000, da_flag, dr_flag,
|
|
|
|
set_Long_trim_flag, set_Long_trim_deg_flag, zero_Long_trim_flag,
|
2002-04-01 21:37:33 +00:00
|
|
|
elevator_step_flag, elevator_singlet_flag, elevator_doublet_flag,
|
2003-05-13 18:45:04 +00:00
|
|
|
elevator_input_flag, aileron_input_flag, rudder_input_flag, flap_pos_input_flag,
|
|
|
|
pilot_elev_no_flag, pilot_ail_no_flag, pilot_rud_no_flag,
|
|
|
|
flap_max_flag, flap_rate_flag, use_flaps_flag,
|
|
|
|
spoiler_max_flag, spoiler_rate_flag, use_spoilers_flag,
|
|
|
|
aileron_sas_KP_flag,
|
|
|
|
aileron_sas_max_flag,
|
|
|
|
aileron_stick_gain_flag,
|
|
|
|
elevator_sas_KQ_flag,
|
|
|
|
elevator_sas_max_flag,
|
|
|
|
elevator_sas_min_flag,
|
|
|
|
elevator_stick_gain_flag,
|
|
|
|
rudder_sas_KR_flag,
|
|
|
|
rudder_sas_max_flag,
|
|
|
|
rudder_stick_gain_flag,
|
|
|
|
use_elevator_sas_type1_flag,
|
|
|
|
use_aileron_sas_type1_flag,
|
|
|
|
use_rudder_sas_type1_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// controlsMixer == Controls mixer
|
2000-09-06 19:52:37 +00:00
|
|
|
enum {nomix_flag = 5000};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
//mass ======== Aircraft-specific mass properties
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_mass.cpp
|
2002-05-09 05:02:36 +00:00
|
|
|
enum {Weight_flag = 6000,
|
|
|
|
Mass_flag, I_xx_flag, I_yy_flag, I_zz_flag, I_xz_flag,
|
|
|
|
Mass_appMass_ratio_flag, I_xx_appMass_ratio_flag,
|
|
|
|
I_yy_appMass_ratio_flag, I_zz_appMass_ratio_flag,
|
|
|
|
Mass_appMass_flag, I_xx_appMass_flag,
|
|
|
|
I_yy_appMass_flag, I_zz_appMass_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// engine ===== Propulsion data
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_engine.cpp
|
2002-09-11 02:31:10 +00:00
|
|
|
enum {simpleSingle_flag = 7000, simpleSingleModel_flag,
|
|
|
|
c172_flag, cherokee_flag, gyroForce_Q_body_flag, gyroForce_R_body_flag,
|
|
|
|
omega_flag, omegaRPM_flag, polarInertia_flag,
|
|
|
|
slipstream_effects_flag, propDia_flag,
|
|
|
|
eta_q_Cm_q_flag,
|
|
|
|
eta_q_Cm_adot_flag,
|
|
|
|
eta_q_Cmfade_flag,
|
2003-05-13 18:45:04 +00:00
|
|
|
eta_q_Cm_de_flag,
|
2002-09-11 02:31:10 +00:00
|
|
|
eta_q_Cl_beta_flag,
|
|
|
|
eta_q_Cl_p_flag,
|
|
|
|
eta_q_Cl_r_flag,
|
|
|
|
eta_q_Cl_dr_flag,
|
|
|
|
eta_q_CY_beta_flag,
|
|
|
|
eta_q_CY_p_flag,
|
|
|
|
eta_q_CY_r_flag,
|
|
|
|
eta_q_CY_dr_flag,
|
|
|
|
eta_q_Cn_beta_flag,
|
|
|
|
eta_q_Cn_p_flag,
|
|
|
|
eta_q_Cn_r_flag,
|
|
|
|
eta_q_Cn_dr_flag,
|
2002-09-02 23:26:28 +00:00
|
|
|
Throttle_pct_input_flag, forcemom_flag, Xp_input_flag, Zp_input_flag, Mp_input_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// CD ========= Aerodynamic x-force quantities (longitudinal)
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_CD.cpp
|
|
|
|
enum {CDo_flag = 8000, CDK_flag, CLK_flag, CD_a_flag, CD_adot_flag, CD_q_flag, CD_ih_flag,
|
|
|
|
CD_de_flag, CD_dr_flag, CD_da_flag, CD_beta_flag,
|
|
|
|
CD_df_flag,
|
|
|
|
CD_ds_flag,
|
|
|
|
CD_dg_flag,
|
2000-09-06 19:52:37 +00:00
|
|
|
CDfa_flag, CDfCL_flag, CDfade_flag, CDfdf_flag, CDfadf_flag,
|
|
|
|
CXo_flag, CXK_flag, CX_a_flag, CX_a2_flag, CX_a3_flag, CX_adot_flag,
|
2002-04-01 21:37:33 +00:00
|
|
|
CX_q_flag, CX_de_flag, CX_dr_flag, CX_df_flag, CX_adf_flag,
|
|
|
|
CXfabetaf_flag, CXfadef_flag, CXfaqf_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// CL ========= Aerodynamic z-force quantities (longitudinal)
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_CL.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
enum {CLo_flag = 9000, CL_a_flag, CL_adot_flag, CL_q_flag, CL_ih_flag, CL_de_flag,
|
2003-05-13 18:45:04 +00:00
|
|
|
CL_df_flag,
|
|
|
|
CL_ds_flag,
|
|
|
|
CL_dg_flag,
|
2000-09-06 19:52:37 +00:00
|
|
|
CLfa_flag, CLfade_flag, CLfdf_flag, CLfadf_flag,
|
|
|
|
CZo_flag, CZ_a_flag, CZ_a2_flag, CZ_a3_flag, CZ_adot_flag,
|
2002-04-01 21:37:33 +00:00
|
|
|
CZ_q_flag, CZ_de_flag, CZ_deb2_flag, CZ_df_flag, CZ_adf_flag,
|
|
|
|
CZfa_flag, CZfabetaf_flag, CZfadef_flag, CZfaqf_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// Cm ========= Aerodynamic m-moment quantities (longitudinal)
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_Cm.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
enum {Cmo_flag = 10000, Cm_a_flag, Cm_a2_flag, Cm_adot_flag, Cm_q_flag,
|
2003-05-13 18:45:04 +00:00
|
|
|
Cm_ih_flag, Cm_de_flag, Cm_b2_flag, Cm_r_flag,
|
|
|
|
Cm_df_flag,
|
|
|
|
Cm_ds_flag,
|
|
|
|
Cm_dg_flag,
|
2002-04-01 21:37:33 +00:00
|
|
|
Cmfa_flag, Cmfade_flag, Cmfdf_flag, Cmfadf_flag,
|
|
|
|
Cmfabetaf_flag, Cmfadef_flag, Cmfaqf_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// CY ========= Aerodynamic y-force quantities (lateral)
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_CY.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
enum {CYo_flag = 11000, CY_beta_flag, CY_p_flag, CY_r_flag, CY_da_flag,
|
2002-04-01 21:37:33 +00:00
|
|
|
CY_dr_flag, CY_dra_flag, CY_bdot_flag, CYfada_flag, CYfbetadr_flag,
|
|
|
|
CYfabetaf_flag, CYfadaf_flag, CYfadrf_flag, CYfapf_flag, CYfarf_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// Cl ========= Aerodynamic l-moment quantities (lateral)
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_Cl.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
enum {Clo_flag = 12000, Cl_beta_flag, Cl_p_flag, Cl_r_flag, Cl_da_flag,
|
2002-04-01 21:37:33 +00:00
|
|
|
Cl_dr_flag, Cl_daa_flag, Clfada_flag, Clfbetadr_flag, Clfabetaf_flag,
|
|
|
|
Clfadaf_flag, Clfadrf_flag, Clfapf_flag, Clfarf_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// Cn ========= Aerodynamic n-moment quantities (lateral)
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_Cn.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
enum {Cno_flag = 13000, Cn_beta_flag, Cn_p_flag, Cn_r_flag, Cn_da_flag,
|
2002-04-01 21:37:33 +00:00
|
|
|
Cn_dr_flag, Cn_q_flag, Cn_b3_flag, Cnfada_flag, Cnfbetadr_flag,
|
|
|
|
Cnfabetaf_flag, Cnfadaf_flag, Cnfadrf_flag, Cnfapf_flag, Cnfarf_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// gear ======= Landing gear model quantities
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_gear.cpp
|
From: David Megginson <david@megginson.com>
I have created a set of patches to provide configurable landing gear
for the UIUC models. The patches (including four new files) are
available at
http://megginson.com/private/fgfs/uiuc-20010309.tar.gz
A modified UIUC configuration file for the Twin Otter (DHC-6) is
available at
http://megginson.com/private/fgfs/aircraft.dat
It should be possible to configure appropriate gear for all of the
UIUC models now. As a bonus, the models also support braking, both
absolute and differential, as well as nose-wheel steering (all of
which are currently missing from the UIUC models) -- when you land,
you don't have to keep rolling off the end of the runway anymore, and
you don't have to bank to steer in a taxi.
My sample configuration file contains absolutely bizarre, wild
guesses, and many places that I didn't even bother to guess properly.
The only actual data I had was the wing-span of the DHC-6 (65ft),
which I used for positioning the wing tips. The wing-tips for this
model actually work now -- I hit the aileron hard while accelerating
for take-off, and the wingtip noticeably strikes the ground and
bounces up (quite dramatic in external view using the DHC-6 model from
Wolfram's site).
Details
-------
The UIUC models now support up to 16 gear points each where a gear
point is anything in the aircraft that can come in contact with the
ground, including the tail and wing-tips. I have added the following
new fields to the UIUC configuration files, where <index> is an
integer between 0 and 15, and <value> is a real number:
gear <index> Dx_gear <value> # x offset from CG [ft]
gear <index> Dy_gear <value> # y offset from CG [ft]
gear <index> Dz_gear <value> # z offset from CG [ft]
gear <index> cgear <value> # spring damping [lbs/ft/sec]
gear <index> kgear <value> # springiness [lbs/ft]
gear <index> muGear <value> # rolling coefficient
gear <index> strutLength <value> # gear travel [ft] (not yet used)
Most of these names were already pencilled into the UIUC documentation
(as TODO items), but I had to make up Dx_gear, Dy_gear, and Dz_gear --
if those are inappropriate, I'd appreciate suggestions for better
names.
It will be necessary to modify the other UIUC configuration files to
include some kind of gear support as well, or the planes will sink
nose-first into the ground down to their CG's (it's actually quite
funny to watch with an external view).
Background
----------
As I frequently remind everyone here, I have no math background worth
spitting at, so I will not even pretend to have done the hard stuff.
The UIUC code uses a copy of a very old version of the LaRCsim
c172_gear.c -- I wanted to update it with Tony Peden's excellent newer
version, which includes differential braking among other goodies (the
UIUC models don't support brakes, period).
I copied the newer code into uiuc_aero.c, and it compiled and ran, but
all of the planes ended up sitting on their tails with their noses in
the air. Since Tony made his gear code nicely parameterized, I
experimented with different values, and found that it wasn't too hard
to balance the Twin Otter by moving the gear back a bit. At first, I
used properties to set different values, but then I decided to
integrate the whole thing properly into the UIUC configuration
framework. Thanks to Tony Peden, who did the real modelling work -- I
can take credit only for two or three hours of integration. It turns
out that Tony's code is generalized enough to deal with a wide range
of different gear structures -- I suspect that it will even work for
the 747, when I get around to trying some values.
2001-03-29 03:16:25 +00:00
|
|
|
enum {Dx_gear_flag = 14000, Dy_gear_flag, Dz_gear_flag, cgear_flag,
|
2003-05-13 18:45:04 +00:00
|
|
|
kgear_flag, muGear_flag, strutLength_flag,
|
|
|
|
gear_max_flag, gear_rate_flag, use_gear_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// ice ======== Ice model quantities
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_ice.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
enum {iceTime_flag = 15000, transientTime_flag, eta_ice_final_flag,
|
|
|
|
beta_probe_wing_flag, beta_probe_tail_flag,
|
|
|
|
kCDo_flag, kCDK_flag, kCD_a_flag, kCD_adot_flag, kCD_q_flag, kCD_de_flag,
|
|
|
|
kCXo_flag, kCXK_flag, kCX_a_flag, kCX_a2_flag, kCX_a3_flag, kCX_adot_flag,
|
|
|
|
kCX_q_flag, kCX_de_flag, kCX_dr_flag, kCX_df_flag, kCX_adf_flag,
|
2000-03-22 22:01:33 +00:00
|
|
|
kCLo_flag, kCL_a_flag, kCL_adot_flag, kCL_q_flag, kCL_de_flag,
|
2000-09-06 19:52:37 +00:00
|
|
|
kCZo_flag, kCZ_a_flag, kCZ_a2_flag, kCZ_a3_flag, kCZ_adot_flag,
|
|
|
|
kCZ_q_flag, kCZ_de_flag, kCZ_deb2_flag, kCZ_df_flag, kCZ_adf_flag,
|
|
|
|
kCmo_flag, kCm_a_flag, kCm_a2_flag, kCm_adot_flag, kCm_q_flag,
|
|
|
|
kCm_de_flag, kCm_b2_flag, kCm_r_flag, kCm_df_flag,
|
|
|
|
kCYo_flag, kCY_beta_flag, kCY_p_flag, kCY_r_flag, kCY_da_flag,
|
|
|
|
kCY_dr_flag, kCY_dra_flag, kCY_bdot_flag,
|
|
|
|
kClo_flag, kCl_beta_flag, kCl_p_flag, kCl_r_flag, kCl_da_flag,
|
|
|
|
kCl_dr_flag, kCl_daa_flag,
|
|
|
|
kCno_flag, kCn_beta_flag, kCn_p_flag, kCn_r_flag, kCn_da_flag,
|
2002-11-08 17:03:49 +00:00
|
|
|
kCn_dr_flag, kCn_q_flag, kCn_b3_flag, bootTime_flag,
|
|
|
|
|
|
|
|
eta_wing_left_input_flag, eta_wing_right_input_flag,
|
|
|
|
eta_tail_input_flag, nonlin_ice_case_flag, eta_tail_flag,
|
|
|
|
eta_wing_left_flag, eta_wing_right_flag,
|
|
|
|
|
|
|
|
demo_eps_alpha_max_flag, demo_eps_pitch_max_flag,
|
|
|
|
demo_eps_pitch_min_flag, demo_eps_roll_max_flag,
|
|
|
|
demo_eps_thrust_min_flag, demo_eps_flap_max_flag,
|
|
|
|
demo_eps_airspeed_max_flag, demo_eps_airspeed_min_flag,
|
|
|
|
demo_boot_cycle_tail_flag, demo_boot_cycle_wing_left_flag,
|
|
|
|
demo_boot_cycle_wing_right_flag, demo_eps_pitch_input_flag,
|
|
|
|
tactilefadef_flag, tactile_pitch_flag, demo_ap_Theta_ref_deg_flag,
|
|
|
|
demo_ap_pah_on_flag, demo_tactile_flag, demo_ice_tail_flag,
|
|
|
|
demo_ice_left_flag, demo_ice_right_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
// record ===== Record desired quantites to file
|
2000-09-06 19:52:37 +00:00
|
|
|
enum {Simtime_record = 16000, dt_record,
|
|
|
|
|
2002-05-09 05:02:36 +00:00
|
|
|
cbar_2U_record, b_2U_record, ch_2U_record,
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record1.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
Weight_record, Mass_record, I_xx_record, I_yy_record, I_zz_record, I_xz_record,
|
2002-05-09 05:02:36 +00:00
|
|
|
Mass_appMass_ratio_record, I_xx_appMass_ratio_record,
|
|
|
|
I_yy_appMass_ratio_record, I_zz_appMass_ratio_record,
|
|
|
|
Mass_appMass_record, I_xx_appMass_record,
|
|
|
|
I_yy_appMass_record, I_zz_appMass_record,
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record1.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
Dx_pilot_record, Dy_pilot_record, Dz_pilot_record,
|
|
|
|
Dx_cg_record, Dy_cg_record, Dz_cg_record,
|
|
|
|
Lat_geocentric_record, Lon_geocentric_record, Radius_to_vehicle_record,
|
|
|
|
Latitude_record, Longitude_record, Altitude_record,
|
|
|
|
Phi_record, Theta_record, Psi_record,
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record1.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
V_dot_north_record, V_dot_east_record, V_dot_down_record,
|
|
|
|
U_dot_body_record, V_dot_body_record, W_dot_body_record,
|
|
|
|
A_X_pilot_record, A_Y_pilot_record, A_Z_pilot_record,
|
|
|
|
A_X_cg_record, A_Y_cg_record, A_Z_cg_record,
|
|
|
|
N_X_pilot_record, N_Y_pilot_record, N_Z_pilot_record,
|
|
|
|
N_X_cg_record, N_Y_cg_record, N_Z_cg_record,
|
|
|
|
P_dot_body_record, Q_dot_body_record, R_dot_body_record,
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record2.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
V_north_record, V_east_record, V_down_record,
|
|
|
|
V_north_rel_ground_record, V_east_rel_ground_record, V_down_rel_ground_record,
|
|
|
|
V_north_airmass_record, V_east_airmass_record, V_down_airmass_record,
|
|
|
|
V_north_rel_airmass_record, V_east_rel_airmass_record, V_down_rel_airmass_record,
|
|
|
|
U_gust_record, V_gust_record, W_gust_record,
|
|
|
|
U_body_record, V_body_record, W_body_record,
|
|
|
|
V_rel_wind_record, V_true_kts_record, V_rel_ground_record,
|
|
|
|
V_inertial_record, V_ground_speed_record, V_equiv_record,
|
|
|
|
V_equiv_kts_record, V_calibrated_record, V_calibrated_kts_record,
|
|
|
|
P_local_record, Q_local_record, R_local_record,
|
2000-03-22 22:01:33 +00:00
|
|
|
P_body_record, Q_body_record, R_body_record,
|
2000-09-06 19:52:37 +00:00
|
|
|
P_total_record, Q_total_record, R_total_record,
|
|
|
|
Phi_dot_record, Theta_dot_record, Psi_dot_record,
|
|
|
|
Latitude_dot_record, Longitude_dot_record, Radius_dot_record,
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record2.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
Alpha_record, Alpha_deg_record, Alpha_dot_record, Alpha_dot_deg_record,
|
|
|
|
Beta_record, Beta_deg_record, Beta_dot_record, Beta_dot_deg_record,
|
|
|
|
Gamma_vert_record, Gamma_vert_deg_record, Gamma_horiz_record, Gamma_horiz_deg_record,
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record3.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
Density_record, V_sound_record, Mach_number_record,
|
|
|
|
Static_pressure_record, Total_pressure_record, Impact_pressure_record,
|
|
|
|
Dynamic_pressure_record,
|
|
|
|
Static_temperature_record, Total_temperature_record,
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record3.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
Gravity_record, Sea_level_radius_record, Earth_position_angle_record,
|
|
|
|
Runway_altitude_record, Runway_latitude_record, Runway_longitude_record,
|
|
|
|
Runway_heading_record, Radius_to_rwy_record,
|
|
|
|
D_pilot_north_of_rwy_record, D_pilot_east_of_rwy_record, D_pilot_above_rwy_record,
|
|
|
|
X_pilot_rwy_record, Y_pilot_rwy_record, H_pilot_rwy_record,
|
|
|
|
D_cg_north_of_rwy_record, D_cg_east_of_rwy_record, D_cg_above_rwy_record,
|
|
|
|
X_cg_rwy_record, Y_cg_rwy_record, H_cg_rwy_record,
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record3.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
Throttle_3_record, Throttle_pct_record,
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record3.cpp
|
2000-09-06 19:52:37 +00:00
|
|
|
Long_control_record, Long_trim_record, Long_trim_deg_record,
|
|
|
|
elevator_record, elevator_deg_record,
|
|
|
|
Lat_control_record, aileron_record, aileron_deg_record,
|
|
|
|
Rudder_pedal_record, rudder_record, rudder_deg_record,
|
2003-05-13 18:45:04 +00:00
|
|
|
Flap_handle_record, flap_record, flap_cmd_record, flap_cmd_deg_record,
|
|
|
|
flap_pos_record, flap_pos_deg_record,
|
|
|
|
Spoiler_handle_record, spoiler_cmd_deg_record,
|
|
|
|
spoiler_pos_deg_record, spoiler_pos_norm_record, spoiler_pos_record,
|
2002-04-01 21:37:33 +00:00
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record4.cpp
|
2002-04-01 21:37:33 +00:00
|
|
|
CD_record, CDfaI_record, CDfCLI_record, CDfadeI_record, CDfdfI_record,
|
|
|
|
CDfadfI_record, CX_record, CXfabetafI_record, CXfadefI_record,
|
|
|
|
CXfaqfI_record,
|
2003-05-13 18:45:04 +00:00
|
|
|
CDo_save_record, CDK_save_record, CLK_save_record, CD_a_save_record, CD_adot_save_record,
|
|
|
|
CD_q_save_record, CD_ih_save_record,
|
|
|
|
CD_de_save_record, CD_dr_save_record, CD_da_save_record, CD_beta_save_record,
|
|
|
|
CD_df_save_record,
|
|
|
|
CD_ds_save_record,
|
|
|
|
CD_dg_save_record,
|
|
|
|
CXo_save_record,
|
2002-04-01 21:37:33 +00:00
|
|
|
CXK_save_record, CX_a_save_record, CX_a2_save_record, CX_a3_save_record,
|
|
|
|
CX_adot_save_record, CX_q_save_record, CX_de_save_record,
|
|
|
|
CX_dr_save_record, CX_df_save_record, CX_adf_save_record,
|
|
|
|
CL_record, CLfaI_record, CLfadeI_record, CLfdfI_record, CLfadfI_record,
|
|
|
|
CZ_record, CZfaI_record, CZfabetafI_record, CZfadefI_record,
|
|
|
|
CZfaqfI_record,
|
|
|
|
CLo_save_record, CL_a_save_record, CL_adot_save_record, CL_q_save_record,
|
2003-05-13 18:45:04 +00:00
|
|
|
CL_ih_save_record, CL_de_save_record,
|
|
|
|
CL_df_save_record,
|
|
|
|
CL_ds_save_record,
|
|
|
|
CL_dg_save_record,
|
|
|
|
CZo_save_record, CZ_a_save_record,
|
2002-04-01 21:37:33 +00:00
|
|
|
CZ_a2_save_record, CZ_a3_save_record, CZ_adot_save_record,
|
|
|
|
CZ_q_save_record, CZ_de_save_record, CZ_deb2_save_record,
|
|
|
|
CZ_df_save_record, CZ_adf_save_record,
|
|
|
|
Cm_record, CmfaI_record, CmfadeI_record, CmfdfI_record, CmfadfI_record,
|
|
|
|
CmfabetafI_record, CmfadefI_record, CmfaqfI_record,
|
|
|
|
Cmo_save_record, Cm_a_save_record, Cm_a2_save_record,
|
|
|
|
Cm_adot_save_record, Cm_q_save_record, Cm_ih_save_record,
|
|
|
|
Cm_de_save_record, Cm_b2_save_record, Cm_r_save_record,
|
|
|
|
Cm_df_save_record,
|
2003-05-13 18:45:04 +00:00
|
|
|
Cm_ds_save_record,
|
|
|
|
Cm_dg_save_record,
|
2002-04-01 21:37:33 +00:00
|
|
|
CY_record, CYfadaI_record, CYfbetadrI_record, CYfabetafI_record,
|
|
|
|
CYfadafI_record, CYfadrfI_record, CYfapfI_record, CYfarfI_record,
|
|
|
|
CYo_save_record, CY_beta_save_record, CY_p_save_record,
|
|
|
|
CY_r_save_record, CY_da_save_record, CY_dr_save_record,
|
|
|
|
CY_dra_save_record, CY_bdot_save_record,
|
|
|
|
Cl_record, ClfadaI_record, ClfbetadrI_record, ClfabetafI_record,
|
|
|
|
ClfadafI_record, ClfadrfI_record, ClfapfI_record, ClfarfI_record,
|
|
|
|
Clo_save_record, Cl_beta_save_record, Cl_p_save_record, Cl_r_save_record,
|
|
|
|
Cl_da_save_record, Cl_dr_save_record, Cl_daa_save_record,
|
|
|
|
Cn_record, CnfadaI_record, CnfbetadrI_record, CnfabetafI_record,
|
|
|
|
CnfadafI_record, CnfadrfI_record, CnfapfI_record, CnfarfI_record,
|
|
|
|
Cno_save_record, Cn_beta_save_record, Cn_p_save_record, Cn_r_save_record,
|
|
|
|
Cn_da_save_record, Cn_dr_save_record, Cn_q_save_record,
|
|
|
|
Cn_b3_save_record,
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record5.cpp
|
2000-03-22 22:01:33 +00:00
|
|
|
F_X_wind_record, F_Y_wind_record, F_Z_wind_record,
|
|
|
|
F_X_aero_record, F_Y_aero_record, F_Z_aero_record,
|
|
|
|
F_X_engine_record, F_Y_engine_record, F_Z_engine_record,
|
|
|
|
F_X_gear_record, F_Y_gear_record, F_Z_gear_record,
|
|
|
|
F_X_record, F_Y_record, F_Z_record,
|
2000-09-06 19:52:37 +00:00
|
|
|
F_north_record, F_east_record, F_down_record,
|
2003-05-13 18:45:04 +00:00
|
|
|
|
|
|
|
// added to uiuc_map_record5.cpp
|
2000-03-22 22:01:33 +00:00
|
|
|
M_l_aero_record, M_m_aero_record, M_n_aero_record,
|
|
|
|
M_l_engine_record, M_m_engine_record, M_n_engine_record,
|
|
|
|
M_l_gear_record, M_m_gear_record, M_n_gear_record,
|
2000-09-06 19:52:37 +00:00
|
|
|
M_l_rp_record, M_m_rp_record, M_n_rp_record,
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record5.cpp
|
|
|
|
flapper_freq_record, flapper_phi_record,
|
|
|
|
flapper_phi_deg_record, flapper_Lift_record, flapper_Thrust_record,
|
|
|
|
flapper_Inertia_record, flapper_Moment_record,
|
|
|
|
|
|
|
|
// added to uiuc_map_record5.cpp
|
|
|
|
debug1_record,
|
|
|
|
debug2_record,
|
|
|
|
debug3_record,
|
|
|
|
V_down_fpm_record,
|
|
|
|
eta_q_record,
|
|
|
|
rpm_record,
|
|
|
|
elevator_sas_deg_record,
|
|
|
|
aileron_sas_deg_record,
|
|
|
|
rudder_sas_deg_record,
|
|
|
|
w_induced_record,
|
|
|
|
downwashAngle_deg_record,
|
|
|
|
alphaTail_deg_record,
|
|
|
|
gammaWing_record,
|
|
|
|
LD_record,
|
|
|
|
gload_record,
|
|
|
|
gyroMomentQ_record,
|
|
|
|
gyroMomentR_record,
|
|
|
|
|
|
|
|
// added to uiuc_map_record5.cpp
|
|
|
|
Gear_handle_record, gear_cmd_norm_record, gear_pos_norm_record,
|
|
|
|
|
|
|
|
// added to uiuc_map_record5.cpp
|
|
|
|
debug4_record,
|
|
|
|
debug5_record,
|
|
|
|
debug6_record,
|
|
|
|
|
|
|
|
// added to uiuc_map_record6.cpp
|
2002-09-02 23:26:28 +00:00
|
|
|
CL_clean_record, CL_iced_record,
|
|
|
|
CD_clean_record, CD_iced_record,
|
|
|
|
Cm_clean_record, Cm_iced_record,
|
|
|
|
Ch_clean_record, Ch_iced_record,
|
|
|
|
Cl_clean_record, Cl_iced_record,
|
2002-11-08 17:03:49 +00:00
|
|
|
Cn_clean_record, Cn_iced_record,
|
2000-09-06 19:52:37 +00:00
|
|
|
CLclean_wing_record, CLiced_wing_record,
|
|
|
|
CLclean_tail_record, CLiced_tail_record,
|
|
|
|
Lift_clean_wing_record, Lift_iced_wing_record,
|
|
|
|
Lift_clean_tail_record, Lift_iced_tail_record,
|
|
|
|
Gamma_clean_wing_record, Gamma_iced_wing_record,
|
|
|
|
Gamma_clean_tail_record, Gamma_iced_tail_record,
|
|
|
|
w_clean_wing_record, w_iced_wing_record,
|
|
|
|
w_clean_tail_record, w_iced_tail_record,
|
|
|
|
V_total_clean_wing_record, V_total_iced_wing_record,
|
|
|
|
V_total_clean_tail_record, V_total_iced_tail_record,
|
|
|
|
beta_flow_clean_wing_record, beta_flow_clean_wing_deg_record,
|
|
|
|
beta_flow_iced_wing_record, beta_flow_iced_wing_deg_record,
|
|
|
|
beta_flow_clean_tail_record, beta_flow_clean_tail_deg_record,
|
|
|
|
beta_flow_iced_tail_record, beta_flow_iced_tail_deg_record,
|
|
|
|
Dbeta_flow_wing_record, Dbeta_flow_wing_deg_record,
|
|
|
|
Dbeta_flow_tail_record, Dbeta_flow_tail_deg_record,
|
2002-09-02 23:26:28 +00:00
|
|
|
pct_beta_flow_wing_record, pct_beta_flow_tail_record, eta_ice_record,
|
2002-11-08 17:03:49 +00:00
|
|
|
eta_wing_right_record, eta_wing_left_record, eta_tail_record,
|
|
|
|
delta_CL_record, delta_CD_record, delta_Cm_record, delta_Cl_record,
|
|
|
|
delta_Cn_record,
|
2002-09-02 23:26:28 +00:00
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record6.cpp
|
2002-11-08 17:03:49 +00:00
|
|
|
boot_cycle_tail_record, boot_cycle_wing_left_record,
|
|
|
|
boot_cycle_wing_right_record, autoIPS_tail_record,
|
|
|
|
autoIPS_wing_left_record, autoIPS_wing_right_record,
|
|
|
|
eps_pitch_input_record, eps_alpha_max_record, eps_pitch_max_record,
|
|
|
|
eps_pitch_min_record, eps_roll_max_record, eps_thrust_min_record,
|
|
|
|
eps_flap_max_record, eps_airspeed_max_record, eps_airspeed_min_record,
|
|
|
|
tactilefadefI_record,
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_record6.cpp
|
|
|
|
ap_Theta_ref_deg_record, ap_pah_on_record, trigger_on_record,
|
|
|
|
trigger_num_record, trigger_toggle_record, trigger_counter_record};
|
2002-11-08 17:03:49 +00:00
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
|
|
|
|
// misc ======= Miscellaneous inputs
|
2003-05-13 18:45:04 +00:00
|
|
|
// added to uiuc_map_misc.cpp
|
2002-09-11 02:31:10 +00:00
|
|
|
enum {simpleHingeMomentCoef_flag = 17000, dfTimefdf_flag, flapper_flag,
|
|
|
|
flapper_phi_init_flag};
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2001-09-14 20:36:34 +00:00
|
|
|
//321654
|
|
|
|
// fog ======== Fog field quantities
|
|
|
|
enum {fog_segments_flag = 18000, fog_point_flag};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2001-09-14 20:36:34 +00:00
|
|
|
//321654
|
|
|
|
struct AIRCRAFT
|
2000-03-22 22:01:33 +00:00
|
|
|
{
|
|
|
|
// ParseFile stuff [] Bipin to add more comments
|
|
|
|
ParseFile *airplane;
|
2000-09-06 19:52:37 +00:00
|
|
|
#define airplane aircraft_->airplane
|
2000-03-22 22:01:33 +00:00
|
|
|
ParseFile *initParts;
|
2000-09-06 19:52:37 +00:00
|
|
|
#define initParts aircraft_->initParts
|
2000-03-22 22:01:33 +00:00
|
|
|
ParseFile *geometryParts;
|
2000-09-06 19:52:37 +00:00
|
|
|
#define geometryParts aircraft_->geometryParts
|
2000-03-22 22:01:33 +00:00
|
|
|
ParseFile *massParts;
|
2000-09-06 19:52:37 +00:00
|
|
|
#define massParts aircraft_->massParts
|
|
|
|
ParseFile *aeroDragParts;
|
|
|
|
#define aeroDragParts aircraft_->aeroDragParts
|
|
|
|
ParseFile *aeroLiftParts;
|
|
|
|
#define aeroLiftParts aircraft_->aeroLiftParts
|
|
|
|
ParseFile *aeroPitchParts;
|
|
|
|
#define aeroPitchParts aircraft_->aeroPitchParts
|
|
|
|
ParseFile *aeroSideforceParts;
|
|
|
|
#define aeroSideforceParts aircraft_->aeroSideforceParts
|
|
|
|
ParseFile *aeroRollParts;
|
|
|
|
#define aeroRollParts aircraft_->aeroRollParts
|
|
|
|
ParseFile *aeroYawParts;
|
|
|
|
#define aeroYawParts aircraft_->aeroYawParts
|
2000-03-22 22:01:33 +00:00
|
|
|
ParseFile *engineParts;
|
2000-09-06 19:52:37 +00:00
|
|
|
#define engineParts aircraft_->engineParts
|
2000-03-22 22:01:33 +00:00
|
|
|
ParseFile *gearParts;
|
2000-09-06 19:52:37 +00:00
|
|
|
#define gearParts aircraft_->gearParts
|
2000-03-22 22:01:33 +00:00
|
|
|
ParseFile *recordParts;
|
2000-09-06 19:52:37 +00:00
|
|
|
#define recordParts aircraft_->recordParts
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
/*= Keywords (token1) ===========================================*/
|
|
|
|
map <string,int> Keyword_map;
|
|
|
|
#define Keyword_map aircraft_->Keyword_map
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
double CD, CX, CL, CZ, Cm, CY, Cl, Cn;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define CD aircraft_->CD
|
2000-09-06 19:52:37 +00:00
|
|
|
#define CX aircraft_->CX
|
|
|
|
#define CL aircraft_->CL
|
|
|
|
#define CZ aircraft_->CZ
|
2000-03-22 22:01:33 +00:00
|
|
|
#define Cm aircraft_->Cm
|
|
|
|
#define CY aircraft_->CY
|
|
|
|
#define Cl aircraft_->Cl
|
|
|
|
#define Cn aircraft_->Cn
|
2000-09-06 19:52:37 +00:00
|
|
|
double CXclean_wing, CXclean_tail, CXiced_wing, CXiced_tail;
|
|
|
|
double CLclean_wing, CLclean_tail, CLiced_wing, CLiced_tail;
|
|
|
|
double CZclean_wing, CZclean_tail, CZiced_wing, CZiced_tail;
|
|
|
|
#define CXclean_wing aircraft_->CXclean_wing
|
|
|
|
#define CXclean_tail aircraft_->CXclean_tail
|
|
|
|
#define CXiced_wing aircraft_->CXiced_wing
|
|
|
|
#define CXiced_tail aircraft_->CXiced_tail
|
|
|
|
#define CLclean_wing aircraft_->CLclean_wing
|
|
|
|
#define CLclean_tail aircraft_->CLclean_tail
|
|
|
|
#define CLiced_wing aircraft_->CLiced_wing
|
|
|
|
#define CLiced_tail aircraft_->CLiced_tail
|
|
|
|
#define CZclean_wing aircraft_->CZclean_wing
|
|
|
|
#define CZclean_tail aircraft_->CZclean_tail
|
|
|
|
#define CZiced_wing aircraft_->CZiced_wing
|
|
|
|
#define CZiced_tail aircraft_->CZiced_tail
|
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/*========================================*/
|
2000-09-06 19:52:37 +00:00
|
|
|
/* Variables (token2) - 17 groups (000329)*/
|
2000-03-22 22:01:33 +00:00
|
|
|
/*========================================*/
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* init ========== Initial values for equations of motion =======*/
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
map <string,int> init_map;
|
2002-05-09 05:02:36 +00:00
|
|
|
#define init_map aircraft_->init_map
|
2000-09-06 19:52:37 +00:00
|
|
|
|
|
|
|
int recordRate;
|
|
|
|
#define recordRate aircraft_->recordRate
|
|
|
|
double recordStartTime;
|
|
|
|
#define recordStartTime aircraft_->recordStartTime
|
2002-05-09 05:02:36 +00:00
|
|
|
bool use_V_rel_wind_2U;
|
|
|
|
#define use_V_rel_wind_2U aircraft_->use_V_rel_wind_2U
|
2000-09-06 19:52:37 +00:00
|
|
|
bool nondim_rate_V_rel_wind;
|
|
|
|
#define nondim_rate_V_rel_wind aircraft_->nondim_rate_V_rel_wind
|
2002-05-09 05:02:36 +00:00
|
|
|
bool use_abs_U_body_2U;
|
|
|
|
#define use_abs_U_body_2U aircraft_->use_abs_U_body_2U
|
2000-09-06 19:52:37 +00:00
|
|
|
double dyn_on_speed;
|
|
|
|
#define dyn_on_speed aircraft_->dyn_on_speed
|
2002-05-09 05:02:36 +00:00
|
|
|
double dyn_on_speed_zero;
|
|
|
|
#define dyn_on_speed_zero aircraft_->dyn_on_speed_zero
|
|
|
|
bool use_dyn_on_speed_curve1;
|
|
|
|
#define use_dyn_on_speed_curve1 aircraft_->use_dyn_on_speed_curve1
|
2002-09-11 02:31:10 +00:00
|
|
|
|
|
|
|
bool use_Alpha_dot_on_speed;
|
|
|
|
#define use_Alpha_dot_on_speed aircraft_->use_Alpha_dot_on_speed
|
|
|
|
double Alpha_dot_on_speed;
|
|
|
|
#define Alpha_dot_on_speed aircraft_->Alpha_dot_on_speed
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
bool use_gamma_horiz_on_speed;
|
|
|
|
#define use_gamma_horiz_on_speed aircraft_->use_gamma_horiz_on_speed
|
|
|
|
double gamma_horiz_on_speed;
|
|
|
|
#define gamma_horiz_on_speed aircraft_->gamma_horiz_on_speed
|
|
|
|
|
|
|
|
|
2002-11-08 17:03:49 +00:00
|
|
|
bool b_downwashMode;
|
|
|
|
#define b_downwashMode aircraft_->b_downwashMode
|
|
|
|
int downwashMode;
|
|
|
|
#define downwashMode aircraft_->downwashMode
|
|
|
|
double downwashCoef;
|
|
|
|
#define downwashCoef aircraft_->downwashCoef
|
|
|
|
double gammaWing;
|
|
|
|
#define gammaWing aircraft_->gammaWing
|
|
|
|
double downwash;
|
|
|
|
#define downwash aircraft_->downwash
|
|
|
|
double downwashAngle;
|
|
|
|
#define downwashAngle aircraft_->downwashAngle
|
|
|
|
double alphaTail;
|
|
|
|
#define alphaTail aircraft_->alphaTail
|
|
|
|
|
2002-09-11 02:31:10 +00:00
|
|
|
|
2002-11-08 17:03:49 +00:00
|
|
|
bool P_body_init_true;
|
2001-09-14 20:36:34 +00:00
|
|
|
double P_body_init;
|
|
|
|
#define P_body_init_true aircraft_->P_body_init_true
|
|
|
|
#define P_body_init aircraft_->P_body_init
|
|
|
|
bool Q_body_init_true;
|
|
|
|
double Q_body_init;
|
|
|
|
#define Q_body_init_true aircraft_->Q_body_init_true
|
|
|
|
#define Q_body_init aircraft_->Q_body_init
|
|
|
|
bool R_body_init_true;
|
|
|
|
double R_body_init;
|
|
|
|
#define R_body_init_true aircraft_->R_body_init_true
|
|
|
|
#define R_body_init aircraft_->R_body_init
|
|
|
|
bool Phi_init_true;
|
|
|
|
double Phi_init;
|
|
|
|
#define Phi_init_true aircraft_->Phi_init_true
|
|
|
|
#define Phi_init aircraft_->Phi_init
|
|
|
|
bool Theta_init_true;
|
|
|
|
double Theta_init;
|
|
|
|
#define Theta_init_true aircraft_->Theta_init_true
|
|
|
|
#define Theta_init aircraft_->Theta_init
|
|
|
|
bool Psi_init_true;
|
|
|
|
double Psi_init;
|
|
|
|
#define Psi_init_true aircraft_->Psi_init_true
|
|
|
|
#define Psi_init aircraft_->Psi_init
|
|
|
|
bool Alpha_init_true;
|
|
|
|
double Alpha_init;
|
|
|
|
#define Alpha_init_true aircraft_->Alpha_init_true
|
|
|
|
#define Alpha_init aircraft_->Alpha_init
|
|
|
|
bool Beta_init_true;
|
|
|
|
double Beta_init;
|
|
|
|
#define Beta_init_true aircraft_->Beta_init_true
|
|
|
|
#define Beta_init aircraft_->Beta_init
|
|
|
|
bool U_body_init_true;
|
|
|
|
double U_body_init;
|
|
|
|
#define U_body_init_true aircraft_->U_body_init_true
|
|
|
|
#define U_body_init aircraft_->U_body_init
|
|
|
|
bool V_body_init_true;
|
|
|
|
double V_body_init;
|
|
|
|
#define V_body_init_true aircraft_->V_body_init_true
|
|
|
|
#define V_body_init aircraft_->V_body_init
|
|
|
|
bool W_body_init_true;
|
|
|
|
double W_body_init;
|
|
|
|
#define W_body_init_true aircraft_->W_body_init_true
|
|
|
|
#define W_body_init aircraft_->W_body_init
|
2002-11-08 17:03:49 +00:00
|
|
|
bool trim_case_2;
|
|
|
|
#define trim_case_2 aircraft_->trim_case_2
|
|
|
|
bool use_uiuc_network;
|
|
|
|
string server_IP;
|
|
|
|
int port_num;
|
|
|
|
#define use_uiuc_network aircraft_->use_uiuc_network
|
|
|
|
#define server_IP aircraft_->server_IP
|
|
|
|
#define port_num aircraft_->port_num
|
|
|
|
bool old_flap_routine;
|
|
|
|
#define old_flap_routine aircraft_->old_flap_routine
|
|
|
|
bool icing_demo;
|
|
|
|
#define icing_demo aircraft_->icing_demo
|
|
|
|
bool outside_control;
|
|
|
|
#define outside_control aircraft_->outside_control
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* geometry ====== Aircraft-specific geometric quantities =======*/
|
|
|
|
|
|
|
|
map <string,int> geometry_map;
|
|
|
|
#define geometry_map aircraft_->geometry_map
|
|
|
|
|
2003-07-27 17:54:18 +00:00
|
|
|
double bw, cbar, Sw, ih, bh, chord_h, Sh;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define bw aircraft_->bw
|
|
|
|
#define cbar aircraft_->cbar
|
|
|
|
#define Sw aircraft_->Sw
|
2000-09-06 19:52:37 +00:00
|
|
|
#define ih aircraft_->ih
|
|
|
|
#define bh aircraft_->bh
|
2003-07-27 17:54:18 +00:00
|
|
|
#define chord_h aircraft_->chord_h
|
2000-09-06 19:52:37 +00:00
|
|
|
#define Sh aircraft_->Sh
|
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* controlSurface Control surface deflections and properties ===*/
|
|
|
|
|
|
|
|
map <string,int> controlSurface_map;
|
|
|
|
#define controlSurface_map aircraft_->controlSurface_map
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
double demax, demin;
|
|
|
|
double damax, damin;
|
|
|
|
double drmax, drmin;
|
|
|
|
#define demax aircraft_->demax
|
|
|
|
#define demin aircraft_->demin
|
|
|
|
#define damax aircraft_->damax
|
|
|
|
#define damin aircraft_->damin
|
|
|
|
#define drmax aircraft_->drmax
|
|
|
|
#define drmin aircraft_->drmin
|
|
|
|
|
|
|
|
double aileron, elevator, rudder;
|
|
|
|
#define aileron aircraft_->aileron
|
|
|
|
#define elevator aircraft_->elevator
|
|
|
|
#define rudder aircraft_->rudder
|
|
|
|
double flap;
|
|
|
|
#define flap aircraft_->flap
|
|
|
|
|
|
|
|
bool set_Long_trim, zero_Long_trim;
|
|
|
|
double Long_trim_constant;
|
|
|
|
#define set_Long_trim aircraft_->set_Long_trim
|
|
|
|
#define Long_trim_constant aircraft_->Long_trim_constant
|
|
|
|
#define zero_Long_trim aircraft_->zero_Long_trim
|
|
|
|
|
|
|
|
bool elevator_step;
|
|
|
|
double elevator_step_angle, elevator_step_startTime;
|
|
|
|
#define elevator_step aircraft_->elevator_step
|
|
|
|
#define elevator_step_angle aircraft_->elevator_step_angle
|
|
|
|
#define elevator_step_startTime aircraft_->elevator_step_startTime
|
|
|
|
|
|
|
|
bool elevator_singlet;
|
|
|
|
double elevator_singlet_angle, elevator_singlet_startTime;
|
|
|
|
double elevator_singlet_duration;
|
|
|
|
#define elevator_singlet aircraft_->elevator_singlet
|
|
|
|
#define elevator_singlet_angle aircraft_->elevator_singlet_angle
|
|
|
|
#define elevator_singlet_startTime aircraft_->elevator_singlet_startTime
|
|
|
|
#define elevator_singlet_duration aircraft_->elevator_singlet_duration
|
|
|
|
|
|
|
|
bool elevator_doublet;
|
|
|
|
double elevator_doublet_angle, elevator_doublet_startTime;
|
|
|
|
double elevator_doublet_duration;
|
|
|
|
#define elevator_doublet aircraft_->elevator_doublet
|
|
|
|
#define elevator_doublet_angle aircraft_->elevator_doublet_angle
|
|
|
|
#define elevator_doublet_startTime aircraft_->elevator_doublet_startTime
|
|
|
|
#define elevator_doublet_duration aircraft_->elevator_doublet_duration
|
|
|
|
|
|
|
|
bool elevator_input;
|
|
|
|
string elevator_input_file;
|
2002-11-08 17:03:49 +00:00
|
|
|
double elevator_input_timeArray[7500];
|
|
|
|
double elevator_input_deArray[7500];
|
2000-09-06 19:52:37 +00:00
|
|
|
int elevator_input_ntime;
|
|
|
|
double elevator_input_startTime;
|
|
|
|
#define elevator_input aircraft_->elevator_input
|
|
|
|
#define elevator_input_file aircraft_->elevator_input_file
|
|
|
|
#define elevator_input_timeArray aircraft_->elevator_input_timeArray
|
|
|
|
#define elevator_input_deArray aircraft_->elevator_input_deArray
|
|
|
|
#define elevator_input_ntime aircraft_->elevator_input_ntime
|
|
|
|
#define elevator_input_startTime aircraft_->elevator_input_startTime
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2001-09-14 20:36:34 +00:00
|
|
|
bool aileron_input;
|
|
|
|
string aileron_input_file;
|
2002-04-01 21:37:33 +00:00
|
|
|
double aileron_input_timeArray[1500];
|
|
|
|
double aileron_input_daArray[1500];
|
2001-09-14 20:36:34 +00:00
|
|
|
int aileron_input_ntime;
|
|
|
|
double aileron_input_startTime;
|
|
|
|
#define aileron_input aircraft_->aileron_input
|
|
|
|
#define aileron_input_file aircraft_->aileron_input_file
|
|
|
|
#define aileron_input_timeArray aircraft_->aileron_input_timeArray
|
|
|
|
#define aileron_input_daArray aircraft_->aileron_input_daArray
|
|
|
|
#define aileron_input_ntime aircraft_->aileron_input_ntime
|
|
|
|
#define aileron_input_startTime aircraft_->aileron_input_startTime
|
|
|
|
|
|
|
|
bool rudder_input;
|
|
|
|
string rudder_input_file;
|
2002-11-08 17:03:49 +00:00
|
|
|
double rudder_input_timeArray[500];
|
|
|
|
double rudder_input_drArray[500];
|
2001-09-14 20:36:34 +00:00
|
|
|
int rudder_input_ntime;
|
|
|
|
double rudder_input_startTime;
|
|
|
|
#define rudder_input aircraft_->rudder_input
|
|
|
|
#define rudder_input_file aircraft_->rudder_input_file
|
|
|
|
#define rudder_input_timeArray aircraft_->rudder_input_timeArray
|
|
|
|
#define rudder_input_drArray aircraft_->rudder_input_drArray
|
|
|
|
#define rudder_input_ntime aircraft_->rudder_input_ntime
|
|
|
|
#define rudder_input_startTime aircraft_->rudder_input_startTime
|
|
|
|
|
|
|
|
bool pilot_elev_no;
|
|
|
|
#define pilot_elev_no aircraft_->pilot_elev_no
|
|
|
|
bool pilot_elev_no_check;
|
|
|
|
#define pilot_elev_no_check aircraft_->pilot_elev_no_check
|
|
|
|
|
|
|
|
bool pilot_ail_no;
|
|
|
|
#define pilot_ail_no aircraft_->pilot_ail_no
|
|
|
|
bool pilot_ail_no_check;
|
|
|
|
#define pilot_ail_no_check aircraft_->pilot_ail_no_check
|
|
|
|
|
|
|
|
bool pilot_rud_no;
|
|
|
|
#define pilot_rud_no aircraft_->pilot_rud_no
|
|
|
|
bool pilot_rud_no_check;
|
|
|
|
#define pilot_rud_no_check aircraft_->pilot_rud_no_check
|
|
|
|
|
2002-04-01 21:37:33 +00:00
|
|
|
double flap_max, flap_rate;
|
|
|
|
#define flap_max aircraft_->flap_max
|
|
|
|
#define flap_rate aircraft_->flap_rate
|
2003-05-13 18:45:04 +00:00
|
|
|
bool use_flaps;
|
|
|
|
#define use_flaps aircraft_->use_flaps
|
|
|
|
|
|
|
|
double spoiler_max, spoiler_rate;
|
|
|
|
#define spoiler_max aircraft_->spoiler_max
|
|
|
|
#define spoiler_rate aircraft_->spoiler_rate
|
|
|
|
bool use_spoilers;
|
|
|
|
#define use_spoilers aircraft_->use_spoilers
|
|
|
|
|
2002-04-01 21:37:33 +00:00
|
|
|
|
2002-11-08 17:03:49 +00:00
|
|
|
bool flap_pos_input;
|
|
|
|
string flap_pos_input_file;
|
|
|
|
double flap_pos_input_timeArray[500];
|
|
|
|
double flap_pos_input_dfArray[500];
|
|
|
|
int flap_pos_input_ntime;
|
|
|
|
double flap_pos_input_startTime;
|
|
|
|
#define flap_pos_input aircraft_->flap_pos_input
|
|
|
|
#define flap_pos_input_file aircraft_->flap_pos_input_file
|
|
|
|
#define flap_pos_input_timeArray aircraft_->flap_pos_input_timeArray
|
|
|
|
#define flap_pos_input_dfArray aircraft_->flap_pos_input_dfArray
|
|
|
|
#define flap_pos_input_ntime aircraft_->flap_pos_input_ntime
|
|
|
|
#define flap_pos_input_startTime aircraft_->flap_pos_input_startTime
|
|
|
|
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// SAS system: pitch, roll and yaw damping MSS
|
|
|
|
double elevator_sas_KQ;
|
|
|
|
double elevator_sas_max;
|
|
|
|
double elevator_sas_min;
|
|
|
|
double elevator_stick_gain;
|
|
|
|
double aileron_sas_KP;
|
|
|
|
double aileron_sas_max;
|
|
|
|
double aileron_stick_gain;
|
|
|
|
double rudder_sas_KR;
|
|
|
|
double rudder_sas_max;
|
|
|
|
double rudder_stick_gain;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define elevator_sas_KQ aircraft_->elevator_sas_KQ
|
|
|
|
#define elevator_sas_max aircraft_->elevator_sas_max
|
|
|
|
#define elevator_sas_min aircraft_->elevator_sas_min
|
|
|
|
#define elevator_stick_gain aircraft_->elevator_stick_gain
|
|
|
|
#define aileron_sas_KP aircraft_->aileron_sas_KP
|
|
|
|
#define aileron_sas_max aircraft_->aileron_sas_max
|
|
|
|
#define aileron_stick_gain aircraft_->aileron_stick_gain
|
|
|
|
#define rudder_sas_KR aircraft_->rudder_sas_KR
|
|
|
|
#define rudder_sas_max aircraft_->rudder_sas_max
|
|
|
|
#define rudder_stick_gain aircraft_->rudder_stick_gain
|
|
|
|
|
|
|
|
double elevator_sas;
|
|
|
|
#define elevator_sas aircraft_->elevator_sas
|
|
|
|
double aileron_sas;
|
|
|
|
#define aileron_sas aircraft_->aileron_sas
|
|
|
|
double rudder_sas;
|
|
|
|
#define rudder_sas aircraft_->rudder_sas
|
|
|
|
|
|
|
|
bool use_elevator_sas_type1;
|
|
|
|
#define use_elevator_sas_type1 aircraft_->use_elevator_sas_type1
|
|
|
|
bool use_elevator_sas_max;
|
|
|
|
#define use_elevator_sas_max aircraft_->use_elevator_sas_max
|
|
|
|
bool use_elevator_sas_min;
|
|
|
|
#define use_elevator_sas_min aircraft_->use_elevator_sas_min
|
|
|
|
bool use_elevator_stick_gain;
|
|
|
|
#define use_elevator_stick_gain aircraft_->use_elevator_stick_gain
|
|
|
|
bool use_aileron_sas_type1;
|
|
|
|
#define use_aileron_sas_type1 aircraft_->use_aileron_sas_type1
|
|
|
|
bool use_aileron_sas_max;
|
|
|
|
#define use_aileron_sas_max aircraft_->use_aileron_sas_max
|
|
|
|
bool use_aileron_stick_gain;
|
|
|
|
#define use_aileron_stick_gain aircraft_->use_aileron_stick_gain
|
|
|
|
bool use_rudder_sas_type1;
|
|
|
|
#define use_rudder_sas_type1 aircraft_->use_rudder_sas_type1
|
|
|
|
bool use_rudder_sas_max;
|
|
|
|
#define use_rudder_sas_max aircraft_->use_rudder_sas_max
|
|
|
|
bool use_rudder_stick_gain;
|
|
|
|
#define use_rudder_stick_gain aircraft_->use_rudder_stick_gain
|
|
|
|
|
|
|
|
|
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* controlsMixer = Control mixer ================================*/
|
|
|
|
|
|
|
|
map <string,int> controlsMixer_map;
|
|
|
|
#define controlsMixer_map aircraft_->controlsMixer_map
|
|
|
|
|
|
|
|
double nomix;
|
|
|
|
#define nomix aircraft_->nomix
|
|
|
|
|
|
|
|
|
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* mass =========== Aircraft-specific mass properties ===========*/
|
|
|
|
|
|
|
|
map <string,int> mass_map;
|
2000-09-06 19:52:37 +00:00
|
|
|
#define mass_map aircraft_->mass_map
|
|
|
|
|
|
|
|
double Weight;
|
|
|
|
#define Weight aircraft_->Weight
|
|
|
|
|
2002-05-09 05:02:36 +00:00
|
|
|
double Mass_appMass_ratio;
|
|
|
|
#define Mass_appMass_ratio aircraft_->Mass_appMass_ratio
|
|
|
|
double I_xx_appMass_ratio;
|
|
|
|
#define I_xx_appMass_ratio aircraft_->I_xx_appMass_ratio
|
|
|
|
double I_yy_appMass_ratio;
|
|
|
|
#define I_yy_appMass_ratio aircraft_->I_yy_appMass_ratio
|
|
|
|
double I_zz_appMass_ratio;
|
|
|
|
#define I_zz_appMass_ratio aircraft_->I_zz_appMass_ratio
|
|
|
|
double Mass_appMass;
|
|
|
|
#define Mass_appMass aircraft_->Mass_appMass
|
|
|
|
double I_xx_appMass;
|
|
|
|
#define I_xx_appMass aircraft_->I_xx_appMass
|
|
|
|
double I_yy_appMass;
|
|
|
|
#define I_yy_appMass aircraft_->I_yy_appMass
|
|
|
|
double I_zz_appMass;
|
|
|
|
#define I_zz_appMass aircraft_->I_zz_appMass
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* engine ======== Propulsion data ==============================*/
|
|
|
|
|
|
|
|
map <string,int> engine_map;
|
|
|
|
#define engine_map aircraft_->engine_map
|
|
|
|
|
|
|
|
double simpleSingleMaxThrust;
|
|
|
|
#define simpleSingleMaxThrust aircraft_->simpleSingleMaxThrust
|
2002-09-11 02:31:10 +00:00
|
|
|
|
|
|
|
bool simpleSingleModel;
|
|
|
|
#define simpleSingleModel aircraft_->simpleSingleModel
|
|
|
|
double t_v0;
|
|
|
|
#define t_v0 aircraft_->t_v0
|
|
|
|
double dtdv_t0;
|
|
|
|
#define dtdv_t0 aircraft_->dtdv_t0
|
|
|
|
double v_t0;
|
|
|
|
#define v_t0 aircraft_->v_t0
|
|
|
|
double dtdvvt;
|
|
|
|
#define dtdvvt aircraft_->dtdvvt
|
|
|
|
|
|
|
|
double tc, induced, eta_q;
|
|
|
|
#define tc aircraft_->tc
|
|
|
|
#define induced aircraft_->induced
|
|
|
|
#define eta_q aircraft_->eta_q
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2001-09-14 20:36:34 +00:00
|
|
|
bool Throttle_pct_input;
|
|
|
|
string Throttle_pct_input_file;
|
2002-04-01 21:37:33 +00:00
|
|
|
double Throttle_pct_input_timeArray[1500];
|
|
|
|
double Throttle_pct_input_dTArray[1500];
|
2001-09-14 20:36:34 +00:00
|
|
|
int Throttle_pct_input_ntime;
|
|
|
|
double Throttle_pct_input_startTime;
|
|
|
|
#define Throttle_pct_input aircraft_->Throttle_pct_input
|
|
|
|
#define Throttle_pct_input_file aircraft_->Throttle_pct_input_file
|
|
|
|
#define Throttle_pct_input_timeArray aircraft_->Throttle_pct_input_timeArray
|
|
|
|
#define Throttle_pct_input_dTArray aircraft_->Throttle_pct_input_dTArray
|
|
|
|
#define Throttle_pct_input_ntime aircraft_->Throttle_pct_input_ntime
|
|
|
|
#define Throttle_pct_input_startTime aircraft_->Throttle_pct_input_startTime
|
2002-09-11 02:31:10 +00:00
|
|
|
bool gyroForce_Q_body, gyroForce_R_body;
|
|
|
|
double minOmega, maxOmega, minOmegaRPM, maxOmegaRPM, engineOmega, polarInertia;
|
|
|
|
#define gyroForce_Q_body aircraft_->gyroForce_Q_body
|
|
|
|
#define gyroForce_R_body aircraft_->gyroForce_R_body
|
|
|
|
#define minOmega aircraft_->minOmega
|
|
|
|
#define maxOmega aircraft_->maxOmega
|
|
|
|
#define minOmegaRPM aircraft_->minOmegaRPM
|
|
|
|
#define maxOmegaRPM aircraft_->maxOmegaRPM
|
|
|
|
#define engineOmega aircraft_->engineOmega
|
|
|
|
#define polarInertia aircraft_->polarInertia
|
|
|
|
|
|
|
|
// propeller slipstream effects
|
2002-11-08 17:03:49 +00:00
|
|
|
bool b_slipstreamEffects;
|
2002-09-11 02:31:10 +00:00
|
|
|
double propDia;
|
|
|
|
double eta_q_Cm_q, eta_q_Cm_q_fac;
|
|
|
|
double eta_q_Cm_adot, eta_q_Cm_adot_fac;
|
|
|
|
double eta_q_Cmfade, eta_q_Cmfade_fac;
|
2003-05-13 18:45:04 +00:00
|
|
|
double eta_q_Cm_de, eta_q_Cm_de_fac;
|
2002-09-11 02:31:10 +00:00
|
|
|
double eta_q_Cl_beta, eta_q_Cl_beta_fac;
|
|
|
|
double eta_q_Cl_p, eta_q_Cl_p_fac;
|
|
|
|
double eta_q_Cl_r, eta_q_Cl_r_fac;
|
|
|
|
double eta_q_Cl_dr, eta_q_Cl_dr_fac;
|
|
|
|
double eta_q_CY_beta, eta_q_CY_beta_fac;
|
|
|
|
double eta_q_CY_p, eta_q_CY_p_fac;
|
|
|
|
double eta_q_CY_r, eta_q_CY_r_fac;
|
|
|
|
double eta_q_CY_dr, eta_q_CY_dr_fac;
|
|
|
|
double eta_q_Cn_beta, eta_q_Cn_beta_fac;
|
|
|
|
double eta_q_Cn_p, eta_q_Cn_p_fac;
|
|
|
|
double eta_q_Cn_r, eta_q_Cn_r_fac;
|
|
|
|
double eta_q_Cn_dr, eta_q_Cn_dr_fac;
|
|
|
|
|
2002-11-08 17:03:49 +00:00
|
|
|
#define b_slipstreamEffects aircraft_->b_slipstreamEffects
|
2002-09-11 02:31:10 +00:00
|
|
|
#define propDia aircraft_->propDia
|
|
|
|
#define eta_q_Cm_q aircraft_->eta_q_Cm_q
|
|
|
|
#define eta_q_Cm_q_fac aircraft_->eta_q_Cm_q_fac
|
|
|
|
#define eta_q_Cm_adot aircraft_->eta_q_Cm_adot
|
|
|
|
#define eta_q_Cm_adot_fac aircraft_->eta_q_Cm_adot_fac
|
|
|
|
#define eta_q_Cmfade aircraft_->eta_q_Cmfade
|
|
|
|
#define eta_q_Cmfade_fac aircraft_->eta_q_Cmfade_fac
|
2003-05-13 18:45:04 +00:00
|
|
|
#define eta_q_Cm_de aircraft_->eta_q_Cm_de
|
|
|
|
#define eta_q_Cm_de_fac aircraft_->eta_q_Cm_de_fac
|
2002-09-11 02:31:10 +00:00
|
|
|
#define eta_q_Cl_beta aircraft_->eta_q_Cl_beta
|
|
|
|
#define eta_q_Cl_beta_fac aircraft_->eta_q_Cl_beta_fac
|
|
|
|
#define eta_q_Cl_p aircraft_->eta_q_Cl_p
|
|
|
|
#define eta_q_Cl_p_fac aircraft_->eta_q_Cl_p_fac
|
|
|
|
#define eta_q_Cl_r aircraft_->eta_q_Cl_r
|
|
|
|
#define eta_q_Cl_r_fac aircraft_->eta_q_Cl_r_fac
|
|
|
|
#define eta_q_Cl_dr aircraft_->eta_q_Cl_dr
|
|
|
|
#define eta_q_Cl_dr_fac aircraft_->eta_q_Cl_dr_fac
|
|
|
|
#define eta_q_CY_beta aircraft_->eta_q_CY_beta
|
|
|
|
#define eta_q_CY_beta_fac aircraft_->eta_q_CY_beta_fac
|
|
|
|
#define eta_q_CY_p aircraft_->eta_q_CY_p
|
|
|
|
#define eta_q_CY_p_fac aircraft_->eta_q_CY_p_fac
|
|
|
|
#define eta_q_CY_r aircraft_->eta_q_CY_r
|
|
|
|
#define eta_q_CY_r_fac aircraft_->eta_q_CY_r_fac
|
|
|
|
#define eta_q_CY_dr aircraft_->eta_q_CY_dr
|
|
|
|
#define eta_q_CY_dr_fac aircraft_->eta_q_CY_dr_fac
|
|
|
|
#define eta_q_Cn_beta aircraft_->eta_q_Cn_beta
|
|
|
|
#define eta_q_Cn_beta_fac aircraft_->eta_q_Cn_beta_fac
|
|
|
|
#define eta_q_Cn_p aircraft_->eta_q_Cn_p
|
|
|
|
#define eta_q_Cn_p_fac aircraft_->eta_q_Cn_p_fac
|
|
|
|
#define eta_q_Cn_r aircraft_->eta_q_Cn_r
|
|
|
|
#define eta_q_Cn_r_fac aircraft_->eta_q_Cn_r_fac
|
|
|
|
#define eta_q_Cn_dr aircraft_->eta_q_Cn_dr
|
|
|
|
#define eta_q_Cn_dr_fac aircraft_->eta_q_Cn_dr_fac
|
|
|
|
|
|
|
|
|
2002-09-02 23:26:28 +00:00
|
|
|
bool Xp_input;
|
|
|
|
string Xp_input_file;
|
|
|
|
double Xp_input_timeArray[5400];
|
|
|
|
double Xp_input_XpArray[5400];
|
|
|
|
int Xp_input_ntime;
|
|
|
|
double Xp_input_startTime;
|
|
|
|
#define Xp_input aircraft_->Xp_input
|
|
|
|
#define Xp_input_file aircraft_->Xp_input_file
|
|
|
|
#define Xp_input_timeArray aircraft_->Xp_input_timeArray
|
|
|
|
#define Xp_input_XpArray aircraft_->Xp_input_XpArray
|
|
|
|
#define Xp_input_ntime aircraft_->Xp_input_ntime
|
|
|
|
#define Xp_input_startTime aircraft_->Xp_input_startTime
|
|
|
|
bool Zp_input;
|
|
|
|
string Zp_input_file;
|
|
|
|
double Zp_input_timeArray[5400];
|
|
|
|
double Zp_input_ZpArray[5400];
|
|
|
|
int Zp_input_ntime;
|
|
|
|
double Zp_input_startTime;
|
|
|
|
#define Zp_input aircraft_->Zp_input
|
|
|
|
#define Zp_input_file aircraft_->Zp_input_file
|
|
|
|
#define Zp_input_timeArray aircraft_->Zp_input_timeArray
|
|
|
|
#define Zp_input_ZpArray aircraft_->Zp_input_ZpArray
|
|
|
|
#define Zp_input_ntime aircraft_->Zp_input_ntime
|
|
|
|
#define Zp_input_startTime aircraft_->Zp_input_startTime
|
|
|
|
bool Mp_input;
|
|
|
|
string Mp_input_file;
|
|
|
|
double Mp_input_timeArray[5400];
|
|
|
|
double Mp_input_MpArray[5400];
|
|
|
|
int Mp_input_ntime;
|
|
|
|
double Mp_input_startTime;
|
|
|
|
#define Mp_input aircraft_->Mp_input
|
|
|
|
#define Mp_input_file aircraft_->Mp_input_file
|
|
|
|
#define Mp_input_timeArray aircraft_->Mp_input_timeArray
|
|
|
|
#define Mp_input_MpArray aircraft_->Mp_input_MpArray
|
|
|
|
#define Mp_input_ntime aircraft_->Mp_input_ntime
|
|
|
|
#define Mp_input_startTime aircraft_->Mp_input_startTime
|
2001-09-14 20:36:34 +00:00
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* CD ============ Aerodynamic x-force quantities (longitudinal) */
|
|
|
|
|
|
|
|
map <string,int> CD_map;
|
|
|
|
#define CD_map aircraft_->CD_map
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
double CDo, CDK, CLK, CD_a, CD_adot, CD_q, CD_ih, CD_de, CD_dr, CD_da, CD_beta;
|
|
|
|
double CD_df, CD_ds, CD_dg;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define CDo aircraft_->CDo
|
|
|
|
#define CDK aircraft_->CDK
|
2003-05-13 18:45:04 +00:00
|
|
|
#define CLK aircraft_->CLK
|
2000-03-22 22:01:33 +00:00
|
|
|
#define CD_a aircraft_->CD_a
|
2000-09-06 19:52:37 +00:00
|
|
|
#define CD_adot aircraft_->CD_adot
|
|
|
|
#define CD_q aircraft_->CD_q
|
|
|
|
#define CD_ih aircraft_->CD_ih
|
2000-03-22 22:01:33 +00:00
|
|
|
#define CD_de aircraft_->CD_de
|
2003-05-13 18:45:04 +00:00
|
|
|
#define CD_dr aircraft_->CD_dr
|
|
|
|
#define CD_da aircraft_->CD_da
|
|
|
|
#define CD_beta aircraft_->CD_beta
|
|
|
|
#define CD_df aircraft_->CD_df
|
|
|
|
#define CD_ds aircraft_->CD_ds
|
|
|
|
#define CD_dg aircraft_->CD_dg
|
|
|
|
bool b_CLK;
|
|
|
|
#define b_CLK aircraft_->b_CLK
|
2000-03-22 22:01:33 +00:00
|
|
|
string CDfa;
|
|
|
|
double CDfa_aArray[100];
|
|
|
|
double CDfa_CDArray[100];
|
|
|
|
int CDfa_nAlpha;
|
|
|
|
double CDfaI;
|
|
|
|
#define CDfa aircraft_->CDfa
|
|
|
|
#define CDfa_aArray aircraft_->CDfa_aArray
|
|
|
|
#define CDfa_CDArray aircraft_->CDfa_CDArray
|
|
|
|
#define CDfa_nAlpha aircraft_->CDfa_nAlpha
|
|
|
|
#define CDfaI aircraft_->CDfaI
|
2000-09-06 19:52:37 +00:00
|
|
|
string CDfCL;
|
|
|
|
double CDfCL_CLArray[100];
|
|
|
|
double CDfCL_CDArray[100];
|
|
|
|
int CDfCL_nCL;
|
|
|
|
double CDfCLI;
|
|
|
|
#define CDfCL aircraft_->CDfCL
|
|
|
|
#define CDfCL_CLArray aircraft_->CDfCL_CLArray
|
|
|
|
#define CDfCL_CDArray aircraft_->CDfCL_CDArray
|
|
|
|
#define CDfCL_nCL aircraft_->CDfCL_nCL
|
|
|
|
#define CDfCLI aircraft_->CDfCLI
|
2000-03-22 22:01:33 +00:00
|
|
|
string CDfade;
|
|
|
|
double CDfade_aArray[100][100];
|
|
|
|
double CDfade_deArray[100];
|
|
|
|
double CDfade_CDArray[100][100];
|
|
|
|
int CDfade_nAlphaArray[100];
|
|
|
|
int CDfade_nde;
|
|
|
|
double CDfadeI;
|
|
|
|
#define CDfade aircraft_->CDfade
|
|
|
|
#define CDfade_aArray aircraft_->CDfade_aArray
|
|
|
|
#define CDfade_deArray aircraft_->CDfade_deArray
|
|
|
|
#define CDfade_CDArray aircraft_->CDfade_CDArray
|
|
|
|
#define CDfade_nAlphaArray aircraft_->CDfade_nAlphaArray
|
|
|
|
#define CDfade_nde aircraft_->CDfade_nde
|
|
|
|
#define CDfadeI aircraft_->CDfadeI
|
2000-09-06 19:52:37 +00:00
|
|
|
string CDfdf;
|
|
|
|
double CDfdf_dfArray[100];
|
|
|
|
double CDfdf_CDArray[100];
|
|
|
|
int CDfdf_ndf;
|
|
|
|
double CDfdfI;
|
|
|
|
#define CDfdf aircraft_->CDfdf
|
|
|
|
#define CDfdf_dfArray aircraft_->CDfdf_dfArray
|
|
|
|
#define CDfdf_CDArray aircraft_->CDfdf_CDArray
|
|
|
|
#define CDfdf_ndf aircraft_->CDfdf_ndf
|
|
|
|
#define CDfdfI aircraft_->CDfdfI
|
|
|
|
string CDfadf;
|
|
|
|
double CDfadf_aArray[100][100];
|
|
|
|
double CDfadf_dfArray[100];
|
|
|
|
double CDfadf_CDArray[100][100];
|
|
|
|
int CDfadf_nAlphaArray[100];
|
|
|
|
int CDfadf_ndf;
|
|
|
|
double CDfadfI;
|
|
|
|
#define CDfadf aircraft_->CDfadf
|
|
|
|
#define CDfadf_aArray aircraft_->CDfadf_aArray
|
|
|
|
#define CDfadf_dfArray aircraft_->CDfadf_dfArray
|
|
|
|
#define CDfadf_CDArray aircraft_->CDfadf_CDArray
|
|
|
|
#define CDfadf_nAlphaArray aircraft_->CDfadf_nAlphaArray
|
|
|
|
#define CDfadf_ndf aircraft_->CDfadf_ndf
|
|
|
|
#define CDfadfI aircraft_->CDfadfI
|
|
|
|
double CXo, CXK, CX_a, CX_a2, CX_a3, CX_adot;
|
|
|
|
double CX_q, CX_de, CX_dr, CX_df, CX_adf;
|
|
|
|
#define CXo aircraft_->CXo
|
|
|
|
#define CXK aircraft_->CXK
|
|
|
|
#define CX_a aircraft_->CX_a
|
|
|
|
#define CX_a2 aircraft_->CX_a2
|
|
|
|
#define CX_a3 aircraft_->CX_a3
|
|
|
|
#define CX_adot aircraft_->CX_adot
|
|
|
|
#define CX_q aircraft_->CX_q
|
|
|
|
#define CX_de aircraft_->CX_de
|
|
|
|
#define CX_dr aircraft_->CX_dr
|
|
|
|
#define CX_df aircraft_->CX_df
|
|
|
|
#define CX_adf aircraft_->CX_adf
|
2002-04-01 21:37:33 +00:00
|
|
|
double CXfabetaf_aArray[30][100][100];
|
|
|
|
double CXfabetaf_betaArray[30][100];
|
|
|
|
double CXfabetaf_CXArray[30][100][100];
|
|
|
|
int CXfabetaf_nAlphaArray[30][100];
|
|
|
|
int CXfabetaf_nbeta[30];
|
|
|
|
double CXfabetaf_fArray[30];
|
|
|
|
int CXfabetaf_nf;
|
|
|
|
double CXfabetafI;
|
|
|
|
int CXfabetaf_nice, CXfabetaf_na_nice, CXfabetaf_nb_nice;
|
|
|
|
double CXfabetaf_bArray_nice[100];
|
|
|
|
double CXfabetaf_aArray_nice[100];
|
|
|
|
#define CXfabetaf_aArray aircraft_->CXfabetaf_aArray
|
|
|
|
#define CXfabetaf_betaArray aircraft_->CXfabetaf_betaArray
|
|
|
|
#define CXfabetaf_CXArray aircraft_->CXfabetaf_CXArray
|
|
|
|
#define CXfabetaf_nAlphaArray aircraft_->CXfabetaf_nAlphaArray
|
|
|
|
#define CXfabetaf_nbeta aircraft_->CXfabetaf_nbeta
|
|
|
|
#define CXfabetaf_fArray aircraft_->CXfabetaf_fArray
|
|
|
|
#define CXfabetaf_nf aircraft_->CXfabetaf_nf
|
|
|
|
#define CXfabetafI aircraft_->CXfabetafI
|
|
|
|
#define CXfabetaf_nice aircraft_->CXfabetaf_nice
|
|
|
|
#define CXfabetaf_na_nice aircraft_->CXfabetaf_na_nice
|
|
|
|
#define CXfabetaf_nb_nice aircraft_->CXfabetaf_nb_nice
|
|
|
|
#define CXfabetaf_bArray_nice aircraft_->CXfabetaf_bArray_nice
|
|
|
|
#define CXfabetaf_aArray_nice aircraft_->CXfabetaf_aArray_nice
|
|
|
|
double CXfadef_aArray[30][100][100];
|
|
|
|
double CXfadef_deArray[30][100];
|
|
|
|
double CXfadef_CXArray[30][100][100];
|
|
|
|
int CXfadef_nAlphaArray[30][100];
|
|
|
|
int CXfadef_nde[30];
|
|
|
|
double CXfadef_fArray[30];
|
|
|
|
int CXfadef_nf;
|
|
|
|
double CXfadefI;
|
|
|
|
int CXfadef_nice, CXfadef_na_nice, CXfadef_nde_nice;
|
|
|
|
double CXfadef_deArray_nice[100];
|
|
|
|
double CXfadef_aArray_nice[100];
|
|
|
|
#define CXfadef_aArray aircraft_->CXfadef_aArray
|
|
|
|
#define CXfadef_deArray aircraft_->CXfadef_deArray
|
|
|
|
#define CXfadef_CXArray aircraft_->CXfadef_CXArray
|
|
|
|
#define CXfadef_nAlphaArray aircraft_->CXfadef_nAlphaArray
|
|
|
|
#define CXfadef_nde aircraft_->CXfadef_nde
|
|
|
|
#define CXfadef_fArray aircraft_->CXfadef_fArray
|
|
|
|
#define CXfadef_nf aircraft_->CXfadef_nf
|
|
|
|
#define CXfadefI aircraft_->CXfadefI
|
|
|
|
#define CXfadef_nice aircraft_->CXfadef_nice
|
|
|
|
#define CXfadef_na_nice aircraft_->CXfadef_na_nice
|
|
|
|
#define CXfadef_nde_nice aircraft_->CXfadef_nde_nice
|
|
|
|
#define CXfadef_deArray_nice aircraft_->CXfadef_deArray_nice
|
|
|
|
#define CXfadef_aArray_nice aircraft_->CXfadef_aArray_nice
|
|
|
|
double CXfaqf_aArray[30][100][100];
|
|
|
|
double CXfaqf_qArray[30][100];
|
|
|
|
double CXfaqf_CXArray[30][100][100];
|
|
|
|
int CXfaqf_nAlphaArray[30][100];
|
|
|
|
int CXfaqf_nq[30];
|
|
|
|
double CXfaqf_fArray[30];
|
|
|
|
int CXfaqf_nf;
|
|
|
|
double CXfaqfI;
|
|
|
|
int CXfaqf_nice, CXfaqf_na_nice, CXfaqf_nq_nice;
|
|
|
|
double CXfaqf_qArray_nice[100];
|
|
|
|
double CXfaqf_aArray_nice[100];
|
|
|
|
#define CXfaqf_aArray aircraft_->CXfaqf_aArray
|
|
|
|
#define CXfaqf_qArray aircraft_->CXfaqf_qArray
|
|
|
|
#define CXfaqf_CXArray aircraft_->CXfaqf_CXArray
|
|
|
|
#define CXfaqf_nAlphaArray aircraft_->CXfaqf_nAlphaArray
|
|
|
|
#define CXfaqf_nq aircraft_->CXfaqf_nq
|
|
|
|
#define CXfaqf_fArray aircraft_->CXfaqf_fArray
|
|
|
|
#define CXfaqf_nf aircraft_->CXfaqf_nf
|
|
|
|
#define CXfaqfI aircraft_->CXfaqfI
|
|
|
|
#define CXfaqf_nice aircraft_->CXfaqf_nice
|
|
|
|
#define CXfaqf_na_nice aircraft_->CXfaqf_na_nice
|
|
|
|
#define CXfaqf_nq_nice aircraft_->CXfaqf_nq_nice
|
|
|
|
#define CXfaqf_qArray_nice aircraft_->CXfaqf_qArray_nice
|
|
|
|
#define CXfaqf_aArray_nice aircraft_->CXfaqf_aArray_nice
|
2003-05-13 18:45:04 +00:00
|
|
|
double CDo_save, CDK_save, CLK_save, CD_a_save, CD_adot_save, CD_q_save, CD_ih_save;
|
|
|
|
double CD_de_save, CD_dr_save, CD_da_save, CD_beta_save;
|
|
|
|
double CD_df_save, CD_ds_save, CD_dg_save;
|
|
|
|
double CXo_save, CXK_save, CX_a_save, CX_a2_save, CX_a3_save;
|
2002-04-01 21:37:33 +00:00
|
|
|
double CX_adot_save, CX_q_save, CX_de_save;
|
|
|
|
double CX_dr_save, CX_df_save, CX_adf_save;
|
|
|
|
#define CDo_save aircraft_->CDo_save
|
|
|
|
#define CDK_save aircraft_->CDK_save
|
2003-05-13 18:45:04 +00:00
|
|
|
#define CLK_save aircraft_->CLK_save
|
2002-04-01 21:37:33 +00:00
|
|
|
#define CD_a_save aircraft_->CD_a_save
|
|
|
|
#define CD_adot_save aircraft_->CD_adot_save
|
|
|
|
#define CD_q_save aircraft_->CD_q_save
|
|
|
|
#define CD_ih_save aircraft_->CD_ih_save
|
|
|
|
#define CD_de_save aircraft_->CD_de_save
|
2003-05-13 18:45:04 +00:00
|
|
|
#define CD_dr_save aircraft_->CD_dr_save
|
|
|
|
#define CD_da_save aircraft_->CD_da_save
|
|
|
|
#define CD_beta_save aircraft_->CD_beta_save
|
|
|
|
#define CD_df_save aircraft_->CD_df_save
|
|
|
|
#define CD_ds_save aircraft_->CD_ds_save
|
|
|
|
#define CD_dg_save aircraft_->CD_dg_save
|
2002-04-01 21:37:33 +00:00
|
|
|
#define CXo_save aircraft_->CXo_save
|
|
|
|
#define CXK_save aircraft_->CXK_save
|
|
|
|
#define CX_a_save aircraft_->CX_a_save
|
|
|
|
#define CX_a2_save aircraft_->CX_a2_save
|
|
|
|
#define CX_a3_save aircraft_->CX_a3_save
|
|
|
|
#define CX_adot_save aircraft_->CX_adot_save
|
|
|
|
#define CX_q_save aircraft_->CX_q_save
|
|
|
|
#define CX_de_save aircraft_->CX_de_save
|
|
|
|
#define CX_dr_save aircraft_->CX_dr_save
|
|
|
|
#define CX_df_save aircraft_->CX_df_save
|
|
|
|
#define CX_adf_save aircraft_->CX_adf_save
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* CL ============ Aerodynamic z-force quantities (longitudinal) */
|
|
|
|
|
|
|
|
map <string,int> CL_map;
|
|
|
|
#define CL_map aircraft_->CL_map
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
double CLo, CL_a, CL_adot, CL_q, CL_ih, CL_de;
|
2003-05-13 18:45:04 +00:00
|
|
|
double CL_df, CL_ds, CL_dg;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define CLo aircraft_->CLo
|
|
|
|
#define CL_a aircraft_->CL_a
|
|
|
|
#define CL_adot aircraft_->CL_adot
|
|
|
|
#define CL_q aircraft_->CL_q
|
2000-09-06 19:52:37 +00:00
|
|
|
#define CL_ih aircraft_->CL_ih
|
2000-03-22 22:01:33 +00:00
|
|
|
#define CL_de aircraft_->CL_de
|
2003-05-13 18:45:04 +00:00
|
|
|
#define CL_df aircraft_->CL_df
|
|
|
|
#define CL_ds aircraft_->CL_ds
|
|
|
|
#define CL_dg aircraft_->CL_dg
|
2000-03-22 22:01:33 +00:00
|
|
|
string CLfa;
|
|
|
|
double CLfa_aArray[100];
|
|
|
|
double CLfa_CLArray[100];
|
|
|
|
int CLfa_nAlpha;
|
|
|
|
double CLfaI;
|
|
|
|
#define CLfa aircraft_->CLfa
|
|
|
|
#define CLfa_aArray aircraft_->CLfa_aArray
|
|
|
|
#define CLfa_CLArray aircraft_->CLfa_CLArray
|
|
|
|
#define CLfa_nAlpha aircraft_->CLfa_nAlpha
|
|
|
|
#define CLfaI aircraft_->CLfaI
|
|
|
|
string CLfade;
|
|
|
|
double CLfade_aArray[100][100];
|
|
|
|
double CLfade_deArray[100];
|
|
|
|
double CLfade_CLArray[100][100];
|
|
|
|
int CLfade_nAlphaArray[100];
|
|
|
|
int CLfade_nde;
|
|
|
|
double CLfadeI;
|
|
|
|
#define CLfade aircraft_->CLfade
|
|
|
|
#define CLfade_aArray aircraft_->CLfade_aArray
|
|
|
|
#define CLfade_deArray aircraft_->CLfade_deArray
|
|
|
|
#define CLfade_CLArray aircraft_->CLfade_CLArray
|
|
|
|
#define CLfade_nAlphaArray aircraft_->CLfade_nAlphaArray
|
|
|
|
#define CLfade_nde aircraft_->CLfade_nde
|
|
|
|
#define CLfadeI aircraft_->CLfadeI
|
2000-09-06 19:52:37 +00:00
|
|
|
string CLfdf;
|
|
|
|
double CLfdf_dfArray[100];
|
|
|
|
double CLfdf_CLArray[100];
|
|
|
|
int CLfdf_ndf;
|
|
|
|
double CLfdfI;
|
|
|
|
#define CLfdf aircraft_->CLfdf
|
|
|
|
#define CLfdf_dfArray aircraft_->CLfdf_dfArray
|
|
|
|
#define CLfdf_CLArray aircraft_->CLfdf_CLArray
|
|
|
|
#define CLfdf_ndf aircraft_->CLfdf_ndf
|
|
|
|
#define CLfdfI aircraft_->CLfdfI
|
|
|
|
string CLfadf;
|
|
|
|
double CLfadf_aArray[100][100];
|
|
|
|
double CLfadf_dfArray[100];
|
|
|
|
double CLfadf_CLArray[100][100];
|
|
|
|
int CLfadf_nAlphaArray[100];
|
|
|
|
int CLfadf_ndf;
|
|
|
|
double CLfadfI;
|
|
|
|
#define CLfadf aircraft_->CLfadf
|
|
|
|
#define CLfadf_aArray aircraft_->CLfadf_aArray
|
|
|
|
#define CLfadf_dfArray aircraft_->CLfadf_dfArray
|
|
|
|
#define CLfadf_CLArray aircraft_->CLfadf_CLArray
|
|
|
|
#define CLfadf_nAlphaArray aircraft_->CLfadf_nAlphaArray
|
|
|
|
#define CLfadf_ndf aircraft_->CLfadf_ndf
|
|
|
|
#define CLfadfI aircraft_->CLfadfI
|
|
|
|
double CZo, CZ_a, CZ_a2, CZ_a3, CZ_adot;
|
|
|
|
double CZ_q, CZ_de, CZ_deb2, CZ_df, CZ_adf;
|
|
|
|
#define CZo aircraft_->CZo
|
|
|
|
#define CZ_a aircraft_->CZ_a
|
|
|
|
#define CZ_a2 aircraft_->CZ_a2
|
|
|
|
#define CZ_a3 aircraft_->CZ_a3
|
|
|
|
#define CZ_adot aircraft_->CZ_adot
|
|
|
|
#define CZ_q aircraft_->CZ_q
|
|
|
|
#define CZ_de aircraft_->CZ_de
|
|
|
|
#define CZ_deb2 aircraft_->CZ_deb2
|
|
|
|
#define CZ_df aircraft_->CZ_df
|
|
|
|
#define CZ_adf aircraft_->CZ_adf
|
2001-09-14 20:36:34 +00:00
|
|
|
string CZfa;
|
|
|
|
double CZfa_aArray[100];
|
|
|
|
double CZfa_CZArray[100];
|
|
|
|
int CZfa_nAlpha;
|
|
|
|
double CZfaI;
|
|
|
|
#define CZfa aircraft_->CZfa
|
|
|
|
#define CZfa_aArray aircraft_->CZfa_aArray
|
|
|
|
#define CZfa_CZArray aircraft_->CZfa_CZArray
|
|
|
|
#define CZfa_nAlpha aircraft_->CZfa_nAlpha
|
|
|
|
#define CZfaI aircraft_->CZfaI
|
2002-04-01 21:37:33 +00:00
|
|
|
double CZfabetaf_aArray[30][100][100];
|
|
|
|
double CZfabetaf_betaArray[30][100];
|
|
|
|
double CZfabetaf_CZArray[30][100][100];
|
|
|
|
int CZfabetaf_nAlphaArray[30][100];
|
|
|
|
int CZfabetaf_nbeta[30];
|
|
|
|
double CZfabetaf_fArray[30];
|
|
|
|
int CZfabetaf_nf;
|
|
|
|
double CZfabetafI;
|
|
|
|
int CZfabetaf_nice, CZfabetaf_na_nice, CZfabetaf_nb_nice;
|
|
|
|
double CZfabetaf_bArray_nice[100];
|
|
|
|
double CZfabetaf_aArray_nice[100];
|
|
|
|
#define CZfabetaf_aArray aircraft_->CZfabetaf_aArray
|
|
|
|
#define CZfabetaf_betaArray aircraft_->CZfabetaf_betaArray
|
|
|
|
#define CZfabetaf_CZArray aircraft_->CZfabetaf_CZArray
|
|
|
|
#define CZfabetaf_nAlphaArray aircraft_->CZfabetaf_nAlphaArray
|
|
|
|
#define CZfabetaf_nbeta aircraft_->CZfabetaf_nbeta
|
|
|
|
#define CZfabetaf_fArray aircraft_->CZfabetaf_fArray
|
|
|
|
#define CZfabetaf_nf aircraft_->CZfabetaf_nf
|
|
|
|
#define CZfabetafI aircraft_->CZfabetafI
|
|
|
|
#define CZfabetaf_nice aircraft_->CZfabetaf_nice
|
|
|
|
#define CZfabetaf_na_nice aircraft_->CZfabetaf_na_nice
|
|
|
|
#define CZfabetaf_nb_nice aircraft_->CZfabetaf_nb_nice
|
|
|
|
#define CZfabetaf_bArray_nice aircraft_->CZfabetaf_bArray_nice
|
|
|
|
#define CZfabetaf_aArray_nice aircraft_->CZfabetaf_aArray_nice
|
|
|
|
double CZfadef_aArray[30][100][100];
|
|
|
|
double CZfadef_deArray[30][100];
|
|
|
|
double CZfadef_CZArray[30][100][100];
|
|
|
|
int CZfadef_nAlphaArray[30][100];
|
|
|
|
int CZfadef_nde[30];
|
|
|
|
double CZfadef_fArray[30];
|
|
|
|
int CZfadef_nf;
|
|
|
|
double CZfadefI;
|
|
|
|
int CZfadef_nice, CZfadef_na_nice, CZfadef_nde_nice;
|
|
|
|
double CZfadef_deArray_nice[100];
|
|
|
|
double CZfadef_aArray_nice[100];
|
|
|
|
#define CZfadef_aArray aircraft_->CZfadef_aArray
|
|
|
|
#define CZfadef_deArray aircraft_->CZfadef_deArray
|
|
|
|
#define CZfadef_CZArray aircraft_->CZfadef_CZArray
|
|
|
|
#define CZfadef_nAlphaArray aircraft_->CZfadef_nAlphaArray
|
|
|
|
#define CZfadef_nde aircraft_->CZfadef_nde
|
|
|
|
#define CZfadef_fArray aircraft_->CZfadef_fArray
|
|
|
|
#define CZfadef_nf aircraft_->CZfadef_nf
|
|
|
|
#define CZfadefI aircraft_->CZfadefI
|
|
|
|
#define CZfadef_nice aircraft_->CZfadef_nice
|
|
|
|
#define CZfadef_na_nice aircraft_->CZfadef_na_nice
|
|
|
|
#define CZfadef_nde_nice aircraft_->CZfadef_nde_nice
|
|
|
|
#define CZfadef_deArray_nice aircraft_->CZfadef_deArray_nice
|
|
|
|
#define CZfadef_aArray_nice aircraft_->CZfadef_aArray_nice
|
|
|
|
double CZfaqf_aArray[30][100][100];
|
|
|
|
double CZfaqf_qArray[30][100];
|
|
|
|
double CZfaqf_CZArray[30][100][100];
|
|
|
|
int CZfaqf_nAlphaArray[30][100];
|
|
|
|
int CZfaqf_nq[30];
|
|
|
|
double CZfaqf_fArray[30];
|
|
|
|
int CZfaqf_nf;
|
|
|
|
double CZfaqfI;
|
|
|
|
int CZfaqf_nice, CZfaqf_na_nice, CZfaqf_nq_nice;
|
|
|
|
double CZfaqf_qArray_nice[100];
|
|
|
|
double CZfaqf_aArray_nice[100];
|
|
|
|
#define CZfaqf_aArray aircraft_->CZfaqf_aArray
|
|
|
|
#define CZfaqf_qArray aircraft_->CZfaqf_qArray
|
|
|
|
#define CZfaqf_CZArray aircraft_->CZfaqf_CZArray
|
|
|
|
#define CZfaqf_nAlphaArray aircraft_->CZfaqf_nAlphaArray
|
|
|
|
#define CZfaqf_nq aircraft_->CZfaqf_nq
|
|
|
|
#define CZfaqf_fArray aircraft_->CZfaqf_fArray
|
|
|
|
#define CZfaqf_nf aircraft_->CZfaqf_nf
|
|
|
|
#define CZfaqfI aircraft_->CZfaqfI
|
|
|
|
#define CZfaqf_nice aircraft_->CZfaqf_nice
|
|
|
|
#define CZfaqf_na_nice aircraft_->CZfaqf_na_nice
|
|
|
|
#define CZfaqf_nq_nice aircraft_->CZfaqf_nq_nice
|
|
|
|
#define CZfaqf_qArray_nice aircraft_->CZfaqf_qArray_nice
|
|
|
|
#define CZfaqf_aArray_nice aircraft_->CZfaqf_aArray_nice
|
|
|
|
double CLo_save, CL_a_save, CL_adot_save;
|
|
|
|
double CL_q_save, CL_ih_save, CL_de_save;
|
2003-05-13 18:45:04 +00:00
|
|
|
double CL_df_save, CL_ds_save, CL_dg_save;
|
2002-04-01 21:37:33 +00:00
|
|
|
double CZo_save, CZ_a_save, CZ_a2_save;
|
|
|
|
double CZ_a3_save, CZ_adot_save, CZ_q_save;
|
|
|
|
double CZ_de_save, CZ_deb2_save, CZ_df_save;
|
|
|
|
double CZ_adf_save;
|
|
|
|
#define CLo_save aircraft_->CLo_save
|
|
|
|
#define CL_a_save aircraft_->CL_a_save
|
|
|
|
#define CL_adot_save aircraft_->CL_adot_save
|
|
|
|
#define CL_q_save aircraft_->CL_q_save
|
|
|
|
#define CL_ih_save aircraft_->CL_ih_save
|
|
|
|
#define CL_de_save aircraft_->CL_de_save
|
2003-05-13 18:45:04 +00:00
|
|
|
#define CL_df_save aircraft_->CL_df_save
|
|
|
|
#define CL_ds_save aircraft_->CL_ds_save
|
|
|
|
#define CL_dg_save aircraft_->CL_dg_save
|
2002-04-01 21:37:33 +00:00
|
|
|
#define CZo_save aircraft_->CZo_save
|
|
|
|
#define CZ_a_save aircraft_->CZ_a_save
|
|
|
|
#define CZ_a2_save aircraft_->CZ_a2_save
|
|
|
|
#define CZ_a3_save aircraft_->CZ_a3_save
|
|
|
|
#define CZ_adot_save aircraft_->CZ_adot_save
|
|
|
|
#define CZ_q_save aircraft_->CZ_q_save
|
|
|
|
#define CZ_de_save aircraft_->CZ_de_save
|
|
|
|
#define CZ_deb2_save aircraft_->CZ_deb2_save
|
|
|
|
#define CZ_df_save aircraft_->CZ_df_save
|
|
|
|
#define CZ_adf_save aircraft_->CZ_adf_save
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* Cm ============ Aerodynamic m-moment quantities (longitudinal) */
|
|
|
|
|
|
|
|
map <string,int> Cm_map;
|
|
|
|
#define Cm_map aircraft_->Cm_map
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
double Cmo, Cm_a, Cm_a2, Cm_adot, Cm_q;
|
2003-05-13 18:45:04 +00:00
|
|
|
double Cm_ih, Cm_de, Cm_b2, Cm_r;
|
|
|
|
double Cm_df, Cm_ds, Cm_dg;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define Cmo aircraft_->Cmo
|
|
|
|
#define Cm_a aircraft_->Cm_a
|
2000-09-06 19:52:37 +00:00
|
|
|
#define Cm_a2 aircraft_->Cm_a2
|
2000-03-22 22:01:33 +00:00
|
|
|
#define Cm_adot aircraft_->Cm_adot
|
|
|
|
#define Cm_q aircraft_->Cm_q
|
2000-09-06 19:52:37 +00:00
|
|
|
#define Cm_ih aircraft_->Cm_ih
|
2000-03-22 22:01:33 +00:00
|
|
|
#define Cm_de aircraft_->Cm_de
|
2000-09-06 19:52:37 +00:00
|
|
|
#define Cm_b2 aircraft_->Cm_b2
|
|
|
|
#define Cm_r aircraft_->Cm_r
|
|
|
|
#define Cm_df aircraft_->Cm_df
|
2003-05-13 18:45:04 +00:00
|
|
|
#define Cm_ds aircraft_->Cm_ds
|
|
|
|
#define Cm_dg aircraft_->Cm_dg
|
2000-09-06 19:52:37 +00:00
|
|
|
string Cmfa;
|
|
|
|
double Cmfa_aArray[100];
|
|
|
|
double Cmfa_CmArray[100];
|
|
|
|
int Cmfa_nAlpha;
|
|
|
|
double CmfaI;
|
|
|
|
#define Cmfa aircraft_->Cmfa
|
|
|
|
#define Cmfa_aArray aircraft_->Cmfa_aArray
|
|
|
|
#define Cmfa_CmArray aircraft_->Cmfa_CmArray
|
|
|
|
#define Cmfa_nAlpha aircraft_->Cmfa_nAlpha
|
|
|
|
#define CmfaI aircraft_->CmfaI
|
2000-03-22 22:01:33 +00:00
|
|
|
string Cmfade;
|
|
|
|
double Cmfade_aArray[100][100];
|
|
|
|
double Cmfade_deArray[100];
|
|
|
|
double Cmfade_CmArray[100][100];
|
|
|
|
int Cmfade_nAlphaArray[100];
|
|
|
|
int Cmfade_nde;
|
|
|
|
double CmfadeI;
|
|
|
|
#define Cmfade aircraft_->Cmfade
|
|
|
|
#define Cmfade_aArray aircraft_->Cmfade_aArray
|
|
|
|
#define Cmfade_deArray aircraft_->Cmfade_deArray
|
|
|
|
#define Cmfade_CmArray aircraft_->Cmfade_CmArray
|
|
|
|
#define Cmfade_nAlphaArray aircraft_->Cmfade_nAlphaArray
|
|
|
|
#define Cmfade_nde aircraft_->Cmfade_nde
|
|
|
|
#define CmfadeI aircraft_->CmfadeI
|
2002-11-08 17:03:49 +00:00
|
|
|
|
|
|
|
// induced flow in slipstream impinging on tail
|
|
|
|
double w_induced;
|
2002-09-11 02:31:10 +00:00
|
|
|
#define w_induced aircraft_->w_induced
|
2002-11-08 17:03:49 +00:00
|
|
|
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
string Cmfdf;
|
|
|
|
double Cmfdf_dfArray[100];
|
|
|
|
double Cmfdf_CmArray[100];
|
|
|
|
int Cmfdf_ndf;
|
|
|
|
double CmfdfI;
|
|
|
|
#define Cmfdf aircraft_->Cmfdf
|
|
|
|
#define Cmfdf_dfArray aircraft_->Cmfdf_dfArray
|
|
|
|
#define Cmfdf_CmArray aircraft_->Cmfdf_CmArray
|
|
|
|
#define Cmfdf_ndf aircraft_->Cmfdf_ndf
|
|
|
|
#define CmfdfI aircraft_->CmfdfI
|
|
|
|
string Cmfadf;
|
|
|
|
double Cmfadf_aArray[100][100];
|
|
|
|
double Cmfadf_dfArray[100];
|
|
|
|
double Cmfadf_CmArray[100][100];
|
|
|
|
int Cmfadf_nAlphaArray[100];
|
|
|
|
int Cmfadf_ndf;
|
|
|
|
double CmfadfI;
|
|
|
|
#define Cmfadf aircraft_->Cmfadf
|
|
|
|
#define Cmfadf_aArray aircraft_->Cmfadf_aArray
|
|
|
|
#define Cmfadf_dfArray aircraft_->Cmfadf_dfArray
|
|
|
|
#define Cmfadf_CmArray aircraft_->Cmfadf_CmArray
|
|
|
|
#define Cmfadf_nAlphaArray aircraft_->Cmfadf_nAlphaArray
|
|
|
|
#define Cmfadf_ndf aircraft_->Cmfadf_ndf
|
|
|
|
#define CmfadfI aircraft_->CmfadfI
|
2002-04-01 21:37:33 +00:00
|
|
|
double Cmfabetaf_aArray[30][100][100];
|
|
|
|
double Cmfabetaf_betaArray[30][100];
|
|
|
|
double Cmfabetaf_CmArray[30][100][100];
|
|
|
|
int Cmfabetaf_nAlphaArray[30][100];
|
|
|
|
int Cmfabetaf_nbeta[30];
|
|
|
|
double Cmfabetaf_fArray[30];
|
|
|
|
int Cmfabetaf_nf;
|
|
|
|
double CmfabetafI;
|
|
|
|
int Cmfabetaf_nice, Cmfabetaf_na_nice, Cmfabetaf_nb_nice;
|
|
|
|
double Cmfabetaf_bArray_nice[100];
|
|
|
|
double Cmfabetaf_aArray_nice[100];
|
|
|
|
#define Cmfabetaf_aArray aircraft_->Cmfabetaf_aArray
|
|
|
|
#define Cmfabetaf_betaArray aircraft_->Cmfabetaf_betaArray
|
|
|
|
#define Cmfabetaf_CmArray aircraft_->Cmfabetaf_CmArray
|
|
|
|
#define Cmfabetaf_nAlphaArray aircraft_->Cmfabetaf_nAlphaArray
|
|
|
|
#define Cmfabetaf_nbeta aircraft_->Cmfabetaf_nbeta
|
|
|
|
#define Cmfabetaf_fArray aircraft_->Cmfabetaf_fArray
|
|
|
|
#define Cmfabetaf_nf aircraft_->Cmfabetaf_nf
|
|
|
|
#define CmfabetafI aircraft_->CmfabetafI
|
|
|
|
#define Cmfabetaf_nice aircraft_->Cmfabetaf_nice
|
|
|
|
#define Cmfabetaf_na_nice aircraft_->Cmfabetaf_na_nice
|
|
|
|
#define Cmfabetaf_nb_nice aircraft_->Cmfabetaf_nb_nice
|
|
|
|
#define Cmfabetaf_bArray_nice aircraft_->Cmfabetaf_bArray_nice
|
|
|
|
#define Cmfabetaf_aArray_nice aircraft_->Cmfabetaf_aArray_nice
|
|
|
|
double Cmfadef_aArray[30][100][100];
|
|
|
|
double Cmfadef_deArray[30][100];
|
|
|
|
double Cmfadef_CmArray[30][100][100];
|
|
|
|
int Cmfadef_nAlphaArray[30][100];
|
|
|
|
int Cmfadef_nde[30];
|
|
|
|
double Cmfadef_fArray[30];
|
|
|
|
int Cmfadef_nf;
|
|
|
|
double CmfadefI;
|
|
|
|
int Cmfadef_nice, Cmfadef_na_nice, Cmfadef_nde_nice;
|
|
|
|
double Cmfadef_deArray_nice[100];
|
|
|
|
double Cmfadef_aArray_nice[100];
|
|
|
|
#define Cmfadef_aArray aircraft_->Cmfadef_aArray
|
|
|
|
#define Cmfadef_deArray aircraft_->Cmfadef_deArray
|
|
|
|
#define Cmfadef_CmArray aircraft_->Cmfadef_CmArray
|
|
|
|
#define Cmfadef_nAlphaArray aircraft_->Cmfadef_nAlphaArray
|
|
|
|
#define Cmfadef_nde aircraft_->Cmfadef_nde
|
|
|
|
#define Cmfadef_fArray aircraft_->Cmfadef_fArray
|
|
|
|
#define Cmfadef_nf aircraft_->Cmfadef_nf
|
|
|
|
#define CmfadefI aircraft_->CmfadefI
|
|
|
|
#define Cmfadef_nice aircraft_->Cmfadef_nice
|
|
|
|
#define Cmfadef_na_nice aircraft_->Cmfadef_na_nice
|
|
|
|
#define Cmfadef_nde_nice aircraft_->Cmfadef_nde_nice
|
|
|
|
#define Cmfadef_deArray_nice aircraft_->Cmfadef_deArray_nice
|
|
|
|
#define Cmfadef_aArray_nice aircraft_->Cmfadef_aArray_nice
|
|
|
|
double Cmfaqf_aArray[30][100][100];
|
|
|
|
double Cmfaqf_qArray[30][100];
|
|
|
|
double Cmfaqf_CmArray[30][100][100];
|
|
|
|
int Cmfaqf_nAlphaArray[30][100];
|
|
|
|
int Cmfaqf_nq[30];
|
|
|
|
double Cmfaqf_fArray[30];
|
|
|
|
int Cmfaqf_nf;
|
|
|
|
double CmfaqfI;
|
|
|
|
int Cmfaqf_nice, Cmfaqf_na_nice, Cmfaqf_nq_nice;
|
|
|
|
double Cmfaqf_qArray_nice[100];
|
|
|
|
double Cmfaqf_aArray_nice[100];
|
|
|
|
#define Cmfaqf_aArray aircraft_->Cmfaqf_aArray
|
|
|
|
#define Cmfaqf_qArray aircraft_->Cmfaqf_qArray
|
|
|
|
#define Cmfaqf_CmArray aircraft_->Cmfaqf_CmArray
|
|
|
|
#define Cmfaqf_nAlphaArray aircraft_->Cmfaqf_nAlphaArray
|
|
|
|
#define Cmfaqf_nq aircraft_->Cmfaqf_nq
|
|
|
|
#define Cmfaqf_fArray aircraft_->Cmfaqf_fArray
|
|
|
|
#define Cmfaqf_nf aircraft_->Cmfaqf_nf
|
|
|
|
#define CmfaqfI aircraft_->CmfaqfI
|
|
|
|
#define Cmfaqf_nice aircraft_->Cmfaqf_nice
|
|
|
|
#define Cmfaqf_na_nice aircraft_->Cmfaqf_na_nice
|
|
|
|
#define Cmfaqf_nq_nice aircraft_->Cmfaqf_nq_nice
|
|
|
|
#define Cmfaqf_qArray_nice aircraft_->Cmfaqf_qArray_nice
|
|
|
|
#define Cmfaqf_aArray_nice aircraft_->Cmfaqf_aArray_nice
|
|
|
|
double Cmo_save, Cm_a_save, Cm_a2_save, Cm_adot_save, Cm_q_save, Cm_ih_save;
|
2003-05-13 18:45:04 +00:00
|
|
|
double Cm_de_save, Cm_b2_save, Cm_r_save;
|
|
|
|
double Cm_df_save, Cm_ds_save, Cm_dg_save;
|
2002-04-01 21:37:33 +00:00
|
|
|
#define Cmo_save aircraft_->Cmo_save
|
|
|
|
#define Cm_a_save aircraft_->Cm_a_save
|
|
|
|
#define Cm_a2_save aircraft_->Cm_a2_save
|
|
|
|
#define Cm_adot_save aircraft_->Cm_adot_save
|
|
|
|
#define Cm_q_save aircraft_->Cm_q_save
|
|
|
|
#define Cm_ih_save aircraft_->Cm_ih_save
|
|
|
|
#define Cm_de_save aircraft_->Cm_de_save
|
|
|
|
#define Cm_b2_save aircraft_->Cm_b2_save
|
|
|
|
#define Cm_r_save aircraft_->Cm_r_save
|
|
|
|
#define Cm_df_save aircraft_->Cm_df_save
|
2003-05-13 18:45:04 +00:00
|
|
|
#define Cm_ds_save aircraft_->Cm_ds_save
|
|
|
|
#define Cm_dg_save aircraft_->Cm_dg_save
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* CY ============ Aerodynamic y-force quantities (lateral) =====*/
|
|
|
|
|
|
|
|
map <string,int> CY_map;
|
|
|
|
#define CY_map aircraft_->CY_map
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
double CYo, CY_beta, CY_p, CY_r, CY_da, CY_dr, CY_dra, CY_bdot;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define CYo aircraft_->CYo
|
|
|
|
#define CY_beta aircraft_->CY_beta
|
|
|
|
#define CY_p aircraft_->CY_p
|
|
|
|
#define CY_r aircraft_->CY_r
|
|
|
|
#define CY_da aircraft_->CY_da
|
|
|
|
#define CY_dr aircraft_->CY_dr
|
2000-09-06 19:52:37 +00:00
|
|
|
#define CY_dra aircraft_->CY_dra
|
|
|
|
#define CY_bdot aircraft_->CY_bdot
|
2000-03-22 22:01:33 +00:00
|
|
|
string CYfada;
|
|
|
|
double CYfada_aArray[100][100];
|
|
|
|
double CYfada_daArray[100];
|
|
|
|
double CYfada_CYArray[100][100];
|
|
|
|
int CYfada_nAlphaArray[100];
|
|
|
|
int CYfada_nda;
|
|
|
|
double CYfadaI;
|
|
|
|
#define CYfada aircraft_->CYfada
|
|
|
|
#define CYfada_aArray aircraft_->CYfada_aArray
|
|
|
|
#define CYfada_daArray aircraft_->CYfada_daArray
|
|
|
|
#define CYfada_CYArray aircraft_->CYfada_CYArray
|
|
|
|
#define CYfada_nAlphaArray aircraft_->CYfada_nAlphaArray
|
|
|
|
#define CYfada_nda aircraft_->CYfada_nda
|
|
|
|
#define CYfadaI aircraft_->CYfadaI
|
|
|
|
string CYfbetadr;
|
|
|
|
double CYfbetadr_betaArray[100][100];
|
|
|
|
double CYfbetadr_drArray[100];
|
|
|
|
double CYfbetadr_CYArray[100][100];
|
|
|
|
int CYfbetadr_nBetaArray[100];
|
|
|
|
int CYfbetadr_ndr;
|
|
|
|
double CYfbetadrI;
|
|
|
|
#define CYfbetadr aircraft_->CYfbetadr
|
|
|
|
#define CYfbetadr_betaArray aircraft_->CYfbetadr_betaArray
|
|
|
|
#define CYfbetadr_drArray aircraft_->CYfbetadr_drArray
|
|
|
|
#define CYfbetadr_CYArray aircraft_->CYfbetadr_CYArray
|
|
|
|
#define CYfbetadr_nBetaArray aircraft_->CYfbetadr_nBetaArray
|
|
|
|
#define CYfbetadr_ndr aircraft_->CYfbetadr_ndr
|
|
|
|
#define CYfbetadrI aircraft_->CYfbetadrI
|
2002-04-01 21:37:33 +00:00
|
|
|
double CYfabetaf_aArray[30][100][100];
|
|
|
|
double CYfabetaf_betaArray[30][100];
|
|
|
|
double CYfabetaf_CYArray[30][100][100];
|
|
|
|
int CYfabetaf_nAlphaArray[30][100];
|
|
|
|
int CYfabetaf_nbeta[30];
|
|
|
|
double CYfabetaf_fArray[30];
|
|
|
|
int CYfabetaf_nf;
|
|
|
|
double CYfabetafI;
|
|
|
|
int CYfabetaf_nice, CYfabetaf_na_nice, CYfabetaf_nb_nice;
|
|
|
|
double CYfabetaf_bArray_nice[100];
|
|
|
|
double CYfabetaf_aArray_nice[100];
|
|
|
|
#define CYfabetaf_aArray aircraft_->CYfabetaf_aArray
|
|
|
|
#define CYfabetaf_betaArray aircraft_->CYfabetaf_betaArray
|
|
|
|
#define CYfabetaf_CYArray aircraft_->CYfabetaf_CYArray
|
|
|
|
#define CYfabetaf_nAlphaArray aircraft_->CYfabetaf_nAlphaArray
|
|
|
|
#define CYfabetaf_nbeta aircraft_->CYfabetaf_nbeta
|
|
|
|
#define CYfabetaf_fArray aircraft_->CYfabetaf_fArray
|
|
|
|
#define CYfabetaf_nf aircraft_->CYfabetaf_nf
|
|
|
|
#define CYfabetafI aircraft_->CYfabetafI
|
|
|
|
#define CYfabetaf_nice aircraft_->CYfabetaf_nice
|
|
|
|
#define CYfabetaf_na_nice aircraft_->CYfabetaf_na_nice
|
|
|
|
#define CYfabetaf_nb_nice aircraft_->CYfabetaf_nb_nice
|
|
|
|
#define CYfabetaf_bArray_nice aircraft_->CYfabetaf_bArray_nice
|
|
|
|
#define CYfabetaf_aArray_nice aircraft_->CYfabetaf_aArray_nice
|
|
|
|
double CYfadaf_aArray[30][100][100];
|
|
|
|
double CYfadaf_daArray[30][100];
|
|
|
|
double CYfadaf_CYArray[30][100][100];
|
|
|
|
int CYfadaf_nAlphaArray[30][100];
|
|
|
|
int CYfadaf_nda[30];
|
|
|
|
double CYfadaf_fArray[30];
|
|
|
|
int CYfadaf_nf;
|
|
|
|
double CYfadafI;
|
|
|
|
int CYfadaf_nice, CYfadaf_na_nice, CYfadaf_nda_nice;
|
|
|
|
double CYfadaf_daArray_nice[100];
|
|
|
|
double CYfadaf_aArray_nice[100];
|
|
|
|
#define CYfadaf_aArray aircraft_->CYfadaf_aArray
|
|
|
|
#define CYfadaf_daArray aircraft_->CYfadaf_daArray
|
|
|
|
#define CYfadaf_CYArray aircraft_->CYfadaf_CYArray
|
|
|
|
#define CYfadaf_nAlphaArray aircraft_->CYfadaf_nAlphaArray
|
|
|
|
#define CYfadaf_nda aircraft_->CYfadaf_nda
|
|
|
|
#define CYfadaf_fArray aircraft_->CYfadaf_fArray
|
|
|
|
#define CYfadaf_nf aircraft_->CYfadaf_nf
|
|
|
|
#define CYfadafI aircraft_->CYfadafI
|
|
|
|
#define CYfadaf_nice aircraft_->CYfadaf_nice
|
|
|
|
#define CYfadaf_na_nice aircraft_->CYfadaf_na_nice
|
|
|
|
#define CYfadaf_nda_nice aircraft_->CYfadaf_nda_nice
|
|
|
|
#define CYfadaf_daArray_nice aircraft_->CYfadaf_daArray_nice
|
|
|
|
#define CYfadaf_aArray_nice aircraft_->CYfadaf_aArray_nice
|
|
|
|
double CYfadrf_aArray[30][100][100];
|
|
|
|
double CYfadrf_drArray[30][100];
|
|
|
|
double CYfadrf_CYArray[30][100][100];
|
|
|
|
int CYfadrf_nAlphaArray[30][100];
|
|
|
|
int CYfadrf_ndr[30];
|
|
|
|
double CYfadrf_fArray[30];
|
|
|
|
int CYfadrf_nf;
|
|
|
|
double CYfadrfI;
|
|
|
|
int CYfadrf_nice, CYfadrf_na_nice, CYfadrf_ndr_nice;
|
|
|
|
double CYfadrf_drArray_nice[100];
|
|
|
|
double CYfadrf_aArray_nice[100];
|
|
|
|
#define CYfadrf_aArray aircraft_->CYfadrf_aArray
|
|
|
|
#define CYfadrf_drArray aircraft_->CYfadrf_drArray
|
|
|
|
#define CYfadrf_CYArray aircraft_->CYfadrf_CYArray
|
|
|
|
#define CYfadrf_nAlphaArray aircraft_->CYfadrf_nAlphaArray
|
|
|
|
#define CYfadrf_ndr aircraft_->CYfadrf_ndr
|
|
|
|
#define CYfadrf_fArray aircraft_->CYfadrf_fArray
|
|
|
|
#define CYfadrf_nf aircraft_->CYfadrf_nf
|
|
|
|
#define CYfadrfI aircraft_->CYfadrfI
|
|
|
|
#define CYfadrf_nice aircraft_->CYfadrf_nice
|
|
|
|
#define CYfadrf_na_nice aircraft_->CYfadrf_na_nice
|
|
|
|
#define CYfadrf_ndr_nice aircraft_->CYfadrf_ndr_nice
|
|
|
|
#define CYfadrf_drArray_nice aircraft_->CYfadrf_drArray_nice
|
|
|
|
#define CYfadrf_aArray_nice aircraft_->CYfadrf_aArray_nice
|
|
|
|
double CYfapf_aArray[30][100][100];
|
|
|
|
double CYfapf_pArray[30][100];
|
|
|
|
double CYfapf_CYArray[30][100][100];
|
|
|
|
int CYfapf_nAlphaArray[30][100];
|
|
|
|
int CYfapf_np[30];
|
|
|
|
double CYfapf_fArray[30];
|
|
|
|
int CYfapf_nf;
|
|
|
|
double CYfapfI;
|
|
|
|
int CYfapf_nice, CYfapf_na_nice, CYfapf_np_nice;
|
|
|
|
double CYfapf_pArray_nice[100];
|
|
|
|
double CYfapf_aArray_nice[100];
|
|
|
|
#define CYfapf_aArray aircraft_->CYfapf_aArray
|
|
|
|
#define CYfapf_pArray aircraft_->CYfapf_pArray
|
|
|
|
#define CYfapf_CYArray aircraft_->CYfapf_CYArray
|
|
|
|
#define CYfapf_nAlphaArray aircraft_->CYfapf_nAlphaArray
|
|
|
|
#define CYfapf_np aircraft_->CYfapf_np
|
|
|
|
#define CYfapf_fArray aircraft_->CYfapf_fArray
|
|
|
|
#define CYfapf_nf aircraft_->CYfapf_nf
|
|
|
|
#define CYfapfI aircraft_->CYfapfI
|
|
|
|
#define CYfapf_nice aircraft_->CYfapf_nice
|
|
|
|
#define CYfapf_na_nice aircraft_->CYfapf_na_nice
|
|
|
|
#define CYfapf_np_nice aircraft_->CYfapf_np_nice
|
|
|
|
#define CYfapf_pArray_nice aircraft_->CYfapf_pArray_nice
|
|
|
|
#define CYfapf_aArray_nice aircraft_->CYfapf_aArray_nice
|
|
|
|
double CYfarf_aArray[30][100][100];
|
|
|
|
double CYfarf_rArray[30][100];
|
|
|
|
double CYfarf_CYArray[30][100][100];
|
|
|
|
int CYfarf_nAlphaArray[30][100];
|
|
|
|
int CYfarf_nr[30];
|
|
|
|
double CYfarf_fArray[30];
|
|
|
|
int CYfarf_nf;
|
|
|
|
double CYfarfI;
|
|
|
|
int CYfarf_nice, CYfarf_na_nice, CYfarf_nr_nice;
|
|
|
|
double CYfarf_rArray_nice[100];
|
|
|
|
double CYfarf_aArray_nice[100];
|
|
|
|
#define CYfarf_aArray aircraft_->CYfarf_aArray
|
|
|
|
#define CYfarf_rArray aircraft_->CYfarf_rArray
|
|
|
|
#define CYfarf_CYArray aircraft_->CYfarf_CYArray
|
|
|
|
#define CYfarf_nAlphaArray aircraft_->CYfarf_nAlphaArray
|
|
|
|
#define CYfarf_nr aircraft_->CYfarf_nr
|
|
|
|
#define CYfarf_fArray aircraft_->CYfarf_fArray
|
|
|
|
#define CYfarf_nf aircraft_->CYfarf_nf
|
|
|
|
#define CYfarfI aircraft_->CYfarfI
|
|
|
|
#define CYfarf_nice aircraft_->CYfarf_nice
|
|
|
|
#define CYfarf_na_nice aircraft_->CYfarf_na_nice
|
|
|
|
#define CYfarf_nr_nice aircraft_->CYfarf_nr_nice
|
|
|
|
#define CYfarf_rArray_nice aircraft_->CYfarf_rArray_nice
|
|
|
|
#define CYfarf_aArray_nice aircraft_->CYfarf_aArray_nice
|
|
|
|
double CYo_save, CY_beta_save, CY_p_save, CY_r_save, CY_da_save, CY_dr_save;
|
|
|
|
double CY_dra_save, CY_bdot_save;
|
|
|
|
#define CYo_save aircraft_->CYo_save
|
|
|
|
#define CY_beta_save aircraft_->CY_beta_save
|
|
|
|
#define CY_p_save aircraft_->CY_p_save
|
|
|
|
#define CY_r_save aircraft_->CY_r_save
|
|
|
|
#define CY_da_save aircraft_->CY_da_save
|
|
|
|
#define CY_dr_save aircraft_->CY_dr_save
|
|
|
|
#define CY_dra_save aircraft_->CY_dra_save
|
|
|
|
#define CY_bdot_save aircraft_->CY_bdot_save
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* Cl ============ Aerodynamic l-moment quantities (lateral) ====*/
|
|
|
|
|
|
|
|
map <string,int> Cl_map;
|
|
|
|
#define Cl_map aircraft_->Cl_map
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
double Clo, Cl_beta, Cl_p, Cl_r, Cl_da, Cl_dr, Cl_daa;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define Clo aircraft_->Clo
|
|
|
|
#define Cl_beta aircraft_->Cl_beta
|
|
|
|
#define Cl_p aircraft_->Cl_p
|
|
|
|
#define Cl_r aircraft_->Cl_r
|
|
|
|
#define Cl_da aircraft_->Cl_da
|
|
|
|
#define Cl_dr aircraft_->Cl_dr
|
2000-09-06 19:52:37 +00:00
|
|
|
#define Cl_daa aircraft_->Cl_daa
|
2000-03-22 22:01:33 +00:00
|
|
|
string Clfada;
|
|
|
|
double Clfada_aArray[100][100];
|
|
|
|
double Clfada_daArray[100];
|
|
|
|
double Clfada_ClArray[100][100];
|
|
|
|
int Clfada_nAlphaArray[100];
|
|
|
|
int Clfada_nda;
|
|
|
|
double ClfadaI;
|
|
|
|
#define Clfada aircraft_->Clfada
|
|
|
|
#define Clfada_aArray aircraft_->Clfada_aArray
|
|
|
|
#define Clfada_daArray aircraft_->Clfada_daArray
|
|
|
|
#define Clfada_ClArray aircraft_->Clfada_ClArray
|
|
|
|
#define Clfada_nAlphaArray aircraft_->Clfada_nAlphaArray
|
|
|
|
#define Clfada_nda aircraft_->Clfada_nda
|
|
|
|
#define ClfadaI aircraft_->ClfadaI
|
|
|
|
string Clfbetadr;
|
|
|
|
double Clfbetadr_betaArray[100][100];
|
|
|
|
double Clfbetadr_drArray[100];
|
|
|
|
double Clfbetadr_ClArray[100][100];
|
|
|
|
int Clfbetadr_nBetaArray[100];
|
|
|
|
int Clfbetadr_ndr;
|
|
|
|
double ClfbetadrI;
|
|
|
|
#define Clfbetadr aircraft_->Clfbetadr
|
|
|
|
#define Clfbetadr_betaArray aircraft_->Clfbetadr_betaArray
|
|
|
|
#define Clfbetadr_drArray aircraft_->Clfbetadr_drArray
|
|
|
|
#define Clfbetadr_ClArray aircraft_->Clfbetadr_ClArray
|
|
|
|
#define Clfbetadr_nBetaArray aircraft_->Clfbetadr_nBetaArray
|
|
|
|
#define Clfbetadr_ndr aircraft_->Clfbetadr_ndr
|
|
|
|
#define ClfbetadrI aircraft_->ClfbetadrI
|
2002-04-01 21:37:33 +00:00
|
|
|
double Clfabetaf_aArray[30][100][100];
|
|
|
|
double Clfabetaf_betaArray[30][100];
|
|
|
|
double Clfabetaf_ClArray[30][100][100];
|
|
|
|
int Clfabetaf_nAlphaArray[30][100];
|
|
|
|
int Clfabetaf_nbeta[30];
|
|
|
|
double Clfabetaf_fArray[30];
|
|
|
|
int Clfabetaf_nf;
|
|
|
|
double ClfabetafI;
|
|
|
|
int Clfabetaf_nice, Clfabetaf_na_nice, Clfabetaf_nb_nice;
|
|
|
|
double Clfabetaf_bArray_nice[100];
|
|
|
|
double Clfabetaf_aArray_nice[100];
|
|
|
|
#define Clfabetaf_aArray aircraft_->Clfabetaf_aArray
|
|
|
|
#define Clfabetaf_betaArray aircraft_->Clfabetaf_betaArray
|
|
|
|
#define Clfabetaf_ClArray aircraft_->Clfabetaf_ClArray
|
|
|
|
#define Clfabetaf_nAlphaArray aircraft_->Clfabetaf_nAlphaArray
|
|
|
|
#define Clfabetaf_nbeta aircraft_->Clfabetaf_nbeta
|
|
|
|
#define Clfabetaf_fArray aircraft_->Clfabetaf_fArray
|
|
|
|
#define Clfabetaf_nf aircraft_->Clfabetaf_nf
|
|
|
|
#define ClfabetafI aircraft_->ClfabetafI
|
|
|
|
#define Clfabetaf_nice aircraft_->Clfabetaf_nice
|
|
|
|
#define Clfabetaf_na_nice aircraft_->Clfabetaf_na_nice
|
|
|
|
#define Clfabetaf_nb_nice aircraft_->Clfabetaf_nb_nice
|
|
|
|
#define Clfabetaf_bArray_nice aircraft_->Clfabetaf_bArray_nice
|
|
|
|
#define Clfabetaf_aArray_nice aircraft_->Clfabetaf_aArray_nice
|
|
|
|
double Clfadaf_aArray[30][100][100];
|
|
|
|
double Clfadaf_daArray[30][100];
|
|
|
|
double Clfadaf_ClArray[30][100][100];
|
|
|
|
int Clfadaf_nAlphaArray[30][100];
|
|
|
|
int Clfadaf_nda[30];
|
|
|
|
double Clfadaf_fArray[30];
|
|
|
|
int Clfadaf_nf;
|
|
|
|
double ClfadafI;
|
|
|
|
int Clfadaf_nice, Clfadaf_na_nice, Clfadaf_nda_nice;
|
|
|
|
double Clfadaf_daArray_nice[100];
|
|
|
|
double Clfadaf_aArray_nice[100];
|
|
|
|
#define Clfadaf_aArray aircraft_->Clfadaf_aArray
|
|
|
|
#define Clfadaf_daArray aircraft_->Clfadaf_daArray
|
|
|
|
#define Clfadaf_ClArray aircraft_->Clfadaf_ClArray
|
|
|
|
#define Clfadaf_nAlphaArray aircraft_->Clfadaf_nAlphaArray
|
|
|
|
#define Clfadaf_nda aircraft_->Clfadaf_nda
|
|
|
|
#define Clfadaf_fArray aircraft_->Clfadaf_fArray
|
|
|
|
#define Clfadaf_nf aircraft_->Clfadaf_nf
|
|
|
|
#define ClfadafI aircraft_->ClfadafI
|
|
|
|
#define Clfadaf_nice aircraft_->Clfadaf_nice
|
|
|
|
#define Clfadaf_na_nice aircraft_->Clfadaf_na_nice
|
|
|
|
#define Clfadaf_nda_nice aircraft_->Clfadaf_nda_nice
|
|
|
|
#define Clfadaf_daArray_nice aircraft_->Clfadaf_daArray_nice
|
|
|
|
#define Clfadaf_aArray_nice aircraft_->Clfadaf_aArray_nice
|
|
|
|
double Clfadrf_aArray[30][100][100];
|
|
|
|
double Clfadrf_drArray[30][100];
|
|
|
|
double Clfadrf_ClArray[30][100][100];
|
|
|
|
int Clfadrf_nAlphaArray[30][100];
|
|
|
|
int Clfadrf_ndr[30];
|
|
|
|
double Clfadrf_fArray[30];
|
|
|
|
int Clfadrf_nf;
|
|
|
|
double ClfadrfI;
|
|
|
|
int Clfadrf_nice, Clfadrf_na_nice, Clfadrf_ndr_nice;
|
|
|
|
double Clfadrf_drArray_nice[100];
|
|
|
|
double Clfadrf_aArray_nice[100];
|
|
|
|
#define Clfadrf_aArray aircraft_->Clfadrf_aArray
|
|
|
|
#define Clfadrf_drArray aircraft_->Clfadrf_drArray
|
|
|
|
#define Clfadrf_ClArray aircraft_->Clfadrf_ClArray
|
|
|
|
#define Clfadrf_nAlphaArray aircraft_->Clfadrf_nAlphaArray
|
|
|
|
#define Clfadrf_ndr aircraft_->Clfadrf_ndr
|
|
|
|
#define Clfadrf_fArray aircraft_->Clfadrf_fArray
|
|
|
|
#define Clfadrf_nf aircraft_->Clfadrf_nf
|
|
|
|
#define ClfadrfI aircraft_->ClfadrfI
|
|
|
|
#define Clfadrf_nice aircraft_->Clfadrf_nice
|
|
|
|
#define Clfadrf_na_nice aircraft_->Clfadrf_na_nice
|
|
|
|
#define Clfadrf_ndr_nice aircraft_->Clfadrf_ndr_nice
|
|
|
|
#define Clfadrf_drArray_nice aircraft_->Clfadrf_drArray_nice
|
|
|
|
#define Clfadrf_aArray_nice aircraft_->Clfadrf_aArray_nice
|
|
|
|
double Clfapf_aArray[30][100][100];
|
|
|
|
double Clfapf_pArray[30][100];
|
|
|
|
double Clfapf_ClArray[30][100][100];
|
|
|
|
int Clfapf_nAlphaArray[30][100];
|
|
|
|
int Clfapf_np[30];
|
|
|
|
double Clfapf_fArray[30];
|
|
|
|
int Clfapf_nf;
|
|
|
|
double ClfapfI;
|
|
|
|
int Clfapf_nice, Clfapf_na_nice, Clfapf_np_nice;
|
|
|
|
double Clfapf_pArray_nice[100];
|
|
|
|
double Clfapf_aArray_nice[100];
|
|
|
|
#define Clfapf_aArray aircraft_->Clfapf_aArray
|
|
|
|
#define Clfapf_pArray aircraft_->Clfapf_pArray
|
|
|
|
#define Clfapf_ClArray aircraft_->Clfapf_ClArray
|
|
|
|
#define Clfapf_nAlphaArray aircraft_->Clfapf_nAlphaArray
|
|
|
|
#define Clfapf_np aircraft_->Clfapf_np
|
|
|
|
#define Clfapf_fArray aircraft_->Clfapf_fArray
|
|
|
|
#define Clfapf_nf aircraft_->Clfapf_nf
|
|
|
|
#define ClfapfI aircraft_->ClfapfI
|
|
|
|
#define Clfapf_nice aircraft_->Clfapf_nice
|
|
|
|
#define Clfapf_na_nice aircraft_->Clfapf_na_nice
|
|
|
|
#define Clfapf_np_nice aircraft_->Clfapf_np_nice
|
|
|
|
#define Clfapf_pArray_nice aircraft_->Clfapf_pArray_nice
|
|
|
|
#define Clfapf_aArray_nice aircraft_->Clfapf_aArray_nice
|
|
|
|
double Clfarf_aArray[30][100][100];
|
|
|
|
double Clfarf_rArray[30][100];
|
|
|
|
double Clfarf_ClArray[30][100][100];
|
|
|
|
int Clfarf_nAlphaArray[30][100];
|
|
|
|
int Clfarf_nr[30];
|
|
|
|
double Clfarf_fArray[30];
|
|
|
|
int Clfarf_nf;
|
|
|
|
double ClfarfI;
|
|
|
|
int Clfarf_nice, Clfarf_na_nice, Clfarf_nr_nice;
|
|
|
|
double Clfarf_rArray_nice[100];
|
|
|
|
double Clfarf_aArray_nice[100];
|
|
|
|
#define Clfarf_aArray aircraft_->Clfarf_aArray
|
|
|
|
#define Clfarf_rArray aircraft_->Clfarf_rArray
|
|
|
|
#define Clfarf_ClArray aircraft_->Clfarf_ClArray
|
|
|
|
#define Clfarf_nAlphaArray aircraft_->Clfarf_nAlphaArray
|
|
|
|
#define Clfarf_nr aircraft_->Clfarf_nr
|
|
|
|
#define Clfarf_fArray aircraft_->Clfarf_fArray
|
|
|
|
#define Clfarf_nf aircraft_->Clfarf_nf
|
|
|
|
#define ClfarfI aircraft_->ClfarfI
|
|
|
|
#define Clfarf_nice aircraft_->Clfarf_nice
|
|
|
|
#define Clfarf_na_nice aircraft_->Clfarf_na_nice
|
|
|
|
#define Clfarf_nr_nice aircraft_->Clfarf_nr_nice
|
|
|
|
#define Clfarf_rArray_nice aircraft_->Clfarf_rArray_nice
|
|
|
|
#define Clfarf_aArray_nice aircraft_->Clfarf_aArray_nice
|
|
|
|
double Clo_save, Cl_beta_save, Cl_p_save, Cl_r_save, Cl_da_save;
|
|
|
|
double Cl_dr_save, Cl_daa_save;
|
|
|
|
#define Clo_save aircraft_->Clo_save
|
|
|
|
#define Cl_beta_save aircraft_->Cl_beta_save
|
|
|
|
#define Cl_p_save aircraft_->Cl_p_save
|
|
|
|
#define Cl_r_save aircraft_->Cl_r_save
|
|
|
|
#define Cl_da_save aircraft_->Cl_da_save
|
|
|
|
#define Cl_dr_save aircraft_->Cl_dr_save
|
|
|
|
#define Cl_daa_save aircraft_->Cl_daa_save
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* Cn ============ Aerodynamic n-moment quantities (lateral) ====*/
|
|
|
|
|
|
|
|
map <string,int> Cn_map;
|
|
|
|
#define Cn_map aircraft_->Cn_map
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
double Cno, Cn_beta, Cn_p, Cn_r, Cn_da, Cn_dr, Cn_q, Cn_b3;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define Cno aircraft_->Cno
|
|
|
|
#define Cn_beta aircraft_->Cn_beta
|
|
|
|
#define Cn_p aircraft_->Cn_p
|
|
|
|
#define Cn_r aircraft_->Cn_r
|
|
|
|
#define Cn_da aircraft_->Cn_da
|
|
|
|
#define Cn_dr aircraft_->Cn_dr
|
2000-09-06 19:52:37 +00:00
|
|
|
#define Cn_q aircraft_->Cn_q
|
|
|
|
#define Cn_b3 aircraft_->Cn_b3
|
2000-03-22 22:01:33 +00:00
|
|
|
string Cnfada;
|
|
|
|
double Cnfada_aArray[100][100];
|
|
|
|
double Cnfada_daArray[100];
|
|
|
|
double Cnfada_CnArray[100][100];
|
|
|
|
int Cnfada_nAlphaArray[100];
|
|
|
|
int Cnfada_nda;
|
|
|
|
double CnfadaI;
|
|
|
|
#define Cnfada aircraft_->Cnfada
|
|
|
|
#define Cnfada_aArray aircraft_->Cnfada_aArray
|
|
|
|
#define Cnfada_daArray aircraft_->Cnfada_daArray
|
|
|
|
#define Cnfada_CnArray aircraft_->Cnfada_CnArray
|
|
|
|
#define Cnfada_nAlphaArray aircraft_->Cnfada_nAlphaArray
|
|
|
|
#define Cnfada_nda aircraft_->Cnfada_nda
|
|
|
|
#define CnfadaI aircraft_->CnfadaI
|
|
|
|
string Cnfbetadr;
|
|
|
|
double Cnfbetadr_betaArray[100][100];
|
|
|
|
double Cnfbetadr_drArray[100];
|
|
|
|
double Cnfbetadr_CnArray[100][100];
|
|
|
|
int Cnfbetadr_nBetaArray[100];
|
|
|
|
int Cnfbetadr_ndr;
|
|
|
|
double CnfbetadrI;
|
|
|
|
#define Cnfbetadr aircraft_->Cnfbetadr
|
|
|
|
#define Cnfbetadr_betaArray aircraft_->Cnfbetadr_betaArray
|
|
|
|
#define Cnfbetadr_drArray aircraft_->Cnfbetadr_drArray
|
|
|
|
#define Cnfbetadr_CnArray aircraft_->Cnfbetadr_CnArray
|
|
|
|
#define Cnfbetadr_nBetaArray aircraft_->Cnfbetadr_nBetaArray
|
|
|
|
#define Cnfbetadr_ndr aircraft_->Cnfbetadr_ndr
|
|
|
|
#define CnfbetadrI aircraft_->CnfbetadrI
|
2002-04-01 21:37:33 +00:00
|
|
|
double Cnfabetaf_aArray[30][100][100];
|
|
|
|
double Cnfabetaf_betaArray[30][100];
|
|
|
|
double Cnfabetaf_CnArray[30][100][100];
|
|
|
|
int Cnfabetaf_nAlphaArray[30][100];
|
|
|
|
int Cnfabetaf_nbeta[30];
|
|
|
|
double Cnfabetaf_fArray[30];
|
|
|
|
int Cnfabetaf_nf;
|
|
|
|
double CnfabetafI;
|
|
|
|
int Cnfabetaf_nice, Cnfabetaf_na_nice, Cnfabetaf_nb_nice;
|
|
|
|
double Cnfabetaf_bArray_nice[100];
|
|
|
|
double Cnfabetaf_aArray_nice[100];
|
|
|
|
#define Cnfabetaf_aArray aircraft_->Cnfabetaf_aArray
|
|
|
|
#define Cnfabetaf_betaArray aircraft_->Cnfabetaf_betaArray
|
|
|
|
#define Cnfabetaf_CnArray aircraft_->Cnfabetaf_CnArray
|
|
|
|
#define Cnfabetaf_nAlphaArray aircraft_->Cnfabetaf_nAlphaArray
|
|
|
|
#define Cnfabetaf_nbeta aircraft_->Cnfabetaf_nbeta
|
|
|
|
#define Cnfabetaf_fArray aircraft_->Cnfabetaf_fArray
|
|
|
|
#define Cnfabetaf_nf aircraft_->Cnfabetaf_nf
|
|
|
|
#define CnfabetafI aircraft_->CnfabetafI
|
|
|
|
#define Cnfabetaf_nice aircraft_->Cnfabetaf_nice
|
|
|
|
#define Cnfabetaf_na_nice aircraft_->Cnfabetaf_na_nice
|
|
|
|
#define Cnfabetaf_nb_nice aircraft_->Cnfabetaf_nb_nice
|
|
|
|
#define Cnfabetaf_bArray_nice aircraft_->Cnfabetaf_bArray_nice
|
|
|
|
#define Cnfabetaf_aArray_nice aircraft_->Cnfabetaf_aArray_nice
|
|
|
|
double Cnfadaf_aArray[30][100][100];
|
|
|
|
double Cnfadaf_daArray[30][100];
|
|
|
|
double Cnfadaf_CnArray[30][100][100];
|
|
|
|
int Cnfadaf_nAlphaArray[30][100];
|
|
|
|
int Cnfadaf_nda[30];
|
|
|
|
double Cnfadaf_fArray[30];
|
|
|
|
int Cnfadaf_nf;
|
|
|
|
double CnfadafI;
|
|
|
|
int Cnfadaf_nice, Cnfadaf_na_nice, Cnfadaf_nda_nice;
|
|
|
|
double Cnfadaf_daArray_nice[100];
|
|
|
|
double Cnfadaf_aArray_nice[100];
|
|
|
|
#define Cnfadaf_aArray aircraft_->Cnfadaf_aArray
|
|
|
|
#define Cnfadaf_daArray aircraft_->Cnfadaf_daArray
|
|
|
|
#define Cnfadaf_CnArray aircraft_->Cnfadaf_CnArray
|
|
|
|
#define Cnfadaf_nAlphaArray aircraft_->Cnfadaf_nAlphaArray
|
|
|
|
#define Cnfadaf_nda aircraft_->Cnfadaf_nda
|
|
|
|
#define Cnfadaf_fArray aircraft_->Cnfadaf_fArray
|
|
|
|
#define Cnfadaf_nf aircraft_->Cnfadaf_nf
|
|
|
|
#define CnfadafI aircraft_->CnfadafI
|
|
|
|
#define Cnfadaf_nice aircraft_->Cnfadaf_nice
|
|
|
|
#define Cnfadaf_na_nice aircraft_->Cnfadaf_na_nice
|
|
|
|
#define Cnfadaf_nda_nice aircraft_->Cnfadaf_nda_nice
|
|
|
|
#define Cnfadaf_daArray_nice aircraft_->Cnfadaf_daArray_nice
|
|
|
|
#define Cnfadaf_aArray_nice aircraft_->Cnfadaf_aArray_nice
|
|
|
|
double Cnfadrf_aArray[30][100][100];
|
|
|
|
double Cnfadrf_drArray[30][100];
|
|
|
|
double Cnfadrf_CnArray[30][100][100];
|
|
|
|
int Cnfadrf_nAlphaArray[30][100];
|
|
|
|
int Cnfadrf_ndr[30];
|
|
|
|
double Cnfadrf_fArray[30];
|
|
|
|
int Cnfadrf_nf;
|
|
|
|
double CnfadrfI;
|
|
|
|
int Cnfadrf_nice, Cnfadrf_na_nice, Cnfadrf_ndr_nice;
|
|
|
|
double Cnfadrf_drArray_nice[100];
|
|
|
|
double Cnfadrf_aArray_nice[100];
|
|
|
|
#define Cnfadrf_aArray aircraft_->Cnfadrf_aArray
|
|
|
|
#define Cnfadrf_drArray aircraft_->Cnfadrf_drArray
|
|
|
|
#define Cnfadrf_CnArray aircraft_->Cnfadrf_CnArray
|
|
|
|
#define Cnfadrf_nAlphaArray aircraft_->Cnfadrf_nAlphaArray
|
|
|
|
#define Cnfadrf_ndr aircraft_->Cnfadrf_ndr
|
|
|
|
#define Cnfadrf_fArray aircraft_->Cnfadrf_fArray
|
|
|
|
#define Cnfadrf_nf aircraft_->Cnfadrf_nf
|
|
|
|
#define CnfadrfI aircraft_->CnfadrfI
|
|
|
|
#define Cnfadrf_nice aircraft_->Cnfadrf_nice
|
|
|
|
#define Cnfadrf_na_nice aircraft_->Cnfadrf_na_nice
|
|
|
|
#define Cnfadrf_ndr_nice aircraft_->Cnfadrf_ndr_nice
|
|
|
|
#define Cnfadrf_drArray_nice aircraft_->Cnfadrf_drArray_nice
|
|
|
|
#define Cnfadrf_aArray_nice aircraft_->Cnfadrf_aArray_nice
|
|
|
|
double Cnfapf_aArray[30][100][100];
|
|
|
|
double Cnfapf_pArray[30][100];
|
|
|
|
double Cnfapf_CnArray[30][100][100];
|
|
|
|
int Cnfapf_nAlphaArray[30][100];
|
|
|
|
int Cnfapf_np[30];
|
|
|
|
double Cnfapf_fArray[30];
|
|
|
|
int Cnfapf_nf;
|
|
|
|
double CnfapfI;
|
|
|
|
int Cnfapf_nice, Cnfapf_na_nice, Cnfapf_np_nice;
|
|
|
|
double Cnfapf_pArray_nice[100];
|
|
|
|
double Cnfapf_aArray_nice[100];
|
|
|
|
#define Cnfapf_aArray aircraft_->Cnfapf_aArray
|
|
|
|
#define Cnfapf_pArray aircraft_->Cnfapf_pArray
|
|
|
|
#define Cnfapf_CnArray aircraft_->Cnfapf_CnArray
|
|
|
|
#define Cnfapf_nAlphaArray aircraft_->Cnfapf_nAlphaArray
|
|
|
|
#define Cnfapf_np aircraft_->Cnfapf_np
|
|
|
|
#define Cnfapf_fArray aircraft_->Cnfapf_fArray
|
|
|
|
#define Cnfapf_nf aircraft_->Cnfapf_nf
|
|
|
|
#define CnfapfI aircraft_->CnfapfI
|
|
|
|
#define Cnfapf_nice aircraft_->Cnfapf_nice
|
|
|
|
#define Cnfapf_na_nice aircraft_->Cnfapf_na_nice
|
|
|
|
#define Cnfapf_np_nice aircraft_->Cnfapf_np_nice
|
|
|
|
#define Cnfapf_pArray_nice aircraft_->Cnfapf_pArray_nice
|
|
|
|
#define Cnfapf_aArray_nice aircraft_->Cnfapf_aArray_nice
|
|
|
|
double Cnfarf_aArray[30][100][100];
|
|
|
|
double Cnfarf_rArray[30][100];
|
|
|
|
double Cnfarf_CnArray[30][100][100];
|
|
|
|
int Cnfarf_nAlphaArray[30][100];
|
|
|
|
int Cnfarf_nr[30];
|
|
|
|
double Cnfarf_fArray[30];
|
|
|
|
int Cnfarf_nf;
|
|
|
|
double CnfarfI;
|
|
|
|
int Cnfarf_nice, Cnfarf_na_nice, Cnfarf_nr_nice;
|
|
|
|
double Cnfarf_rArray_nice[100];
|
|
|
|
double Cnfarf_aArray_nice[100];
|
|
|
|
#define Cnfarf_aArray aircraft_->Cnfarf_aArray
|
|
|
|
#define Cnfarf_rArray aircraft_->Cnfarf_rArray
|
|
|
|
#define Cnfarf_CnArray aircraft_->Cnfarf_CnArray
|
|
|
|
#define Cnfarf_nAlphaArray aircraft_->Cnfarf_nAlphaArray
|
|
|
|
#define Cnfarf_nr aircraft_->Cnfarf_nr
|
|
|
|
#define Cnfarf_fArray aircraft_->Cnfarf_fArray
|
|
|
|
#define Cnfarf_nf aircraft_->Cnfarf_nf
|
|
|
|
#define CnfarfI aircraft_->CnfarfI
|
|
|
|
#define Cnfarf_nice aircraft_->Cnfarf_nice
|
|
|
|
#define Cnfarf_na_nice aircraft_->Cnfarf_na_nice
|
|
|
|
#define Cnfarf_nr_nice aircraft_->Cnfarf_nr_nice
|
|
|
|
#define Cnfarf_rArray_nice aircraft_->Cnfarf_rArray_nice
|
|
|
|
#define Cnfarf_aArray_nice aircraft_->Cnfarf_aArray_nice
|
|
|
|
double Cno_save, Cn_beta_save, Cn_p_save, Cn_r_save;
|
|
|
|
double Cn_da_save, Cn_dr_save, Cn_q_save, Cn_b3_save;
|
|
|
|
#define Cno_save aircraft_->Cno_save
|
|
|
|
#define Cn_beta_save aircraft_->Cn_beta_save
|
|
|
|
#define Cn_p_save aircraft_->Cn_p_save
|
|
|
|
#define Cn_r_save aircraft_->Cn_r_save
|
|
|
|
#define Cn_da_save aircraft_->Cn_da_save
|
|
|
|
#define Cn_dr_save aircraft_->Cn_dr_save
|
|
|
|
#define Cn_q_save aircraft_->Cn_q_save
|
|
|
|
#define Cn_b3_save aircraft_->Cn_b3_save
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* gear ========== Landing gear model quantities ================*/
|
|
|
|
|
|
|
|
map <string,int> gear_map;
|
|
|
|
|
|
|
|
#define gear_map aircraft_->gear_map
|
From: David Megginson <david@megginson.com>
I have created a set of patches to provide configurable landing gear
for the UIUC models. The patches (including four new files) are
available at
http://megginson.com/private/fgfs/uiuc-20010309.tar.gz
A modified UIUC configuration file for the Twin Otter (DHC-6) is
available at
http://megginson.com/private/fgfs/aircraft.dat
It should be possible to configure appropriate gear for all of the
UIUC models now. As a bonus, the models also support braking, both
absolute and differential, as well as nose-wheel steering (all of
which are currently missing from the UIUC models) -- when you land,
you don't have to keep rolling off the end of the runway anymore, and
you don't have to bank to steer in a taxi.
My sample configuration file contains absolutely bizarre, wild
guesses, and many places that I didn't even bother to guess properly.
The only actual data I had was the wing-span of the DHC-6 (65ft),
which I used for positioning the wing tips. The wing-tips for this
model actually work now -- I hit the aileron hard while accelerating
for take-off, and the wingtip noticeably strikes the ground and
bounces up (quite dramatic in external view using the DHC-6 model from
Wolfram's site).
Details
-------
The UIUC models now support up to 16 gear points each where a gear
point is anything in the aircraft that can come in contact with the
ground, including the tail and wing-tips. I have added the following
new fields to the UIUC configuration files, where <index> is an
integer between 0 and 15, and <value> is a real number:
gear <index> Dx_gear <value> # x offset from CG [ft]
gear <index> Dy_gear <value> # y offset from CG [ft]
gear <index> Dz_gear <value> # z offset from CG [ft]
gear <index> cgear <value> # spring damping [lbs/ft/sec]
gear <index> kgear <value> # springiness [lbs/ft]
gear <index> muGear <value> # rolling coefficient
gear <index> strutLength <value> # gear travel [ft] (not yet used)
Most of these names were already pencilled into the UIUC documentation
(as TODO items), but I had to make up Dx_gear, Dy_gear, and Dz_gear --
if those are inappropriate, I'd appreciate suggestions for better
names.
It will be necessary to modify the other UIUC configuration files to
include some kind of gear support as well, or the planes will sink
nose-first into the ground down to their CG's (it's actually quite
funny to watch with an external view).
Background
----------
As I frequently remind everyone here, I have no math background worth
spitting at, so I will not even pretend to have done the hard stuff.
The UIUC code uses a copy of a very old version of the LaRCsim
c172_gear.c -- I wanted to update it with Tony Peden's excellent newer
version, which includes differential braking among other goodies (the
UIUC models don't support brakes, period).
I copied the newer code into uiuc_aero.c, and it compiled and ran, but
all of the planes ended up sitting on their tails with their noses in
the air. Since Tony made his gear code nicely parameterized, I
experimented with different values, and found that it wasn't too hard
to balance the Twin Otter by moving the gear back a bit. At first, I
used properties to set different values, but then I decided to
integrate the whole thing properly into the UIUC configuration
framework. Thanks to Tony Peden, who did the real modelling work -- I
can take credit only for two or three hours of integration. It turns
out that Tony's code is generalized enough to deal with a wide range
of different gear structures -- I suspect that it will even work for
the 747, when I get around to trying some values.
2001-03-29 03:16:25 +00:00
|
|
|
#define MAX_GEAR 16
|
|
|
|
bool gear_model[MAX_GEAR];
|
2001-03-29 03:49:02 +00:00
|
|
|
SCALAR D_gear_v[MAX_GEAR][3];
|
|
|
|
SCALAR cgear[MAX_GEAR];
|
|
|
|
SCALAR kgear[MAX_GEAR];
|
|
|
|
SCALAR muGear[MAX_GEAR];
|
|
|
|
SCALAR strutLength[MAX_GEAR];
|
From: David Megginson <david@megginson.com>
I have created a set of patches to provide configurable landing gear
for the UIUC models. The patches (including four new files) are
available at
http://megginson.com/private/fgfs/uiuc-20010309.tar.gz
A modified UIUC configuration file for the Twin Otter (DHC-6) is
available at
http://megginson.com/private/fgfs/aircraft.dat
It should be possible to configure appropriate gear for all of the
UIUC models now. As a bonus, the models also support braking, both
absolute and differential, as well as nose-wheel steering (all of
which are currently missing from the UIUC models) -- when you land,
you don't have to keep rolling off the end of the runway anymore, and
you don't have to bank to steer in a taxi.
My sample configuration file contains absolutely bizarre, wild
guesses, and many places that I didn't even bother to guess properly.
The only actual data I had was the wing-span of the DHC-6 (65ft),
which I used for positioning the wing tips. The wing-tips for this
model actually work now -- I hit the aileron hard while accelerating
for take-off, and the wingtip noticeably strikes the ground and
bounces up (quite dramatic in external view using the DHC-6 model from
Wolfram's site).
Details
-------
The UIUC models now support up to 16 gear points each where a gear
point is anything in the aircraft that can come in contact with the
ground, including the tail and wing-tips. I have added the following
new fields to the UIUC configuration files, where <index> is an
integer between 0 and 15, and <value> is a real number:
gear <index> Dx_gear <value> # x offset from CG [ft]
gear <index> Dy_gear <value> # y offset from CG [ft]
gear <index> Dz_gear <value> # z offset from CG [ft]
gear <index> cgear <value> # spring damping [lbs/ft/sec]
gear <index> kgear <value> # springiness [lbs/ft]
gear <index> muGear <value> # rolling coefficient
gear <index> strutLength <value> # gear travel [ft] (not yet used)
Most of these names were already pencilled into the UIUC documentation
(as TODO items), but I had to make up Dx_gear, Dy_gear, and Dz_gear --
if those are inappropriate, I'd appreciate suggestions for better
names.
It will be necessary to modify the other UIUC configuration files to
include some kind of gear support as well, or the planes will sink
nose-first into the ground down to their CG's (it's actually quite
funny to watch with an external view).
Background
----------
As I frequently remind everyone here, I have no math background worth
spitting at, so I will not even pretend to have done the hard stuff.
The UIUC code uses a copy of a very old version of the LaRCsim
c172_gear.c -- I wanted to update it with Tony Peden's excellent newer
version, which includes differential braking among other goodies (the
UIUC models don't support brakes, period).
I copied the newer code into uiuc_aero.c, and it compiled and ran, but
all of the planes ended up sitting on their tails with their noses in
the air. Since Tony made his gear code nicely parameterized, I
experimented with different values, and found that it wasn't too hard
to balance the Twin Otter by moving the gear back a bit. At first, I
used properties to set different values, but then I decided to
integrate the whole thing properly into the UIUC configuration
framework. Thanks to Tony Peden, who did the real modelling work -- I
can take credit only for two or three hours of integration. It turns
out that Tony's code is generalized enough to deal with a wide range
of different gear structures -- I suspect that it will even work for
the 747, when I get around to trying some values.
2001-03-29 03:16:25 +00:00
|
|
|
#define D_gear_v aircraft_->D_gear_v
|
|
|
|
#define gear_model aircraft_->gear_model
|
|
|
|
#define cgear aircraft_->cgear
|
|
|
|
#define kgear aircraft_->kgear
|
|
|
|
#define muGear aircraft_->muGear
|
|
|
|
#define strutLength aircraft_->strutLength
|
2003-05-13 18:45:04 +00:00
|
|
|
double gear_max, gear_rate;
|
|
|
|
#define gear_max aircraft_->gear_max
|
|
|
|
#define gear_rate aircraft_->gear_rate
|
|
|
|
bool use_gear;
|
|
|
|
#define use_gear aircraft_->use_gear
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* ice =========== Ice model quantities ======================== */
|
|
|
|
|
|
|
|
map <string,int> ice_map;
|
|
|
|
#define ice_map aircraft_->ice_map
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
bool ice_model, ice_on, beta_model;
|
2000-03-22 22:01:33 +00:00
|
|
|
double iceTime;
|
|
|
|
double transientTime;
|
2000-09-06 19:52:37 +00:00
|
|
|
double eta_ice_final;
|
|
|
|
double eta_ice;
|
|
|
|
double x_probe_wing;
|
|
|
|
double x_probe_tail;
|
|
|
|
#define ice_model aircraft_->ice_model
|
|
|
|
#define ice_on aircraft_->ice_on
|
|
|
|
#define beta_model aircraft_->beta_model
|
2000-03-22 22:01:33 +00:00
|
|
|
#define iceTime aircraft_->iceTime
|
|
|
|
#define transientTime aircraft_->transientTime
|
2000-09-06 19:52:37 +00:00
|
|
|
#define eta_ice_final aircraft_->eta_ice_final
|
|
|
|
#define eta_ice aircraft_->eta_ice
|
|
|
|
#define x_probe_wing aircraft_->x_probe_wing
|
|
|
|
#define x_probe_tail aircraft_->x_probe_tail
|
|
|
|
double kCDo, kCDK, kCD_a, kCD_adot, kCD_q, kCD_de;
|
|
|
|
double CDo_clean, CDK_clean, CD_a_clean, CD_adot_clean, CD_q_clean, CD_de_clean;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define kCDo aircraft_->kCDo
|
|
|
|
#define kCDK aircraft_->kCDK
|
|
|
|
#define kCD_a aircraft_->kCD_a
|
2000-09-06 19:52:37 +00:00
|
|
|
#define kCD_adot aircraft_->kCD_adot
|
|
|
|
#define kCD_q aircraft_->kCD_q
|
2000-03-22 22:01:33 +00:00
|
|
|
#define kCD_de aircraft_->kCD_de
|
|
|
|
#define CDo_clean aircraft_->CDo_clean
|
|
|
|
#define CDK_clean aircraft_->CDK_clean
|
|
|
|
#define CD_a_clean aircraft_->CD_a_clean
|
2000-09-06 19:52:37 +00:00
|
|
|
#define CD_adot_clean aircraft_->CD_adot_clean
|
|
|
|
#define CD_q_clean aircraft_->CD_q_clean
|
2000-03-22 22:01:33 +00:00
|
|
|
#define CD_de_clean aircraft_->CD_de_clean
|
2000-09-06 19:52:37 +00:00
|
|
|
double kCXo, kCXK, kCX_a, kCX_a2, kCX_a3, kCX_adot;
|
|
|
|
double kCX_q, kCX_de, kCX_dr, kCX_df, kCX_adf;
|
|
|
|
double CXo_clean, CXK_clean, CX_a_clean, CX_a2_clean, CX_a3_clean, CX_adot_clean;
|
|
|
|
double CX_q_clean, CX_de_clean, CX_dr_clean, CX_df_clean, CX_adf_clean;
|
|
|
|
#define kCXo aircraft_->kCXo
|
|
|
|
#define kCXK aircraft_->kCXK
|
|
|
|
#define kCX_a aircraft_->kCX_a
|
|
|
|
#define kCX_a2 aircraft_->kCX_a2
|
|
|
|
#define kCX_a3 aircraft_->kCX_a3
|
|
|
|
#define kCX_adot aircraft_->kCX_adot
|
|
|
|
#define kCX_q aircraft_->kCX_q
|
|
|
|
#define kCX_de aircraft_->kCX_de
|
|
|
|
#define kCX_dr aircraft_->kCX_dr
|
|
|
|
#define kCX_df aircraft_->kCX_df
|
|
|
|
#define kCX_adf aircraft_->kCX_adf
|
|
|
|
#define CXo_clean aircraft_->CXo_clean
|
|
|
|
#define CXK_clean aircraft_->CXK_clean
|
|
|
|
#define CX_a_clean aircraft_->CX_a_clean
|
|
|
|
#define CX_a2_clean aircraft_->CX_a2_clean
|
|
|
|
#define CX_a3_clean aircraft_->CX_a3_clean
|
|
|
|
#define CX_adot_clean aircraft_->CX_adot_clean
|
|
|
|
#define CX_q_clean aircraft_->CX_q_clean
|
|
|
|
#define CX_de_clean aircraft_->CX_de_clean
|
|
|
|
#define CX_dr_clean aircraft_->CX_dr_clean
|
|
|
|
#define CX_df_clean aircraft_->CX_df_clean
|
|
|
|
#define CX_adf_clean aircraft_->CX_adf_clean
|
|
|
|
double kCLo, kCL_a, kCL_adot, kCL_q, kCL_de;
|
|
|
|
double CLo_clean, CL_a_clean, CL_adot_clean, CL_q_clean, CL_de_clean;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define kCLo aircraft_->kCLo
|
|
|
|
#define kCL_a aircraft_->kCL_a
|
|
|
|
#define kCL_adot aircraft_->kCL_adot
|
|
|
|
#define kCL_q aircraft_->kCL_q
|
|
|
|
#define kCL_de aircraft_->kCL_de
|
|
|
|
#define CLo_clean aircraft_->CLo_clean
|
|
|
|
#define CL_a_clean aircraft_->CL_a_clean
|
|
|
|
#define CL_adot_clean aircraft_->CL_adot_clean
|
|
|
|
#define CL_q_clean aircraft_->CL_q_clean
|
|
|
|
#define CL_de_clean aircraft_->CL_de_clean
|
2000-09-06 19:52:37 +00:00
|
|
|
double kCZo, kCZ_a, kCZ_a2, kCZ_a3, kCZ_adot, kCZ_q, kCZ_de, kCZ_deb2, kCZ_df, kCZ_adf;
|
|
|
|
double CZo_clean, CZ_a_clean, CZ_a2_clean, CZ_a3_clean, CZ_adot_clean;
|
|
|
|
double CZ_q_clean, CZ_de_clean, CZ_deb2_clean, CZ_df_clean, CZ_adf_clean;
|
|
|
|
#define kCZo aircraft_->kCZo
|
|
|
|
#define kCZ_a aircraft_->kCZ_a
|
|
|
|
#define kCZ_a2 aircraft_->kCZ_a2
|
|
|
|
#define kCZ_a3 aircraft_->kCZ_a3
|
|
|
|
#define kCZ_adot aircraft_->kCZ_adot
|
|
|
|
#define kCZ_q aircraft_->kCZ_q
|
|
|
|
#define kCZ_de aircraft_->kCZ_de
|
|
|
|
#define kCZ_deb2 aircraft_->kCZ_deb2
|
|
|
|
#define kCZ_df aircraft_->kCZ_df
|
|
|
|
#define kCZ_adf aircraft_->kCZ_adf
|
|
|
|
#define CZo_clean aircraft_->CZo_clean
|
|
|
|
#define CZ_a_clean aircraft_->CZ_a_clean
|
|
|
|
#define CZ_a2_clean aircraft_->CZ_a2_clean
|
|
|
|
#define CZ_a3_clean aircraft_->CZ_a3_clean
|
|
|
|
#define CZ_adot_clean aircraft_->CZ_adot_clean
|
|
|
|
#define CZ_q_clean aircraft_->CZ_q_clean
|
|
|
|
#define CZ_de_clean aircraft_->CZ_de_clean
|
|
|
|
#define CZ_deb2_clean aircraft_->CZ_deb2_clean
|
|
|
|
#define CZ_df_clean aircraft_->CZ_df_clean
|
|
|
|
#define CZ_adf_clean aircraft_->CZ_adf_clean
|
|
|
|
double kCmo, kCm_a, kCm_a2, kCm_adot, kCm_q, kCm_de, kCm_b2, kCm_r, kCm_df;
|
|
|
|
double Cmo_clean, Cm_a_clean, Cm_a2_clean, Cm_adot_clean, Cm_q_clean;
|
|
|
|
double Cm_de_clean, Cm_b2_clean, Cm_r_clean, Cm_df_clean;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define kCmo aircraft_->kCmo
|
|
|
|
#define kCm_a aircraft_->kCm_a
|
2000-09-06 19:52:37 +00:00
|
|
|
#define kCm_a2 aircraft_->kCm_a2
|
2000-03-22 22:01:33 +00:00
|
|
|
#define kCm_adot aircraft_->kCm_adot
|
|
|
|
#define kCm_q aircraft_->kCm_q
|
|
|
|
#define kCm_de aircraft_->kCm_de
|
2000-09-06 19:52:37 +00:00
|
|
|
#define kCm_b2 aircraft_->kCm_b2
|
|
|
|
#define kCm_r aircraft_->kCm_r
|
|
|
|
#define kCm_df aircraft_->kCm_df
|
2000-03-22 22:01:33 +00:00
|
|
|
#define Cmo_clean aircraft_->Cmo_clean
|
|
|
|
#define Cm_a_clean aircraft_->Cm_a_clean
|
2000-09-06 19:52:37 +00:00
|
|
|
#define Cm_a2_clean aircraft_->Cm_a2_clean
|
2000-03-22 22:01:33 +00:00
|
|
|
#define Cm_adot_clean aircraft_->Cm_adot_clean
|
|
|
|
#define Cm_q_clean aircraft_->Cm_q_clean
|
|
|
|
#define Cm_de_clean aircraft_->Cm_de_clean
|
2000-09-06 19:52:37 +00:00
|
|
|
#define Cm_b2_clean aircraft_->Cm_b2_clean
|
|
|
|
#define Cm_r_clean aircraft_->Cm_r_clean
|
|
|
|
#define Cm_df_clean aircraft_->Cm_df_clean
|
|
|
|
double kCYo, kCY_beta, kCY_p, kCY_r, kCY_da, kCY_dr, kCY_dra, kCY_bdot;
|
|
|
|
double CYo_clean, CY_beta_clean, CY_p_clean, CY_r_clean, CY_da_clean;
|
|
|
|
double CY_dr_clean, CY_dra_clean, CY_bdot_clean;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define kCYo aircraft_->kCYo
|
|
|
|
#define kCY_beta aircraft_->kCY_beta
|
|
|
|
#define kCY_p aircraft_->kCY_p
|
|
|
|
#define kCY_r aircraft_->kCY_r
|
|
|
|
#define kCY_da aircraft_->kCY_da
|
|
|
|
#define kCY_dr aircraft_->kCY_dr
|
2000-09-06 19:52:37 +00:00
|
|
|
#define kCY_dra aircraft_->kCY_dra
|
|
|
|
#define kCY_bdot aircraft_->kCY_bdot
|
2000-03-22 22:01:33 +00:00
|
|
|
#define CYo_clean aircraft_->CYo_clean
|
|
|
|
#define CY_beta_clean aircraft_->CY_beta_clean
|
|
|
|
#define CY_p_clean aircraft_->CY_p_clean
|
|
|
|
#define CY_r_clean aircraft_->CY_r_clean
|
|
|
|
#define CY_da_clean aircraft_->CY_da_clean
|
|
|
|
#define CY_dr_clean aircraft_->CY_dr_clean
|
2000-09-06 19:52:37 +00:00
|
|
|
#define CY_dra_clean aircraft_->CY_dra_clean
|
|
|
|
#define CY_bdot_clean aircraft_->CY_bdot_clean
|
|
|
|
double kClo, kCl_beta, kCl_p, kCl_r, kCl_da, kCl_dr, kCl_daa;
|
|
|
|
double Clo_clean, Cl_beta_clean, Cl_p_clean, Cl_r_clean, Cl_da_clean;
|
|
|
|
double Cl_dr_clean, Cl_daa_clean;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define kClo aircraft_->kClo
|
|
|
|
#define kCl_beta aircraft_->kCl_beta
|
|
|
|
#define kCl_p aircraft_->kCl_p
|
|
|
|
#define kCl_r aircraft_->kCl_r
|
|
|
|
#define kCl_da aircraft_->kCl_da
|
|
|
|
#define kCl_dr aircraft_->kCl_dr
|
2000-09-06 19:52:37 +00:00
|
|
|
#define kCl_daa aircraft_->kCl_daa
|
2000-03-22 22:01:33 +00:00
|
|
|
#define Clo_clean aircraft_->Clo_clean
|
|
|
|
#define Cl_beta_clean aircraft_->Cl_beta_clean
|
|
|
|
#define Cl_p_clean aircraft_->Cl_p_clean
|
|
|
|
#define Cl_r_clean aircraft_->Cl_r_clean
|
|
|
|
#define Cl_da_clean aircraft_->Cl_da_clean
|
|
|
|
#define Cl_dr_clean aircraft_->Cl_dr_clean
|
2000-09-06 19:52:37 +00:00
|
|
|
#define Cl_daa_clean aircraft_->Cl_daa_clean
|
|
|
|
double kCno, kCn_beta, kCn_p, kCn_r, kCn_da, kCn_dr, kCn_q, kCn_b3;
|
|
|
|
double Cno_clean, Cn_beta_clean, Cn_p_clean, Cn_r_clean, Cn_da_clean;
|
|
|
|
double Cn_dr_clean, Cn_q_clean, Cn_b3_clean;
|
2000-03-22 22:01:33 +00:00
|
|
|
#define kCno aircraft_->kCno
|
|
|
|
#define kCn_beta aircraft_->kCn_beta
|
|
|
|
#define kCn_p aircraft_->kCn_p
|
|
|
|
#define kCn_r aircraft_->kCn_r
|
|
|
|
#define kCn_da aircraft_->kCn_da
|
|
|
|
#define kCn_dr aircraft_->kCn_dr
|
2000-09-06 19:52:37 +00:00
|
|
|
#define kCn_q aircraft_->kCn_q
|
|
|
|
#define kCn_b3 aircraft_->kCn_b3
|
2000-03-22 22:01:33 +00:00
|
|
|
#define Cno_clean aircraft_->Cno_clean
|
|
|
|
#define Cn_beta_clean aircraft_->Cn_beta_clean
|
|
|
|
#define Cn_p_clean aircraft_->Cn_p_clean
|
|
|
|
#define Cn_r_clean aircraft_->Cn_r_clean
|
|
|
|
#define Cn_da_clean aircraft_->Cn_da_clean
|
|
|
|
#define Cn_dr_clean aircraft_->Cn_dr_clean
|
2000-09-06 19:52:37 +00:00
|
|
|
#define Cn_q_clean aircraft_->Cn_q_clean
|
|
|
|
#define Cn_b3_clean aircraft_->Cn_b3_clean
|
2002-09-02 23:26:28 +00:00
|
|
|
double bootTime[20];
|
|
|
|
int bootindex;
|
|
|
|
bool bootTrue[20];
|
|
|
|
#define bootTime aircraft_->bootTime
|
|
|
|
#define bootindex aircraft_->bootindex
|
|
|
|
#define bootTrue aircraft_->bootTrue
|
2002-11-08 17:03:49 +00:00
|
|
|
bool eta_from_file;
|
|
|
|
#define eta_from_file aircraft_->eta_from_file
|
|
|
|
bool eta_wing_left_input;
|
|
|
|
string eta_wing_left_input_file;
|
|
|
|
double eta_wing_left_input_timeArray[100];
|
|
|
|
double eta_wing_left_input_daArray[100];
|
|
|
|
int eta_wing_left_input_ntime;
|
|
|
|
double eta_wing_left_input_startTime;
|
|
|
|
#define eta_wing_left_input aircraft_->eta_wing_left_input
|
|
|
|
#define eta_wing_left_input_file aircraft_->eta_wing_left_input_file
|
|
|
|
#define eta_wing_left_input_timeArray aircraft_->eta_wing_left_input_timeArray
|
|
|
|
#define eta_wing_left_input_daArray aircraft_->eta_wing_left_input_daArray
|
|
|
|
#define eta_wing_left_input_ntime aircraft_->eta_wing_left_input_ntime
|
|
|
|
#define eta_wing_left_input_startTime aircraft_->eta_wing_left_input_startTime
|
|
|
|
bool eta_wing_right_input;
|
|
|
|
string eta_wing_right_input_file;
|
|
|
|
double eta_wing_right_input_timeArray[100];
|
|
|
|
double eta_wing_right_input_daArray[100];
|
|
|
|
int eta_wing_right_input_ntime;
|
|
|
|
double eta_wing_right_input_startTime;
|
|
|
|
#define eta_wing_right_input aircraft_->eta_wing_right_input
|
|
|
|
#define eta_wing_right_input_file aircraft_->eta_wing_right_input_file
|
|
|
|
#define eta_wing_right_input_timeArray aircraft_->eta_wing_right_input_timeArray
|
|
|
|
#define eta_wing_right_input_daArray aircraft_->eta_wing_right_input_daArray
|
|
|
|
#define eta_wing_right_input_ntime aircraft_->eta_wing_right_input_ntime
|
|
|
|
#define eta_wing_right_input_startTime aircraft_->eta_wing_right_input_startTime
|
|
|
|
bool eta_tail_input;
|
|
|
|
string eta_tail_input_file;
|
|
|
|
double eta_tail_input_timeArray[100];
|
|
|
|
double eta_tail_input_daArray[100];
|
|
|
|
int eta_tail_input_ntime;
|
|
|
|
double eta_tail_input_startTime;
|
|
|
|
#define eta_tail_input aircraft_->eta_tail_input
|
|
|
|
#define eta_tail_input_file aircraft_->eta_tail_input_file
|
|
|
|
#define eta_tail_input_timeArray aircraft_->eta_tail_input_timeArray
|
|
|
|
#define eta_tail_input_daArray aircraft_->eta_tail_input_daArray
|
|
|
|
#define eta_tail_input_ntime aircraft_->eta_tail_input_ntime
|
|
|
|
#define eta_tail_input_startTime aircraft_->eta_tail_input_startTime
|
|
|
|
bool demo_eps_alpha_max;
|
|
|
|
string demo_eps_alpha_max_file;
|
|
|
|
double demo_eps_alpha_max_timeArray[100];
|
|
|
|
double demo_eps_alpha_max_daArray[100];
|
|
|
|
int demo_eps_alpha_max_ntime;
|
|
|
|
double demo_eps_alpha_max_startTime;
|
|
|
|
#define demo_eps_alpha_max aircraft_->demo_eps_alpha_max
|
|
|
|
#define demo_eps_alpha_max_file aircraft_->demo_eps_alpha_max_file
|
|
|
|
#define demo_eps_alpha_max_timeArray aircraft_->demo_eps_alpha_max_timeArray
|
|
|
|
#define demo_eps_alpha_max_daArray aircraft_->demo_eps_alpha_max_daArray
|
|
|
|
#define demo_eps_alpha_max_ntime aircraft_->demo_eps_alpha_max_ntime
|
|
|
|
#define demo_eps_alpha_max_startTime aircraft_->demo_eps_alpha_max_startTime
|
|
|
|
bool demo_eps_pitch_max;
|
|
|
|
string demo_eps_pitch_max_file;
|
|
|
|
double demo_eps_pitch_max_timeArray[100];
|
|
|
|
double demo_eps_pitch_max_daArray[100];
|
|
|
|
int demo_eps_pitch_max_ntime;
|
|
|
|
double demo_eps_pitch_max_startTime;
|
|
|
|
#define demo_eps_pitch_max aircraft_->demo_eps_pitch_max
|
|
|
|
#define demo_eps_pitch_max_file aircraft_->demo_eps_pitch_max_file
|
|
|
|
#define demo_eps_pitch_max_timeArray aircraft_->demo_eps_pitch_max_timeArray
|
|
|
|
#define demo_eps_pitch_max_daArray aircraft_->demo_eps_pitch_max_daArray
|
|
|
|
#define demo_eps_pitch_max_ntime aircraft_->demo_eps_pitch_max_ntime
|
|
|
|
#define demo_eps_pitch_max_startTime aircraft_->demo_eps_pitch_max_startTime
|
|
|
|
bool demo_eps_pitch_min;
|
|
|
|
string demo_eps_pitch_min_file;
|
|
|
|
double demo_eps_pitch_min_timeArray[100];
|
|
|
|
double demo_eps_pitch_min_daArray[100];
|
|
|
|
int demo_eps_pitch_min_ntime;
|
|
|
|
double demo_eps_pitch_min_startTime;
|
|
|
|
#define demo_eps_pitch_min aircraft_->demo_eps_pitch_min
|
|
|
|
#define demo_eps_pitch_min_file aircraft_->demo_eps_pitch_min_file
|
|
|
|
#define demo_eps_pitch_min_timeArray aircraft_->demo_eps_pitch_min_timeArray
|
|
|
|
#define demo_eps_pitch_min_daArray aircraft_->demo_eps_pitch_min_daArray
|
|
|
|
#define demo_eps_pitch_min_ntime aircraft_->demo_eps_pitch_min_ntime
|
|
|
|
#define demo_eps_pitch_min_startTime aircraft_->demo_eps_pitch_min_startTime
|
|
|
|
bool demo_eps_roll_max;
|
|
|
|
string demo_eps_roll_max_file;
|
|
|
|
double demo_eps_roll_max_timeArray[10];
|
|
|
|
double demo_eps_roll_max_daArray[10];
|
|
|
|
int demo_eps_roll_max_ntime;
|
|
|
|
double demo_eps_roll_max_startTime;
|
|
|
|
#define demo_eps_roll_max aircraft_->demo_eps_roll_max
|
|
|
|
#define demo_eps_roll_max_file aircraft_->demo_eps_roll_max_file
|
|
|
|
#define demo_eps_roll_max_timeArray aircraft_->demo_eps_roll_max_timeArray
|
|
|
|
#define demo_eps_roll_max_daArray aircraft_->demo_eps_roll_max_daArray
|
|
|
|
#define demo_eps_roll_max_ntime aircraft_->demo_eps_roll_max_ntime
|
|
|
|
#define demo_eps_roll_max_startTime aircraft_->demo_eps_roll_max_startTime
|
|
|
|
bool demo_eps_thrust_min;
|
|
|
|
string demo_eps_thrust_min_file;
|
|
|
|
double demo_eps_thrust_min_timeArray[100];
|
|
|
|
double demo_eps_thrust_min_daArray[100];
|
|
|
|
int demo_eps_thrust_min_ntime;
|
|
|
|
double demo_eps_thrust_min_startTime;
|
|
|
|
#define demo_eps_thrust_min aircraft_->demo_eps_thrust_min
|
|
|
|
#define demo_eps_thrust_min_file aircraft_->demo_eps_thrust_min_file
|
|
|
|
#define demo_eps_thrust_min_timeArray aircraft_->demo_eps_thrust_min_timeArray
|
|
|
|
#define demo_eps_thrust_min_daArray aircraft_->demo_eps_thrust_min_daArray
|
|
|
|
#define demo_eps_thrust_min_ntime aircraft_->demo_eps_thrust_min_ntime
|
|
|
|
#define demo_eps_thrust_min_startTime aircraft_->demo_eps_thrust_min_startTime
|
|
|
|
bool demo_eps_airspeed_max;
|
|
|
|
string demo_eps_airspeed_max_file;
|
|
|
|
double demo_eps_airspeed_max_timeArray[10];
|
|
|
|
double demo_eps_airspeed_max_daArray[10];
|
|
|
|
int demo_eps_airspeed_max_ntime;
|
|
|
|
double demo_eps_airspeed_max_startTime;
|
|
|
|
#define demo_eps_airspeed_max aircraft_->demo_eps_airspeed_max
|
|
|
|
#define demo_eps_airspeed_max_file aircraft_->demo_eps_airspeed_max_file
|
|
|
|
#define demo_eps_airspeed_max_timeArray aircraft_->demo_eps_airspeed_max_timeArray
|
|
|
|
#define demo_eps_airspeed_max_daArray aircraft_->demo_eps_airspeed_max_daArray
|
|
|
|
#define demo_eps_airspeed_max_ntime aircraft_->demo_eps_airspeed_max_ntime
|
|
|
|
#define demo_eps_airspeed_max_startTime aircraft_->demo_eps_airspeed_max_startTime
|
|
|
|
bool demo_eps_airspeed_min;
|
|
|
|
string demo_eps_airspeed_min_file;
|
|
|
|
double demo_eps_airspeed_min_timeArray[100];
|
|
|
|
double demo_eps_airspeed_min_daArray[100];
|
|
|
|
int demo_eps_airspeed_min_ntime;
|
|
|
|
double demo_eps_airspeed_min_startTime;
|
|
|
|
#define demo_eps_airspeed_min aircraft_->demo_eps_airspeed_min
|
|
|
|
#define demo_eps_airspeed_min_file aircraft_->demo_eps_airspeed_min_file
|
|
|
|
#define demo_eps_airspeed_min_timeArray aircraft_->demo_eps_airspeed_min_timeArray
|
|
|
|
#define demo_eps_airspeed_min_daArray aircraft_->demo_eps_airspeed_min_daArray
|
|
|
|
#define demo_eps_airspeed_min_ntime aircraft_->demo_eps_airspeed_min_ntime
|
|
|
|
#define demo_eps_airspeed_min_startTime aircraft_->demo_eps_airspeed_min_startTime
|
|
|
|
bool demo_eps_flap_max;
|
|
|
|
string demo_eps_flap_max_file;
|
|
|
|
double demo_eps_flap_max_timeArray[10];
|
|
|
|
double demo_eps_flap_max_daArray[10];
|
|
|
|
int demo_eps_flap_max_ntime;
|
|
|
|
double demo_eps_flap_max_startTime;
|
|
|
|
#define demo_eps_flap_max aircraft_->demo_eps_flap_max
|
|
|
|
#define demo_eps_flap_max_file aircraft_->demo_eps_flap_max_file
|
|
|
|
#define demo_eps_flap_max_timeArray aircraft_->demo_eps_flap_max_timeArray
|
|
|
|
#define demo_eps_flap_max_daArray aircraft_->demo_eps_flap_max_daArray
|
|
|
|
#define demo_eps_flap_max_ntime aircraft_->demo_eps_flap_max_ntime
|
|
|
|
#define demo_eps_flap_max_startTime aircraft_->demo_eps_flap_max_startTime
|
|
|
|
bool demo_boot_cycle_tail;
|
|
|
|
string demo_boot_cycle_tail_file;
|
|
|
|
double demo_boot_cycle_tail_timeArray[100];
|
|
|
|
int demo_boot_cycle_tail_daArray[100];
|
|
|
|
int demo_boot_cycle_tail_ntime;
|
|
|
|
double demo_boot_cycle_tail_startTime;
|
|
|
|
#define demo_boot_cycle_tail aircraft_->demo_boot_cycle_tail
|
|
|
|
#define demo_boot_cycle_tail_file aircraft_->demo_boot_cycle_tail_file
|
|
|
|
#define demo_boot_cycle_tail_timeArray aircraft_->demo_boot_cycle_tail_timeArray
|
|
|
|
#define demo_boot_cycle_tail_daArray aircraft_->demo_boot_cycle_tail_daArray
|
|
|
|
#define demo_boot_cycle_tail_ntime aircraft_->demo_boot_cycle_tail_ntime
|
|
|
|
#define demo_boot_cycle_tail_startTime aircraft_->demo_boot_cycle_tail_startTime
|
|
|
|
bool demo_boot_cycle_wing_left;
|
|
|
|
string demo_boot_cycle_wing_left_file;
|
|
|
|
double demo_boot_cycle_wing_left_timeArray[100];
|
|
|
|
int demo_boot_cycle_wing_left_daArray[100];
|
|
|
|
int demo_boot_cycle_wing_left_ntime;
|
|
|
|
double demo_boot_cycle_wing_left_startTime;
|
|
|
|
#define demo_boot_cycle_wing_left aircraft_->demo_boot_cycle_wing_left
|
|
|
|
#define demo_boot_cycle_wing_left_file aircraft_->demo_boot_cycle_wing_left_file
|
|
|
|
#define demo_boot_cycle_wing_left_timeArray aircraft_->demo_boot_cycle_wing_left_timeArray
|
|
|
|
#define demo_boot_cycle_wing_left_daArray aircraft_->demo_boot_cycle_wing_left_daArray
|
|
|
|
#define demo_boot_cycle_wing_left_ntime aircraft_->demo_boot_cycle_wing_left_ntime
|
|
|
|
#define demo_boot_cycle_wing_left_startTime aircraft_->demo_boot_cycle_wing_left_startTime
|
|
|
|
bool demo_boot_cycle_wing_right;
|
|
|
|
string demo_boot_cycle_wing_right_file;
|
|
|
|
double demo_boot_cycle_wing_right_timeArray[100];
|
|
|
|
int demo_boot_cycle_wing_right_daArray[100];
|
|
|
|
int demo_boot_cycle_wing_right_ntime;
|
|
|
|
double demo_boot_cycle_wing_right_startTime;
|
|
|
|
#define demo_boot_cycle_wing_right aircraft_->demo_boot_cycle_wing_right
|
|
|
|
#define demo_boot_cycle_wing_right_file aircraft_->demo_boot_cycle_wing_right_file
|
|
|
|
#define demo_boot_cycle_wing_right_timeArray aircraft_->demo_boot_cycle_wing_right_timeArray
|
|
|
|
#define demo_boot_cycle_wing_right_daArray aircraft_->demo_boot_cycle_wing_right_daArray
|
|
|
|
#define demo_boot_cycle_wing_right_ntime aircraft_->demo_boot_cycle_wing_right_ntime
|
|
|
|
#define demo_boot_cycle_wing_right_startTime aircraft_->demo_boot_cycle_wing_right_startTime
|
|
|
|
bool demo_eps_pitch_input;
|
|
|
|
string demo_eps_pitch_input_file;
|
|
|
|
double demo_eps_pitch_input_timeArray[100];
|
|
|
|
int demo_eps_pitch_input_daArray[100];
|
|
|
|
int demo_eps_pitch_input_ntime;
|
|
|
|
double demo_eps_pitch_input_startTime;
|
|
|
|
#define demo_eps_pitch_input aircraft_->demo_eps_pitch_input
|
|
|
|
#define demo_eps_pitch_input_file aircraft_->demo_eps_pitch_input_file
|
|
|
|
#define demo_eps_pitch_input_timeArray aircraft_->demo_eps_pitch_input_timeArray
|
|
|
|
#define demo_eps_pitch_input_daArray aircraft_->demo_eps_pitch_input_daArray
|
|
|
|
#define demo_eps_pitch_input_ntime aircraft_->demo_eps_pitch_input_ntime
|
|
|
|
#define demo_eps_pitch_input_startTime aircraft_->demo_eps_pitch_input_startTime
|
|
|
|
bool tactilefadef;
|
|
|
|
double tactilefadef_aArray[30][100][100];
|
|
|
|
double tactilefadef_deArray[30][100];
|
|
|
|
double tactilefadef_tactileArray[30][100][100];
|
|
|
|
int tactilefadef_nAlphaArray[30][100];
|
|
|
|
int tactilefadef_nde[30];
|
|
|
|
double tactilefadef_fArray[30];
|
|
|
|
int tactilefadef_nf;
|
|
|
|
double tactilefadefI;
|
|
|
|
int tactilefadef_nice, tactilefadef_na_nice, tactilefadef_nde_nice;
|
|
|
|
double tactilefadef_deArray_nice[100];
|
|
|
|
double tactilefadef_aArray_nice[100];
|
|
|
|
#define tactilefadef aircraft_->tactilefadef
|
|
|
|
#define tactilefadef_aArray aircraft_->tactilefadef_aArray
|
|
|
|
#define tactilefadef_deArray aircraft_->tactilefadef_deArray
|
|
|
|
#define tactilefadef_tactileArray aircraft_->tactilefadef_tactileArray
|
|
|
|
#define tactilefadef_nAlphaArray aircraft_->tactilefadef_nAlphaArray
|
|
|
|
#define tactilefadef_nde aircraft_->tactilefadef_nde
|
|
|
|
#define tactilefadef_fArray aircraft_->tactilefadef_fArray
|
|
|
|
#define tactilefadef_nf aircraft_->tactilefadef_nf
|
|
|
|
#define tactilefadefI aircraft_->tactilefadefI
|
|
|
|
#define tactilefadef_nice aircraft_->tactilefadef_nice
|
|
|
|
#define tactilefadef_na_nice aircraft_->tactilefadef_na_nice
|
|
|
|
#define tactilefadef_nde_nice aircraft_->tactilefadef_nde_nice
|
|
|
|
#define tactilefadef_deArray_nice aircraft_->tactilefadef_deArray_nice
|
|
|
|
#define tactilefadef_aArray_nice aircraft_->tactilefadef_aArray_nice
|
|
|
|
int tactile_pitch;
|
|
|
|
#define tactile_pitch aircraft_->tactile_pitch
|
|
|
|
bool demo_ap_pah_on;
|
|
|
|
string demo_ap_pah_on_file;
|
|
|
|
double demo_ap_pah_on_timeArray[10];
|
|
|
|
int demo_ap_pah_on_daArray[10];
|
|
|
|
int demo_ap_pah_on_ntime;
|
|
|
|
double demo_ap_pah_on_startTime;
|
|
|
|
#define demo_ap_pah_on aircraft_->demo_ap_pah_on
|
|
|
|
#define demo_ap_pah_on_file aircraft_->demo_ap_pah_on_file
|
|
|
|
#define demo_ap_pah_on_timeArray aircraft_->demo_ap_pah_on_timeArray
|
|
|
|
#define demo_ap_pah_on_daArray aircraft_->demo_ap_pah_on_daArray
|
|
|
|
#define demo_ap_pah_on_ntime aircraft_->demo_ap_pah_on_ntime
|
|
|
|
#define demo_ap_pah_on_startTime aircraft_->demo_ap_pah_on_startTime
|
|
|
|
bool demo_ap_Theta_ref_deg;
|
|
|
|
string demo_ap_Theta_ref_deg_file;
|
|
|
|
double demo_ap_Theta_ref_deg_timeArray[10];
|
|
|
|
double demo_ap_Theta_ref_deg_daArray[10];
|
|
|
|
int demo_ap_Theta_ref_deg_ntime;
|
|
|
|
double demo_ap_Theta_ref_deg_startTime;
|
|
|
|
#define demo_ap_Theta_ref_deg aircraft_->demo_ap_Theta_ref_deg
|
|
|
|
#define demo_ap_Theta_ref_deg_file aircraft_->demo_ap_Theta_ref_deg_file
|
|
|
|
#define demo_ap_Theta_ref_deg_timeArray aircraft_->demo_ap_Theta_ref_deg_timeArray
|
|
|
|
#define demo_ap_Theta_ref_deg_daArray aircraft_->demo_ap_Theta_ref_deg_daArray
|
|
|
|
#define demo_ap_Theta_ref_deg_ntime aircraft_->demo_ap_Theta_ref_deg_ntime
|
|
|
|
#define demo_ap_Theta_ref_deg_startTime aircraft_->demo_ap_Theta_ref_deg_startTime
|
|
|
|
bool demo_tactile;
|
|
|
|
string demo_tactile_file;
|
|
|
|
double demo_tactile_timeArray[1500];
|
|
|
|
double demo_tactile_daArray[1500];
|
|
|
|
int demo_tactile_ntime;
|
|
|
|
double demo_tactile_startTime;
|
|
|
|
#define demo_tactile aircraft_->demo_tactile
|
|
|
|
#define demo_tactile_file aircraft_->demo_tactile_file
|
|
|
|
#define demo_tactile_timeArray aircraft_->demo_tactile_timeArray
|
|
|
|
#define demo_tactile_daArray aircraft_->demo_tactile_daArray
|
|
|
|
#define demo_tactile_ntime aircraft_->demo_tactile_ntime
|
|
|
|
#define demo_tactile_startTime aircraft_->demo_tactile_startTime
|
|
|
|
bool demo_ice_tail;
|
|
|
|
string demo_ice_tail_file;
|
|
|
|
double demo_ice_tail_timeArray[10];
|
|
|
|
int demo_ice_tail_daArray[10];
|
|
|
|
int demo_ice_tail_ntime;
|
|
|
|
double demo_ice_tail_startTime;
|
|
|
|
#define demo_ice_tail aircraft_->demo_ice_tail
|
|
|
|
#define demo_ice_tail_file aircraft_->demo_ice_tail_file
|
|
|
|
#define demo_ice_tail_timeArray aircraft_->demo_ice_tail_timeArray
|
|
|
|
#define demo_ice_tail_daArray aircraft_->demo_ice_tail_daArray
|
|
|
|
#define demo_ice_tail_ntime aircraft_->demo_ice_tail_ntime
|
|
|
|
#define demo_ice_tail_startTime aircraft_->demo_ice_tail_startTime
|
|
|
|
bool demo_ice_left;
|
|
|
|
string demo_ice_left_file;
|
|
|
|
double demo_ice_left_timeArray[10];
|
|
|
|
int demo_ice_left_daArray[10];
|
|
|
|
int demo_ice_left_ntime;
|
|
|
|
double demo_ice_left_startTime;
|
|
|
|
#define demo_ice_left aircraft_->demo_ice_left
|
|
|
|
#define demo_ice_left_file aircraft_->demo_ice_left_file
|
|
|
|
#define demo_ice_left_timeArray aircraft_->demo_ice_left_timeArray
|
|
|
|
#define demo_ice_left_daArray aircraft_->demo_ice_left_daArray
|
|
|
|
#define demo_ice_left_ntime aircraft_->demo_ice_left_ntime
|
|
|
|
#define demo_ice_left_startTime aircraft_->demo_ice_left_startTime
|
|
|
|
bool demo_ice_right;
|
|
|
|
string demo_ice_right_file;
|
|
|
|
double demo_ice_right_timeArray[10];
|
|
|
|
int demo_ice_right_daArray[10];
|
|
|
|
int demo_ice_right_ntime;
|
|
|
|
double demo_ice_right_startTime;
|
|
|
|
#define demo_ice_right aircraft_->demo_ice_right
|
|
|
|
#define demo_ice_right_file aircraft_->demo_ice_right_file
|
|
|
|
#define demo_ice_right_timeArray aircraft_->demo_ice_right_timeArray
|
|
|
|
#define demo_ice_right_daArray aircraft_->demo_ice_right_daArray
|
|
|
|
#define demo_ice_right_ntime aircraft_->demo_ice_right_ntime
|
|
|
|
#define demo_ice_right_startTime aircraft_->demo_ice_right_startTime
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2001-09-14 20:36:34 +00:00
|
|
|
//321654
|
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* fog =========== Fog field quantities ======================== */
|
|
|
|
|
|
|
|
map <string,int> fog_map;
|
|
|
|
#define fog_map aircraft_->fog_map
|
|
|
|
|
|
|
|
bool fog_field;
|
|
|
|
int fog_segments;
|
|
|
|
int fog_point_index;
|
|
|
|
double *fog_time;
|
|
|
|
int *fog_value;
|
|
|
|
double fog_next_time;
|
|
|
|
int fog_current_segment;
|
|
|
|
|
|
|
|
int Fog;
|
|
|
|
|
|
|
|
#define fog_field aircraft_->fog_field
|
|
|
|
#define fog_segments aircraft_->fog_segments
|
|
|
|
#define fog_point_index aircraft_->fog_point_index
|
|
|
|
#define fog_time aircraft_->fog_time
|
|
|
|
#define fog_value aircraft_->fog_value
|
|
|
|
#define fog_next_time aircraft_->fog_next_time
|
|
|
|
#define fog_current_segment aircraft_->fog_current_segment
|
|
|
|
|
|
|
|
#define Fog aircraft_->Fog
|
|
|
|
|
|
|
|
|
|
|
|
|
2000-03-22 22:01:33 +00:00
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* record ======== Record desired quantites to file =============*/
|
|
|
|
|
|
|
|
map <string,int> record_map;
|
|
|
|
#define record_map aircraft_->record_map
|
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
/***** Angles ******/
|
|
|
|
double Alpha_deg, Alpha_dot_deg, Beta_deg, Beta_dot_deg;
|
|
|
|
#define Alpha_deg aircraft_->Alpha_deg
|
|
|
|
#define Alpha_dot_deg aircraft_->Alpha_dot_deg
|
|
|
|
#define Beta_deg aircraft_->Beta_deg
|
|
|
|
#define Beta_dot_deg aircraft_->Beta_dot_deg
|
|
|
|
double Gamma_vert_deg, Gamma_horiz_deg;
|
|
|
|
#define Gamma_vert_deg aircraft_->Gamma_vert_deg
|
|
|
|
#define Gamma_horiz_deg aircraft_->Gamma_horiz_deg
|
|
|
|
|
|
|
|
/** Control Inputs **/
|
|
|
|
double Long_trim_deg, elevator_tab, elevator_deg, aileron_deg, rudder_deg;
|
|
|
|
#define Long_trim_deg aircraft_->Long_trim_deg
|
|
|
|
#define elevator_tab aircraft_->elevator_tab
|
|
|
|
#define elevator_deg aircraft_->elevator_deg
|
|
|
|
#define aileron_deg aircraft_->aileron_deg
|
|
|
|
#define rudder_deg aircraft_->rudder_deg
|
2003-05-13 18:45:04 +00:00
|
|
|
// double flap_pos_deg;
|
|
|
|
//#define flap_pos_deg aircraft_->flap_pos_deg
|
2000-09-06 19:52:37 +00:00
|
|
|
|
|
|
|
/***** Forces ******/
|
2000-03-22 22:01:33 +00:00
|
|
|
double F_X_wind, F_Y_wind, F_Z_wind;
|
|
|
|
#define F_X_wind aircraft_->F_X_wind
|
|
|
|
#define F_Y_wind aircraft_->F_Y_wind
|
|
|
|
#define F_Z_wind aircraft_->F_Z_wind
|
2000-09-06 19:52:37 +00:00
|
|
|
double Lift_clean_wing, Lift_iced_wing;
|
|
|
|
double Lift_clean_tail, Lift_iced_tail;
|
|
|
|
#define Lift_clean_wing aircraft_->Lift_clean_wing
|
|
|
|
#define Lift_iced_wing aircraft_->Lift_iced_wing
|
|
|
|
#define Lift_clean_tail aircraft_->Lift_clean_tail
|
|
|
|
#define Lift_iced_tail aircraft_->Lift_iced_tail
|
|
|
|
double Gamma_clean_wing, Gamma_iced_wing;
|
|
|
|
double Gamma_clean_tail, Gamma_iced_tail;
|
|
|
|
#define Gamma_clean_wing aircraft_->Gamma_clean_wing
|
|
|
|
#define Gamma_iced_wing aircraft_->Gamma_iced_wing
|
|
|
|
#define Gamma_clean_tail aircraft_->Gamma_clean_tail
|
|
|
|
#define Gamma_iced_tail aircraft_->Gamma_iced_tail
|
|
|
|
double w_clean_wing, w_iced_wing;
|
|
|
|
double w_clean_tail, w_iced_tail;
|
|
|
|
#define w_clean_wing aircraft_->w_clean_wing
|
|
|
|
#define w_iced_wing aircraft_->w_iced_wing
|
|
|
|
#define w_clean_tail aircraft_->w_clean_tail
|
|
|
|
#define w_iced_tail aircraft_->w_iced_tail
|
|
|
|
double V_total_clean_wing, V_total_iced_wing;
|
|
|
|
double V_total_clean_tail, V_total_iced_tail;
|
|
|
|
#define V_total_clean_wing aircraft_->V_total_clean_wing
|
|
|
|
#define V_total_iced_wing aircraft_->V_total_iced_wing
|
|
|
|
#define V_total_clean_tail aircraft_->V_total_clean_tail
|
|
|
|
#define V_total_iced_tail aircraft_->V_total_iced_tail
|
|
|
|
double beta_flow_clean_wing, beta_flow_clean_wing_deg;
|
|
|
|
double beta_flow_iced_wing, beta_flow_iced_wing_deg;
|
|
|
|
double beta_flow_clean_tail, beta_flow_clean_tail_deg;
|
|
|
|
double beta_flow_iced_tail, beta_flow_iced_tail_deg;
|
|
|
|
#define beta_flow_clean_wing aircraft_->beta_flow_clean_wing
|
|
|
|
#define beta_flow_clean_wing_deg aircraft_->beta_flow_clean_wing_deg
|
|
|
|
#define beta_flow_iced_wing aircraft_->beta_flow_iced_wing
|
|
|
|
#define beta_flow_iced_wing_deg aircraft_->beta_flow_iced_wing_deg
|
|
|
|
#define beta_flow_clean_tail aircraft_->beta_flow_clean_tail
|
|
|
|
#define beta_flow_clean_tail_deg aircraft_->beta_flow_clean_tail_deg
|
|
|
|
#define beta_flow_iced_tail aircraft_->beta_flow_iced_tail
|
|
|
|
#define beta_flow_iced_tail_deg aircraft_->beta_flow_iced_tail_deg
|
|
|
|
double Dbeta_flow_wing, Dbeta_flow_wing_deg;
|
|
|
|
double Dbeta_flow_tail, Dbeta_flow_tail_deg;
|
|
|
|
#define Dbeta_flow_wing aircraft_->Dbeta_flow_wing
|
|
|
|
#define Dbeta_flow_wing_deg aircraft_->Dbeta_flow_wing_deg
|
|
|
|
#define Dbeta_flow_tail aircraft_->Dbeta_flow_tail
|
|
|
|
#define Dbeta_flow_tail_deg aircraft_->Dbeta_flow_tail_deg
|
|
|
|
double pct_beta_flow_wing, pct_beta_flow_tail;
|
|
|
|
#define pct_beta_flow_wing aircraft_->pct_beta_flow_wing
|
|
|
|
#define pct_beta_flow_tail aircraft_->pct_beta_flow_tail
|
|
|
|
|
|
|
|
|
|
|
|
/* Variables (token2) ===========================================*/
|
|
|
|
/* misc ========== Miscellaneous input commands =================*/
|
|
|
|
|
|
|
|
map <string,int> misc_map;
|
|
|
|
#define misc_map aircraft_->misc_map
|
|
|
|
|
|
|
|
double simpleHingeMomentCoef;
|
|
|
|
#define simpleHingeMomentCoef aircraft_->simpleHingeMomentCoef
|
|
|
|
string dfTimefdf;
|
|
|
|
double dfTimefdf_dfArray[100];
|
|
|
|
double dfTimefdf_TimeArray[100];
|
|
|
|
int dfTimefdf_ndf;
|
|
|
|
#define dfTimefdf aircraft_->dfTimefdf
|
|
|
|
#define dfTimefdf_dfArray aircraft_->dfTimefdf_dfArray
|
|
|
|
#define dfTimefdf_TimeArray aircraft_->dfTimefdf_TimeArray
|
|
|
|
#define dfTimefdf_ndf aircraft_->dfTimefdf_ndf
|
2002-09-11 02:31:10 +00:00
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
FlapData *flapper_data;
|
|
|
|
#define flapper_data aircraft_->flapper_data
|
|
|
|
bool flapper_model;
|
|
|
|
#define flapper_model aircraft_->flapper_model
|
|
|
|
double flapper_phi_init;
|
|
|
|
#define flapper_phi_init aircraft_->flapper_phi_init
|
|
|
|
double flapper_freq, flapper_cycle_pct, flapper_phi;
|
|
|
|
double flapper_Lift, flapper_Thrust, flapper_Inertia;
|
|
|
|
double flapper_Moment;
|
|
|
|
#define flapper_freq aircraft_->flapper_freq
|
|
|
|
#define flapper_cycle_pct aircraft_->flapper_cycle_pct
|
|
|
|
#define flapper_phi aircraft_->flapper_phi
|
|
|
|
#define flapper_Lift aircraft_->flapper_Lift
|
|
|
|
#define flapper_Thrust aircraft_->flapper_Thrust
|
|
|
|
#define flapper_Inertia aircraft_->flapper_Inertia
|
|
|
|
#define flapper_Moment aircraft_->flapper_Moment
|
2002-09-02 23:26:28 +00:00
|
|
|
double F_X_aero_flapper, F_Z_aero_flapper;
|
|
|
|
#define F_X_aero_flapper aircraft_->F_X_aero_flapper
|
|
|
|
#define F_Z_aero_flapper aircraft_->F_Z_aero_flapper
|
2002-09-11 16:45:47 +00:00
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
/* Other variables (not tokens) =================================*/
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
double convert_x, convert_y, convert_z;
|
|
|
|
#define convert_x aircraft_->convert_x
|
|
|
|
#define convert_y aircraft_->convert_y
|
|
|
|
#define convert_z aircraft_->convert_z
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
double cbar_2U, b_2U, ch_2U;
|
|
|
|
#define cbar_2U aircraft_->cbar_2U
|
|
|
|
#define b_2U aircraft_->b_2U
|
|
|
|
#define ch_2U aircraft_->ch_2U
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
int ndf;
|
|
|
|
double dfArray[100];
|
|
|
|
double TimeArray[100];
|
|
|
|
#define ndf aircraft_->ndf
|
|
|
|
#define dfArray aircraft_->dfArray
|
|
|
|
#define TimeArray aircraft_->TimeArray
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
double flap_percent, flap_increment_per_timestep, flap_cmd, flap_pos, flap_pos_pct;
|
|
|
|
#define flap_percent aircraft_->flap_percent
|
|
|
|
#define flap_increment_per_timestep aircraft_->flap_increment_per_timestep
|
|
|
|
#define flap_cmd aircraft_->flap_cmd
|
|
|
|
//#define flap_cmd_deg aircraft_->flap_cmd_deg
|
|
|
|
#define flap_pos aircraft_->flap_pos
|
|
|
|
//#define flap_pos_deg aircraft_->flap_pos_deg
|
|
|
|
#define flap_pos_pct aircraft_->flap_pos_pct
|
|
|
|
|
|
|
|
double Spoiler_handle, spoiler_increment_per_timestep, spoiler_cmd_deg;
|
|
|
|
double spoiler_pos_norm, spoiler_pos_deg, spoiler_pos;
|
|
|
|
#define Spoiler_handle aircraft_->Spoiler_handle
|
|
|
|
#define spoiler_increment_per_timestep aircraft_->spoiler_increment_per_timestep
|
|
|
|
#define spoiler_cmd_deg aircraft_->spoiler_cmd_deg
|
|
|
|
#define spoiler_pos_deg aircraft_->spoiler_pos_deg
|
|
|
|
#define spoiler_pos_norm aircraft_->spoiler_pos_norm
|
|
|
|
#define spoiler_pos aircraft_->spoiler_pos
|
|
|
|
|
|
|
|
double Gear_handle, gear_increment_per_timestep, gear_cmd_norm, gear_pos_norm;
|
|
|
|
#define Gear_handle aircraft_->Gear_handle
|
|
|
|
#define gear_increment_per_timestep aircraft_->gear_increment_per_timestep
|
|
|
|
#define gear_cmd_norm aircraft_->gear_cmd_norm
|
|
|
|
#define gear_pos_norm aircraft_->gear_pos_norm
|
2002-04-01 21:37:33 +00:00
|
|
|
|
2002-11-08 17:03:49 +00:00
|
|
|
double delta_CL, delta_CD, delta_Cm, delta_Ch, delta_Cl, delta_Cn;
|
2002-09-02 23:26:28 +00:00
|
|
|
#define delta_CL aircraft_->delta_CL
|
|
|
|
#define delta_CD aircraft_->delta_CD
|
|
|
|
#define delta_Cm aircraft_->delta_Cm
|
|
|
|
#define delta_Ch aircraft_->delta_Ch
|
|
|
|
#define delta_Cl aircraft_->delta_Cl
|
2002-11-08 17:03:49 +00:00
|
|
|
#define delta_Cn aircraft_->delta_Cn
|
2002-09-02 23:26:28 +00:00
|
|
|
|
2002-11-08 17:03:49 +00:00
|
|
|
int nonlin_ice_case;
|
2002-09-02 23:26:28 +00:00
|
|
|
double eta_wing_left, eta_wing_right, eta_tail;
|
|
|
|
double OATemperature_F;
|
2002-11-08 17:03:49 +00:00
|
|
|
#define nonlin_ice_case aircraft_->nonlin_ice_case
|
2002-09-02 23:26:28 +00:00
|
|
|
#define eta_wing_left aircraft_->eta_wing_left
|
|
|
|
#define eta_wing_right aircraft_->eta_wing_right
|
|
|
|
#define eta_tail aircraft_->eta_tail
|
|
|
|
#define OATemperature_F aircraft_->OATemperature_F
|
2002-11-08 17:03:49 +00:00
|
|
|
int boot_cycle_tail, boot_cycle_wing_left, boot_cycle_wing_right;
|
|
|
|
int autoIPS_tail, autoIPS_wing_left, autoIPS_wing_right;
|
|
|
|
int eps_pitch_input;
|
|
|
|
double eps_alpha_max, eps_pitch_max, eps_pitch_min;
|
|
|
|
double eps_roll_max, eps_thrust_min, eps_flap_max;
|
|
|
|
double eps_airspeed_max, eps_airspeed_min;
|
|
|
|
#define boot_cycle_tail aircraft_->boot_cycle_tail
|
|
|
|
#define boot_cycle_wing_left aircraft_->boot_cycle_wing_left
|
|
|
|
#define boot_cycle_wing_right aircraft_->boot_cycle_wing_right
|
|
|
|
#define autoIPS_tail aircraft_->autoIPS_tail
|
|
|
|
#define autoIPS_wing_left aircraft_->autoIPS_wing_left
|
|
|
|
#define autoIPS_wing_right aircraft_->autoIPS_wing_right
|
|
|
|
#define eps_pitch_input aircraft_->eps_pitch_input
|
|
|
|
#define eps_alpha_max aircraft_->eps_alpha_max
|
|
|
|
#define eps_pitch_max aircraft_->eps_pitch_max
|
|
|
|
#define eps_pitch_min aircraft_->eps_pitch_min
|
|
|
|
#define eps_roll_max aircraft_->eps_roll_max
|
|
|
|
#define eps_thrust_min aircraft_->eps_thrust_min
|
|
|
|
#define eps_flap_max aircraft_->eps_flap_max
|
|
|
|
#define eps_airspeed_max aircraft_->eps_airspeed_max
|
|
|
|
#define eps_airspeed_min aircraft_->eps_airspeed_min
|
2002-09-02 23:26:28 +00:00
|
|
|
|
|
|
|
double Ch;
|
|
|
|
#define Ch aircraft_->Ch;
|
|
|
|
|
|
|
|
double CL_clean, CL_iced;
|
2002-11-08 17:03:49 +00:00
|
|
|
double CY_clean, CY_iced;
|
2002-09-02 23:26:28 +00:00
|
|
|
double CD_clean, CD_iced;
|
|
|
|
double Cm_clean, Cm_iced;
|
|
|
|
double Cl_clean, Cl_iced;
|
2002-11-08 17:03:49 +00:00
|
|
|
double Cn_clean, Cn_iced;
|
2002-09-02 23:26:28 +00:00
|
|
|
double Ch_clean, Ch_iced;
|
|
|
|
#define CL_clean aircraft_->CL_clean
|
2002-11-08 17:03:49 +00:00
|
|
|
#define CY_clean aircraft_->CY_clean
|
2002-09-02 23:26:28 +00:00
|
|
|
#define CD_clean aircraft_->CD_clean
|
|
|
|
#define Cm_clean aircraft_->Cm_clean
|
|
|
|
#define Cl_clean aircraft_->Cl_clean
|
2002-11-08 17:03:49 +00:00
|
|
|
#define Cn_clean aircraft_->Cn_clean
|
2002-09-02 23:26:28 +00:00
|
|
|
#define Ch_clean aircraft_->Ch_clean
|
|
|
|
#define CL_iced aircraft_->CL_iced
|
2002-11-08 17:03:49 +00:00
|
|
|
#define CY_iced aircraft_->CY_iced
|
2002-09-02 23:26:28 +00:00
|
|
|
#define CD_iced aircraft_->CD_iced
|
|
|
|
#define Cm_iced aircraft_->Cm_iced
|
|
|
|
#define Cl_iced aircraft_->Cl_iced
|
2002-11-08 17:03:49 +00:00
|
|
|
#define Cn_iced aircraft_->Cn_iced
|
2002-09-02 23:26:28 +00:00
|
|
|
#define Ch_iced aircraft_->Ch_iced
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
ofstream fout;
|
|
|
|
|
|
|
|
#define fout aircraft_->fout
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
bool ignore_unknown_keywords;
|
|
|
|
#define ignore_unknown_keywords aircraft_->ignore_unknown_keywords
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2002-11-08 17:03:49 +00:00
|
|
|
int ap_pah_on;
|
|
|
|
#define ap_pah_on aircraft_->ap_pah_on
|
|
|
|
double ap_Theta_ref_deg, ap_Theta_ref_rad;
|
|
|
|
#define ap_Theta_ref_deg aircraft_->ap_Theta_ref_deg
|
|
|
|
#define ap_Theta_ref_rad aircraft_->ap_Theta_ref_rad
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
int ap_alh_on;
|
|
|
|
#define ap_alh_on aircraft_->ap_alh_on
|
|
|
|
double ap_alt_ref_ft, ap_alt_ref_m;
|
|
|
|
#define ap_alt_ref_ft aircraft_->ap_alt_ref_ft
|
|
|
|
#define ap_alt_ref_m aircraft_->ap_alt_ref_m
|
|
|
|
|
2002-11-08 17:03:49 +00:00
|
|
|
int pitch_trim_up, pitch_trim_down;
|
|
|
|
#define pitch_trim_up aircraft_->pitch_trim_up
|
|
|
|
#define pitch_trim_down aircraft_->pitch_trim_down
|
|
|
|
|
|
|
|
bool pilot_throttle_no;
|
|
|
|
#define pilot_throttle_no aircraft_->pilot_throttle_no
|
|
|
|
|
|
|
|
int ice_tail, ice_left, ice_right;
|
|
|
|
#define ice_tail aircraft_->ice_tail
|
|
|
|
#define ice_left aircraft_->ice_left
|
|
|
|
#define ice_right aircraft_->ice_right
|
|
|
|
|
2003-05-13 18:45:04 +00:00
|
|
|
// Variables for the trigger command
|
|
|
|
int trigger_on, trigger_last_time_step, trigger_num;
|
|
|
|
int trigger_toggle, trigger_counter;
|
|
|
|
#define trigger_on aircraft_->trigger_on
|
|
|
|
#define trigger_last_time_step aircraft_->trigger_last_time_step
|
|
|
|
#define trigger_num aircraft_->trigger_num
|
|
|
|
#define trigger_toggle aircraft_->trigger_toggle
|
|
|
|
#define trigger_counter aircraft_->trigger_counter
|
2001-09-14 20:36:34 +00:00
|
|
|
};
|
2000-03-22 22:01:33 +00:00
|
|
|
|
2000-09-06 19:52:37 +00:00
|
|
|
extern AIRCRAFT *aircraft_; // usually defined in the first program that includes uiuc_aircraft.h
|
2000-03-22 22:01:33 +00:00
|
|
|
|
|
|
|
#endif // endif _AIRCRAFT_H
|