1 /**********************************************************************
3 FILENAME: uiuc_aircraft.h
5 ----------------------------------------------------------------------
7 DESCRIPTION: creates maps for all keywords and variables expected in
8 aircraft input file, includes all parameters that
9 define the aircraft for use in the uiuc aircraft models.
11 ----------------------------------------------------------------------
15 ----------------------------------------------------------------------
19 ----------------------------------------------------------------------
21 HISTORY: 01/26/2000 initial release
22 02/10/2000 (JS) changed aeroData to aeroParts (etc.)
23 added Twin Otter 2.5 equation variables
24 added Dx_cg (etc.) to init & record maps
25 added controlsMixer to top level map
26 02/18/2000 (JS) added variables needed for 1D file
27 reading of CL and CD as functions of alpha
28 02/29/2000 (JS) added variables needed for 2D file
29 reading of CL, CD, and Cm as functions of
30 alpha and delta_e; of CY and Cn as function
31 of alpha and delta_r; and of Cl and Cn as
32 functions of alpha and delta_a
33 03/02/2000 (JS) added record features for 1D and 2D
35 03/29/2000 (JS) added Cmfa interpolation functions
36 and Weight; added misc map
37 04/01/2000 (JS) added throttle, longitudinal, lateral,
38 and rudder inputs to record map
39 03/09/2001 (DPM) added support for gear
41 ----------------------------------------------------------------------
43 AUTHOR(S): Bipin Sehgal <bsehgal@uiuc.edu>
44 Jeff Scott <jscott@mail.com>
45 David Megginson <david@megginson.com>
47 ----------------------------------------------------------------------
51 ----------------------------------------------------------------------
55 ----------------------------------------------------------------------
59 ----------------------------------------------------------------------
61 CALLED BY: uiuc_1DdataFileReader.cpp
62 uiuc_2DdataFileReader.cpp
63 uiuc_aerodeflections.cpp
66 uiuc_initializemaps.cpp
70 ----------------------------------------------------------------------
74 ----------------------------------------------------------------------
76 COPYRIGHT: (C) 2000 by Michael Selig
78 This program is free software; you can redistribute it and/or
79 modify it under the terms of the GNU General Public License
80 as published by the Free Software Foundation.
82 This program is distributed in the hope that it will be useful,
83 but WITHOUT ANY WARRANTY; without even the implied warranty of
84 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
85 GNU General Public License for more details.
87 You should have received a copy of the GNU General Public License
88 along with this program; if not, write to the Free Software
89 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
90 USA or view http://www.gnu.org/copyleft/gpl.html.
92 **********************************************************************/
98 #include <simgear/compiler.h>
101 #include STL_IOSTREAM
104 #include "uiuc_parsefile.h"
107 SG_USING_STD(iostream);
108 #if defined ( macintosh ) || defined ( _MSC_VER )
109 SG_USING_STD(ofstream);
113 typedef stack :: iterator LIST;
115 /* Add more keywords here if required*/
116 enum {init_flag = 1000, geometry_flag, controlSurface_flag, controlsMixer_flag,
117 mass_flag, engine_flag, CD_flag, CL_flag, Cm_flag, CY_flag, Cl_flag,
118 Cn_flag, gear_flag, ice_flag, record_flag, misc_flag};
120 // init ======= Initial values for equation of motion
121 enum {Dx_pilot_flag = 2000, Dy_pilot_flag, Dz_pilot_flag,
122 Dx_cg_flag, Dy_cg_flag, Dz_cg_flag, Altitude_flag,
123 V_north_flag, V_east_flag, V_down_flag,
124 P_body_flag, Q_body_flag, R_body_flag,
125 Phi_flag, Theta_flag, Psi_flag,
126 Long_trim_flag, recordRate_flag, recordStartTime_flag,
127 nondim_rate_V_rel_wind_flag, dyn_on_speed_flag};
129 // geometry === Aircraft-specific geometric quantities
130 enum {bw_flag = 3000, cbar_flag, Sw_flag, ih_flag, bh_flag, ch_flag, Sh_flag};
132 // controlSurface = Control surface deflections and properties
133 enum {de_flag = 4000, da_flag, dr_flag,
134 set_Long_trim_flag, set_Long_trim_deg_flag, zero_Long_trim_flag,
135 elevator_step_flag, elevator_singlet_flag, elevator_doublet_flag, elevator_input_flag};
137 // controlsMixer == Controls mixer
138 enum {nomix_flag = 5000};
140 //mass ======== Aircraft-specific mass properties
141 enum {Weight_flag = 6000, Mass_flag, I_xx_flag, I_yy_flag, I_zz_flag, I_xz_flag};
143 // engine ===== Propulsion data
144 enum {simpleSingle_flag = 7000, c172_flag, cherokee_flag};
146 // CD ========= Aerodynamic x-force quantities (longitudinal)
147 enum {CDo_flag = 8000, CDK_flag, CD_a_flag, CD_adot_flag, CD_q_flag, CD_ih_flag, CD_de_flag,
148 CDfa_flag, CDfCL_flag, CDfade_flag, CDfdf_flag, CDfadf_flag,
149 CXo_flag, CXK_flag, CX_a_flag, CX_a2_flag, CX_a3_flag, CX_adot_flag,
150 CX_q_flag, CX_de_flag, CX_dr_flag, CX_df_flag, CX_adf_flag};
152 // CL ========= Aerodynamic z-force quantities (longitudinal)
153 enum {CLo_flag = 9000, CL_a_flag, CL_adot_flag, CL_q_flag, CL_ih_flag, CL_de_flag,
154 CLfa_flag, CLfade_flag, CLfdf_flag, CLfadf_flag,
155 CZo_flag, CZ_a_flag, CZ_a2_flag, CZ_a3_flag, CZ_adot_flag,
156 CZ_q_flag, CZ_de_flag, CZ_deb2_flag, CZ_df_flag, CZ_adf_flag};
158 // Cm ========= Aerodynamic m-moment quantities (longitudinal)
159 enum {Cmo_flag = 10000, Cm_a_flag, Cm_a2_flag, Cm_adot_flag, Cm_q_flag,
160 Cm_ih_flag, Cm_de_flag, Cm_b2_flag, Cm_r_flag, Cm_df_flag,
161 Cmfa_flag, Cmfade_flag, Cmfdf_flag, Cmfadf_flag};
163 // CY ========= Aerodynamic y-force quantities (lateral)
164 enum {CYo_flag = 11000, CY_beta_flag, CY_p_flag, CY_r_flag, CY_da_flag,
165 CY_dr_flag, CY_dra_flag, CY_bdot_flag, CYfada_flag, CYfbetadr_flag};
167 // Cl ========= Aerodynamic l-moment quantities (lateral)
168 enum {Clo_flag = 12000, Cl_beta_flag, Cl_p_flag, Cl_r_flag, Cl_da_flag,
169 Cl_dr_flag, Cl_daa_flag, Clfada_flag, Clfbetadr_flag};
171 // Cn ========= Aerodynamic n-moment quantities (lateral)
172 enum {Cno_flag = 13000, Cn_beta_flag, Cn_p_flag, Cn_r_flag, Cn_da_flag,
173 Cn_dr_flag, Cn_q_flag, Cn_b3_flag, Cnfada_flag, Cnfbetadr_flag};
175 // gear ======= Landing gear model quantities
176 enum {Dx_gear_flag = 14000, Dy_gear_flag, Dz_gear_flag, cgear_flag,
177 kgear_flag, muGear_flag, strutLength_flag};
179 // ice ======== Ice model quantities
180 enum {iceTime_flag = 15000, transientTime_flag, eta_ice_final_flag,
181 beta_probe_wing_flag, beta_probe_tail_flag,
182 kCDo_flag, kCDK_flag, kCD_a_flag, kCD_adot_flag, kCD_q_flag, kCD_de_flag,
183 kCXo_flag, kCXK_flag, kCX_a_flag, kCX_a2_flag, kCX_a3_flag, kCX_adot_flag,
184 kCX_q_flag, kCX_de_flag, kCX_dr_flag, kCX_df_flag, kCX_adf_flag,
185 kCLo_flag, kCL_a_flag, kCL_adot_flag, kCL_q_flag, kCL_de_flag,
186 kCZo_flag, kCZ_a_flag, kCZ_a2_flag, kCZ_a3_flag, kCZ_adot_flag,
187 kCZ_q_flag, kCZ_de_flag, kCZ_deb2_flag, kCZ_df_flag, kCZ_adf_flag,
188 kCmo_flag, kCm_a_flag, kCm_a2_flag, kCm_adot_flag, kCm_q_flag,
189 kCm_de_flag, kCm_b2_flag, kCm_r_flag, kCm_df_flag,
190 kCYo_flag, kCY_beta_flag, kCY_p_flag, kCY_r_flag, kCY_da_flag,
191 kCY_dr_flag, kCY_dra_flag, kCY_bdot_flag,
192 kClo_flag, kCl_beta_flag, kCl_p_flag, kCl_r_flag, kCl_da_flag,
193 kCl_dr_flag, kCl_daa_flag,
194 kCno_flag, kCn_beta_flag, kCn_p_flag, kCn_r_flag, kCn_da_flag,
195 kCn_dr_flag, kCn_q_flag, kCn_b3_flag};
197 // record ===== Record desired quantites to file
198 enum {Simtime_record = 16000, dt_record,
200 Weight_record, Mass_record, I_xx_record, I_yy_record, I_zz_record, I_xz_record,
202 Dx_pilot_record, Dy_pilot_record, Dz_pilot_record,
203 Dx_cg_record, Dy_cg_record, Dz_cg_record,
204 Lat_geocentric_record, Lon_geocentric_record, Radius_to_vehicle_record,
205 Latitude_record, Longitude_record, Altitude_record,
206 Phi_record, Theta_record, Psi_record,
208 V_dot_north_record, V_dot_east_record, V_dot_down_record,
209 U_dot_body_record, V_dot_body_record, W_dot_body_record,
210 A_X_pilot_record, A_Y_pilot_record, A_Z_pilot_record,
211 A_X_cg_record, A_Y_cg_record, A_Z_cg_record,
212 N_X_pilot_record, N_Y_pilot_record, N_Z_pilot_record,
213 N_X_cg_record, N_Y_cg_record, N_Z_cg_record,
214 P_dot_body_record, Q_dot_body_record, R_dot_body_record,
216 V_north_record, V_east_record, V_down_record,
217 V_north_rel_ground_record, V_east_rel_ground_record, V_down_rel_ground_record,
218 V_north_airmass_record, V_east_airmass_record, V_down_airmass_record,
219 V_north_rel_airmass_record, V_east_rel_airmass_record, V_down_rel_airmass_record,
220 U_gust_record, V_gust_record, W_gust_record,
221 U_body_record, V_body_record, W_body_record,
222 V_rel_wind_record, V_true_kts_record, V_rel_ground_record,
223 V_inertial_record, V_ground_speed_record, V_equiv_record,
224 V_equiv_kts_record, V_calibrated_record, V_calibrated_kts_record,
225 P_local_record, Q_local_record, R_local_record,
226 P_body_record, Q_body_record, R_body_record,
227 P_total_record, Q_total_record, R_total_record,
228 Phi_dot_record, Theta_dot_record, Psi_dot_record,
229 Latitude_dot_record, Longitude_dot_record, Radius_dot_record,
231 Alpha_record, Alpha_deg_record, Alpha_dot_record, Alpha_dot_deg_record,
232 Beta_record, Beta_deg_record, Beta_dot_record, Beta_dot_deg_record,
233 Gamma_vert_record, Gamma_vert_deg_record, Gamma_horiz_record, Gamma_horiz_deg_record,
235 Density_record, V_sound_record, Mach_number_record,
236 Static_pressure_record, Total_pressure_record, Impact_pressure_record,
237 Dynamic_pressure_record,
238 Static_temperature_record, Total_temperature_record,
240 Gravity_record, Sea_level_radius_record, Earth_position_angle_record,
241 Runway_altitude_record, Runway_latitude_record, Runway_longitude_record,
242 Runway_heading_record, Radius_to_rwy_record,
243 D_pilot_north_of_rwy_record, D_pilot_east_of_rwy_record, D_pilot_above_rwy_record,
244 X_pilot_rwy_record, Y_pilot_rwy_record, H_pilot_rwy_record,
245 D_cg_north_of_rwy_record, D_cg_east_of_rwy_record, D_cg_above_rwy_record,
246 X_cg_rwy_record, Y_cg_rwy_record, H_cg_rwy_record,
248 Throttle_3_record, Throttle_pct_record,
250 Long_control_record, Long_trim_record, Long_trim_deg_record,
251 elevator_record, elevator_deg_record,
252 Lat_control_record, aileron_record, aileron_deg_record,
253 Rudder_pedal_record, rudder_record, rudder_deg_record,
254 Flap_handle_record, flap_record, flap_deg_record,
256 CD_record, CDfaI_record, CDfCLI_record, CDfadeI_record, CDfdfI_record, CDfadfI_record, CX_record,
257 CL_record, CLfaI_record, CLfadeI_record, CLfdfI_record, CLfadfI_record, CZ_record,
258 Cm_record, CmfaI_record, CmfadeI_record, CmfdfI_record, CmfadfI_record,
259 CY_record, CYfadaI_record, CYfbetadrI_record,
260 Cl_record, ClfadaI_record, ClfbetadrI_record,
261 Cn_record, CnfadaI_record, CnfbetadrI_record,
263 F_X_wind_record, F_Y_wind_record, F_Z_wind_record,
264 F_X_aero_record, F_Y_aero_record, F_Z_aero_record,
265 F_X_engine_record, F_Y_engine_record, F_Z_engine_record,
266 F_X_gear_record, F_Y_gear_record, F_Z_gear_record,
267 F_X_record, F_Y_record, F_Z_record,
268 F_north_record, F_east_record, F_down_record,
270 M_l_aero_record, M_m_aero_record, M_n_aero_record,
271 M_l_engine_record, M_m_engine_record, M_n_engine_record,
272 M_l_gear_record, M_m_gear_record, M_n_gear_record,
273 M_l_rp_record, M_m_rp_record, M_n_rp_record,
275 CLclean_wing_record, CLiced_wing_record,
276 CLclean_tail_record, CLiced_tail_record,
277 Lift_clean_wing_record, Lift_iced_wing_record,
278 Lift_clean_tail_record, Lift_iced_tail_record,
279 Gamma_clean_wing_record, Gamma_iced_wing_record,
280 Gamma_clean_tail_record, Gamma_iced_tail_record,
281 w_clean_wing_record, w_iced_wing_record,
282 w_clean_tail_record, w_iced_tail_record,
283 V_total_clean_wing_record, V_total_iced_wing_record,
284 V_total_clean_tail_record, V_total_iced_tail_record,
285 beta_flow_clean_wing_record, beta_flow_clean_wing_deg_record,
286 beta_flow_iced_wing_record, beta_flow_iced_wing_deg_record,
287 beta_flow_clean_tail_record, beta_flow_clean_tail_deg_record,
288 beta_flow_iced_tail_record, beta_flow_iced_tail_deg_record,
289 Dbeta_flow_wing_record, Dbeta_flow_wing_deg_record,
290 Dbeta_flow_tail_record, Dbeta_flow_tail_deg_record,
291 pct_beta_flow_wing_record, pct_beta_flow_tail_record};
293 // misc ======= Miscellaneous inputs
294 enum {simpleHingeMomentCoef_flag = 17000, dfTimefdf_flag};
299 // ParseFile stuff [] Bipin to add more comments
301 #define airplane aircraft_->airplane
302 ParseFile *initParts;
303 #define initParts aircraft_->initParts
304 ParseFile *geometryParts;
305 #define geometryParts aircraft_->geometryParts
306 ParseFile *massParts;
307 #define massParts aircraft_->massParts
308 ParseFile *aeroDragParts;
309 #define aeroDragParts aircraft_->aeroDragParts
310 ParseFile *aeroLiftParts;
311 #define aeroLiftParts aircraft_->aeroLiftParts
312 ParseFile *aeroPitchParts;
313 #define aeroPitchParts aircraft_->aeroPitchParts
314 ParseFile *aeroSideforceParts;
315 #define aeroSideforceParts aircraft_->aeroSideforceParts
316 ParseFile *aeroRollParts;
317 #define aeroRollParts aircraft_->aeroRollParts
318 ParseFile *aeroYawParts;
319 #define aeroYawParts aircraft_->aeroYawParts
320 ParseFile *engineParts;
321 #define engineParts aircraft_->engineParts
322 ParseFile *gearParts;
323 #define gearParts aircraft_->gearParts
324 ParseFile *recordParts;
325 #define recordParts aircraft_->recordParts
327 /*= Keywords (token1) ===========================================*/
328 map <string,int> Keyword_map;
329 #define Keyword_map aircraft_->Keyword_map
331 double CD, CX, CL, CZ, Cm, CY, Cl, Cn;
332 #define CD aircraft_->CD
333 #define CX aircraft_->CX
334 #define CL aircraft_->CL
335 #define CZ aircraft_->CZ
336 #define Cm aircraft_->Cm
337 #define CY aircraft_->CY
338 #define Cl aircraft_->Cl
339 #define Cn aircraft_->Cn
340 double CXclean_wing, CXclean_tail, CXiced_wing, CXiced_tail;
341 double CLclean_wing, CLclean_tail, CLiced_wing, CLiced_tail;
342 double CZclean_wing, CZclean_tail, CZiced_wing, CZiced_tail;
343 #define CXclean_wing aircraft_->CXclean_wing
344 #define CXclean_tail aircraft_->CXclean_tail
345 #define CXiced_wing aircraft_->CXiced_wing
346 #define CXiced_tail aircraft_->CXiced_tail
347 #define CLclean_wing aircraft_->CLclean_wing
348 #define CLclean_tail aircraft_->CLclean_tail
349 #define CLiced_wing aircraft_->CLiced_wing
350 #define CLiced_tail aircraft_->CLiced_tail
351 #define CZclean_wing aircraft_->CZclean_wing
352 #define CZclean_tail aircraft_->CZclean_tail
353 #define CZiced_wing aircraft_->CZiced_wing
354 #define CZiced_tail aircraft_->CZiced_tail
356 /*========================================*/
357 /* Variables (token2) - 17 groups (000329)*/
358 /*========================================*/
360 /* Variables (token2) ===========================================*/
361 /* init ========== Initial values for equations of motion =======*/
363 map <string,int> init_map;
364 #define init_map aircraft_->init_map
367 #define recordRate aircraft_->recordRate
368 double recordStartTime;
369 #define recordStartTime aircraft_->recordStartTime
370 bool nondim_rate_V_rel_wind;
371 #define nondim_rate_V_rel_wind aircraft_->nondim_rate_V_rel_wind
373 #define dyn_on_speed aircraft_->dyn_on_speed
376 /* Variables (token2) ===========================================*/
377 /* geometry ====== Aircraft-specific geometric quantities =======*/
379 map <string,int> geometry_map;
380 #define geometry_map aircraft_->geometry_map
382 double bw, cbar, Sw, ih, bh, ch, Sh;
383 #define bw aircraft_->bw
384 #define cbar aircraft_->cbar
385 #define Sw aircraft_->Sw
386 #define ih aircraft_->ih
387 #define bh aircraft_->bh
388 #define ch aircraft_->ch
389 #define Sh aircraft_->Sh
392 /* Variables (token2) ===========================================*/
393 /* controlSurface Control surface deflections and properties ===*/
395 map <string,int> controlSurface_map;
396 #define controlSurface_map aircraft_->controlSurface_map
401 #define demax aircraft_->demax
402 #define demin aircraft_->demin
403 #define damax aircraft_->damax
404 #define damin aircraft_->damin
405 #define drmax aircraft_->drmax
406 #define drmin aircraft_->drmin
408 double aileron, elevator, rudder;
409 #define aileron aircraft_->aileron
410 #define elevator aircraft_->elevator
411 #define rudder aircraft_->rudder
413 #define flap aircraft_->flap
415 bool set_Long_trim, zero_Long_trim;
416 double Long_trim_constant;
417 #define set_Long_trim aircraft_->set_Long_trim
418 #define Long_trim_constant aircraft_->Long_trim_constant
419 #define zero_Long_trim aircraft_->zero_Long_trim
422 double elevator_step_angle, elevator_step_startTime;
423 #define elevator_step aircraft_->elevator_step
424 #define elevator_step_angle aircraft_->elevator_step_angle
425 #define elevator_step_startTime aircraft_->elevator_step_startTime
427 bool elevator_singlet;
428 double elevator_singlet_angle, elevator_singlet_startTime;
429 double elevator_singlet_duration;
430 #define elevator_singlet aircraft_->elevator_singlet
431 #define elevator_singlet_angle aircraft_->elevator_singlet_angle
432 #define elevator_singlet_startTime aircraft_->elevator_singlet_startTime
433 #define elevator_singlet_duration aircraft_->elevator_singlet_duration
435 bool elevator_doublet;
436 double elevator_doublet_angle, elevator_doublet_startTime;
437 double elevator_doublet_duration;
438 #define elevator_doublet aircraft_->elevator_doublet
439 #define elevator_doublet_angle aircraft_->elevator_doublet_angle
440 #define elevator_doublet_startTime aircraft_->elevator_doublet_startTime
441 #define elevator_doublet_duration aircraft_->elevator_doublet_duration
444 string elevator_input_file;
445 double elevator_input_timeArray[1000];
446 double elevator_input_deArray[1000];
447 int elevator_input_ntime;
448 double elevator_input_startTime;
449 #define elevator_input aircraft_->elevator_input
450 #define elevator_input_file aircraft_->elevator_input_file
451 #define elevator_input_timeArray aircraft_->elevator_input_timeArray
452 #define elevator_input_deArray aircraft_->elevator_input_deArray
453 #define elevator_input_ntime aircraft_->elevator_input_ntime
454 #define elevator_input_startTime aircraft_->elevator_input_startTime
457 /* Variables (token2) ===========================================*/
458 /* controlsMixer = Control mixer ================================*/
460 map <string,int> controlsMixer_map;
461 #define controlsMixer_map aircraft_->controlsMixer_map
464 #define nomix aircraft_->nomix
467 /* Variables (token2) ===========================================*/
468 /* mass =========== Aircraft-specific mass properties ===========*/
470 map <string,int> mass_map;
471 #define mass_map aircraft_->mass_map
474 #define Weight aircraft_->Weight
477 /* Variables (token2) ===========================================*/
478 /* engine ======== Propulsion data ==============================*/
480 map <string,int> engine_map;
481 #define engine_map aircraft_->engine_map
483 double simpleSingleMaxThrust;
484 #define simpleSingleMaxThrust aircraft_->simpleSingleMaxThrust
487 /* Variables (token2) ===========================================*/
488 /* CD ============ Aerodynamic x-force quantities (longitudinal) */
490 map <string,int> CD_map;
491 #define CD_map aircraft_->CD_map
493 double CDo, CDK, CD_a, CD_adot, CD_q, CD_ih, CD_de;
494 #define CDo aircraft_->CDo
495 #define CDK aircraft_->CDK
496 #define CD_a aircraft_->CD_a
497 #define CD_adot aircraft_->CD_adot
498 #define CD_q aircraft_->CD_q
499 #define CD_ih aircraft_->CD_ih
500 #define CD_de aircraft_->CD_de
502 double CDfa_aArray[100];
503 double CDfa_CDArray[100];
506 #define CDfa aircraft_->CDfa
507 #define CDfa_aArray aircraft_->CDfa_aArray
508 #define CDfa_CDArray aircraft_->CDfa_CDArray
509 #define CDfa_nAlpha aircraft_->CDfa_nAlpha
510 #define CDfaI aircraft_->CDfaI
512 double CDfCL_CLArray[100];
513 double CDfCL_CDArray[100];
516 #define CDfCL aircraft_->CDfCL
517 #define CDfCL_CLArray aircraft_->CDfCL_CLArray
518 #define CDfCL_CDArray aircraft_->CDfCL_CDArray
519 #define CDfCL_nCL aircraft_->CDfCL_nCL
520 #define CDfCLI aircraft_->CDfCLI
522 double CDfade_aArray[100][100];
523 double CDfade_deArray[100];
524 double CDfade_CDArray[100][100];
525 int CDfade_nAlphaArray[100];
528 #define CDfade aircraft_->CDfade
529 #define CDfade_aArray aircraft_->CDfade_aArray
530 #define CDfade_deArray aircraft_->CDfade_deArray
531 #define CDfade_CDArray aircraft_->CDfade_CDArray
532 #define CDfade_nAlphaArray aircraft_->CDfade_nAlphaArray
533 #define CDfade_nde aircraft_->CDfade_nde
534 #define CDfadeI aircraft_->CDfadeI
536 double CDfdf_dfArray[100];
537 double CDfdf_CDArray[100];
540 #define CDfdf aircraft_->CDfdf
541 #define CDfdf_dfArray aircraft_->CDfdf_dfArray
542 #define CDfdf_CDArray aircraft_->CDfdf_CDArray
543 #define CDfdf_ndf aircraft_->CDfdf_ndf
544 #define CDfdfI aircraft_->CDfdfI
546 double CDfadf_aArray[100][100];
547 double CDfadf_dfArray[100];
548 double CDfadf_CDArray[100][100];
549 int CDfadf_nAlphaArray[100];
552 #define CDfadf aircraft_->CDfadf
553 #define CDfadf_aArray aircraft_->CDfadf_aArray
554 #define CDfadf_dfArray aircraft_->CDfadf_dfArray
555 #define CDfadf_CDArray aircraft_->CDfadf_CDArray
556 #define CDfadf_nAlphaArray aircraft_->CDfadf_nAlphaArray
557 #define CDfadf_ndf aircraft_->CDfadf_ndf
558 #define CDfadfI aircraft_->CDfadfI
559 double CXo, CXK, CX_a, CX_a2, CX_a3, CX_adot;
560 double CX_q, CX_de, CX_dr, CX_df, CX_adf;
561 #define CXo aircraft_->CXo
562 #define CXK aircraft_->CXK
563 #define CX_a aircraft_->CX_a
564 #define CX_a2 aircraft_->CX_a2
565 #define CX_a3 aircraft_->CX_a3
566 #define CX_adot aircraft_->CX_adot
567 #define CX_q aircraft_->CX_q
568 #define CX_de aircraft_->CX_de
569 #define CX_dr aircraft_->CX_dr
570 #define CX_df aircraft_->CX_df
571 #define CX_adf aircraft_->CX_adf
574 /* Variables (token2) ===========================================*/
575 /* CL ============ Aerodynamic z-force quantities (longitudinal) */
577 map <string,int> CL_map;
578 #define CL_map aircraft_->CL_map
580 double CLo, CL_a, CL_adot, CL_q, CL_ih, CL_de;
581 #define CLo aircraft_->CLo
582 #define CL_a aircraft_->CL_a
583 #define CL_adot aircraft_->CL_adot
584 #define CL_q aircraft_->CL_q
585 #define CL_ih aircraft_->CL_ih
586 #define CL_de aircraft_->CL_de
588 double CLfa_aArray[100];
589 double CLfa_CLArray[100];
592 #define CLfa aircraft_->CLfa
593 #define CLfa_aArray aircraft_->CLfa_aArray
594 #define CLfa_CLArray aircraft_->CLfa_CLArray
595 #define CLfa_nAlpha aircraft_->CLfa_nAlpha
596 #define CLfaI aircraft_->CLfaI
598 double CLfade_aArray[100][100];
599 double CLfade_deArray[100];
600 double CLfade_CLArray[100][100];
601 int CLfade_nAlphaArray[100];
604 #define CLfade aircraft_->CLfade
605 #define CLfade_aArray aircraft_->CLfade_aArray
606 #define CLfade_deArray aircraft_->CLfade_deArray
607 #define CLfade_CLArray aircraft_->CLfade_CLArray
608 #define CLfade_nAlphaArray aircraft_->CLfade_nAlphaArray
609 #define CLfade_nde aircraft_->CLfade_nde
610 #define CLfadeI aircraft_->CLfadeI
612 double CLfdf_dfArray[100];
613 double CLfdf_CLArray[100];
616 #define CLfdf aircraft_->CLfdf
617 #define CLfdf_dfArray aircraft_->CLfdf_dfArray
618 #define CLfdf_CLArray aircraft_->CLfdf_CLArray
619 #define CLfdf_ndf aircraft_->CLfdf_ndf
620 #define CLfdfI aircraft_->CLfdfI
622 double CLfadf_aArray[100][100];
623 double CLfadf_dfArray[100];
624 double CLfadf_CLArray[100][100];
625 int CLfadf_nAlphaArray[100];
628 #define CLfadf aircraft_->CLfadf
629 #define CLfadf_aArray aircraft_->CLfadf_aArray
630 #define CLfadf_dfArray aircraft_->CLfadf_dfArray
631 #define CLfadf_CLArray aircraft_->CLfadf_CLArray
632 #define CLfadf_nAlphaArray aircraft_->CLfadf_nAlphaArray
633 #define CLfadf_ndf aircraft_->CLfadf_ndf
634 #define CLfadfI aircraft_->CLfadfI
635 double CZo, CZ_a, CZ_a2, CZ_a3, CZ_adot;
636 double CZ_q, CZ_de, CZ_deb2, CZ_df, CZ_adf;
637 #define CZo aircraft_->CZo
638 #define CZ_a aircraft_->CZ_a
639 #define CZ_a2 aircraft_->CZ_a2
640 #define CZ_a3 aircraft_->CZ_a3
641 #define CZ_adot aircraft_->CZ_adot
642 #define CZ_q aircraft_->CZ_q
643 #define CZ_de aircraft_->CZ_de
644 #define CZ_deb2 aircraft_->CZ_deb2
645 #define CZ_df aircraft_->CZ_df
646 #define CZ_adf aircraft_->CZ_adf
649 /* Variables (token2) ===========================================*/
650 /* Cm ============ Aerodynamic m-moment quantities (longitudinal) */
652 map <string,int> Cm_map;
653 #define Cm_map aircraft_->Cm_map
655 double Cmo, Cm_a, Cm_a2, Cm_adot, Cm_q;
656 double Cm_ih, Cm_de, Cm_b2, Cm_r, Cm_df;
657 #define Cmo aircraft_->Cmo
658 #define Cm_a aircraft_->Cm_a
659 #define Cm_a2 aircraft_->Cm_a2
660 #define Cm_adot aircraft_->Cm_adot
661 #define Cm_q aircraft_->Cm_q
662 #define Cm_ih aircraft_->Cm_ih
663 #define Cm_de aircraft_->Cm_de
664 #define Cm_b2 aircraft_->Cm_b2
665 #define Cm_r aircraft_->Cm_r
666 #define Cm_df aircraft_->Cm_df
668 double Cmfa_aArray[100];
669 double Cmfa_CmArray[100];
672 #define Cmfa aircraft_->Cmfa
673 #define Cmfa_aArray aircraft_->Cmfa_aArray
674 #define Cmfa_CmArray aircraft_->Cmfa_CmArray
675 #define Cmfa_nAlpha aircraft_->Cmfa_nAlpha
676 #define CmfaI aircraft_->CmfaI
678 double Cmfade_aArray[100][100];
679 double Cmfade_deArray[100];
680 double Cmfade_CmArray[100][100];
681 int Cmfade_nAlphaArray[100];
684 #define Cmfade aircraft_->Cmfade
685 #define Cmfade_aArray aircraft_->Cmfade_aArray
686 #define Cmfade_deArray aircraft_->Cmfade_deArray
687 #define Cmfade_CmArray aircraft_->Cmfade_CmArray
688 #define Cmfade_nAlphaArray aircraft_->Cmfade_nAlphaArray
689 #define Cmfade_nde aircraft_->Cmfade_nde
690 #define CmfadeI aircraft_->CmfadeI
692 double Cmfdf_dfArray[100];
693 double Cmfdf_CmArray[100];
696 #define Cmfdf aircraft_->Cmfdf
697 #define Cmfdf_dfArray aircraft_->Cmfdf_dfArray
698 #define Cmfdf_CmArray aircraft_->Cmfdf_CmArray
699 #define Cmfdf_ndf aircraft_->Cmfdf_ndf
700 #define CmfdfI aircraft_->CmfdfI
702 double Cmfadf_aArray[100][100];
703 double Cmfadf_dfArray[100];
704 double Cmfadf_CmArray[100][100];
705 int Cmfadf_nAlphaArray[100];
708 #define Cmfadf aircraft_->Cmfadf
709 #define Cmfadf_aArray aircraft_->Cmfadf_aArray
710 #define Cmfadf_dfArray aircraft_->Cmfadf_dfArray
711 #define Cmfadf_CmArray aircraft_->Cmfadf_CmArray
712 #define Cmfadf_nAlphaArray aircraft_->Cmfadf_nAlphaArray
713 #define Cmfadf_ndf aircraft_->Cmfadf_ndf
714 #define CmfadfI aircraft_->CmfadfI
717 /* Variables (token2) ===========================================*/
718 /* CY ============ Aerodynamic y-force quantities (lateral) =====*/
720 map <string,int> CY_map;
721 #define CY_map aircraft_->CY_map
723 double CYo, CY_beta, CY_p, CY_r, CY_da, CY_dr, CY_dra, CY_bdot;
724 #define CYo aircraft_->CYo
725 #define CY_beta aircraft_->CY_beta
726 #define CY_p aircraft_->CY_p
727 #define CY_r aircraft_->CY_r
728 #define CY_da aircraft_->CY_da
729 #define CY_dr aircraft_->CY_dr
730 #define CY_dra aircraft_->CY_dra
731 #define CY_bdot aircraft_->CY_bdot
733 double CYfada_aArray[100][100];
734 double CYfada_daArray[100];
735 double CYfada_CYArray[100][100];
736 int CYfada_nAlphaArray[100];
739 #define CYfada aircraft_->CYfada
740 #define CYfada_aArray aircraft_->CYfada_aArray
741 #define CYfada_daArray aircraft_->CYfada_daArray
742 #define CYfada_CYArray aircraft_->CYfada_CYArray
743 #define CYfada_nAlphaArray aircraft_->CYfada_nAlphaArray
744 #define CYfada_nda aircraft_->CYfada_nda
745 #define CYfadaI aircraft_->CYfadaI
747 double CYfbetadr_betaArray[100][100];
748 double CYfbetadr_drArray[100];
749 double CYfbetadr_CYArray[100][100];
750 int CYfbetadr_nBetaArray[100];
753 #define CYfbetadr aircraft_->CYfbetadr
754 #define CYfbetadr_betaArray aircraft_->CYfbetadr_betaArray
755 #define CYfbetadr_drArray aircraft_->CYfbetadr_drArray
756 #define CYfbetadr_CYArray aircraft_->CYfbetadr_CYArray
757 #define CYfbetadr_nBetaArray aircraft_->CYfbetadr_nBetaArray
758 #define CYfbetadr_ndr aircraft_->CYfbetadr_ndr
759 #define CYfbetadrI aircraft_->CYfbetadrI
762 /* Variables (token2) ===========================================*/
763 /* Cl ============ Aerodynamic l-moment quantities (lateral) ====*/
765 map <string,int> Cl_map;
766 #define Cl_map aircraft_->Cl_map
768 double Clo, Cl_beta, Cl_p, Cl_r, Cl_da, Cl_dr, Cl_daa;
769 #define Clo aircraft_->Clo
770 #define Cl_beta aircraft_->Cl_beta
771 #define Cl_p aircraft_->Cl_p
772 #define Cl_r aircraft_->Cl_r
773 #define Cl_da aircraft_->Cl_da
774 #define Cl_dr aircraft_->Cl_dr
775 #define Cl_daa aircraft_->Cl_daa
777 double Clfada_aArray[100][100];
778 double Clfada_daArray[100];
779 double Clfada_ClArray[100][100];
780 int Clfada_nAlphaArray[100];
783 #define Clfada aircraft_->Clfada
784 #define Clfada_aArray aircraft_->Clfada_aArray
785 #define Clfada_daArray aircraft_->Clfada_daArray
786 #define Clfada_ClArray aircraft_->Clfada_ClArray
787 #define Clfada_nAlphaArray aircraft_->Clfada_nAlphaArray
788 #define Clfada_nda aircraft_->Clfada_nda
789 #define ClfadaI aircraft_->ClfadaI
791 double Clfbetadr_betaArray[100][100];
792 double Clfbetadr_drArray[100];
793 double Clfbetadr_ClArray[100][100];
794 int Clfbetadr_nBetaArray[100];
797 #define Clfbetadr aircraft_->Clfbetadr
798 #define Clfbetadr_betaArray aircraft_->Clfbetadr_betaArray
799 #define Clfbetadr_drArray aircraft_->Clfbetadr_drArray
800 #define Clfbetadr_ClArray aircraft_->Clfbetadr_ClArray
801 #define Clfbetadr_nBetaArray aircraft_->Clfbetadr_nBetaArray
802 #define Clfbetadr_ndr aircraft_->Clfbetadr_ndr
803 #define ClfbetadrI aircraft_->ClfbetadrI
806 /* Variables (token2) ===========================================*/
807 /* Cn ============ Aerodynamic n-moment quantities (lateral) ====*/
809 map <string,int> Cn_map;
810 #define Cn_map aircraft_->Cn_map
812 double Cno, Cn_beta, Cn_p, Cn_r, Cn_da, Cn_dr, Cn_q, Cn_b3;
813 #define Cno aircraft_->Cno
814 #define Cn_beta aircraft_->Cn_beta
815 #define Cn_p aircraft_->Cn_p
816 #define Cn_r aircraft_->Cn_r
817 #define Cn_da aircraft_->Cn_da
818 #define Cn_dr aircraft_->Cn_dr
819 #define Cn_q aircraft_->Cn_q
820 #define Cn_b3 aircraft_->Cn_b3
822 double Cnfada_aArray[100][100];
823 double Cnfada_daArray[100];
824 double Cnfada_CnArray[100][100];
825 int Cnfada_nAlphaArray[100];
828 #define Cnfada aircraft_->Cnfada
829 #define Cnfada_aArray aircraft_->Cnfada_aArray
830 #define Cnfada_daArray aircraft_->Cnfada_daArray
831 #define Cnfada_CnArray aircraft_->Cnfada_CnArray
832 #define Cnfada_nAlphaArray aircraft_->Cnfada_nAlphaArray
833 #define Cnfada_nda aircraft_->Cnfada_nda
834 #define CnfadaI aircraft_->CnfadaI
836 double Cnfbetadr_betaArray[100][100];
837 double Cnfbetadr_drArray[100];
838 double Cnfbetadr_CnArray[100][100];
839 int Cnfbetadr_nBetaArray[100];
842 #define Cnfbetadr aircraft_->Cnfbetadr
843 #define Cnfbetadr_betaArray aircraft_->Cnfbetadr_betaArray
844 #define Cnfbetadr_drArray aircraft_->Cnfbetadr_drArray
845 #define Cnfbetadr_CnArray aircraft_->Cnfbetadr_CnArray
846 #define Cnfbetadr_nBetaArray aircraft_->Cnfbetadr_nBetaArray
847 #define Cnfbetadr_ndr aircraft_->Cnfbetadr_ndr
848 #define CnfbetadrI aircraft_->CnfbetadrI
851 /* Variables (token2) ===========================================*/
852 /* gear ========== Landing gear model quantities ================*/
854 map <string,int> gear_map;
856 #define gear_map aircraft_->gear_map
858 bool gear_model[MAX_GEAR];
859 double D_gear_v[MAX_GEAR][3];
860 double cgear[MAX_GEAR];
861 double kgear[MAX_GEAR];
862 double muGear[MAX_GEAR];
863 double strutLength[MAX_GEAR];
864 #define D_gear_v aircraft_->D_gear_v
865 #define gear_model aircraft_->gear_model
866 #define cgear aircraft_->cgear
867 #define kgear aircraft_->kgear
868 #define muGear aircraft_->muGear
869 #define strutLength aircraft_->strutLength
872 /* Variables (token2) ===========================================*/
873 /* ice =========== Ice model quantities ======================== */
875 map <string,int> ice_map;
876 #define ice_map aircraft_->ice_map
878 bool ice_model, ice_on, beta_model;
880 double transientTime;
881 double eta_ice_final;
885 #define ice_model aircraft_->ice_model
886 #define ice_on aircraft_->ice_on
887 #define beta_model aircraft_->beta_model
888 #define iceTime aircraft_->iceTime
889 #define transientTime aircraft_->transientTime
890 #define eta_ice_final aircraft_->eta_ice_final
891 #define eta_ice aircraft_->eta_ice
892 #define x_probe_wing aircraft_->x_probe_wing
893 #define x_probe_tail aircraft_->x_probe_tail
894 double kCDo, kCDK, kCD_a, kCD_adot, kCD_q, kCD_de;
895 double CDo_clean, CDK_clean, CD_a_clean, CD_adot_clean, CD_q_clean, CD_de_clean;
896 #define kCDo aircraft_->kCDo
897 #define kCDK aircraft_->kCDK
898 #define kCD_a aircraft_->kCD_a
899 #define kCD_adot aircraft_->kCD_adot
900 #define kCD_q aircraft_->kCD_q
901 #define kCD_de aircraft_->kCD_de
902 #define CDo_clean aircraft_->CDo_clean
903 #define CDK_clean aircraft_->CDK_clean
904 #define CD_a_clean aircraft_->CD_a_clean
905 #define CD_adot_clean aircraft_->CD_adot_clean
906 #define CD_q_clean aircraft_->CD_q_clean
907 #define CD_de_clean aircraft_->CD_de_clean
908 double kCXo, kCXK, kCX_a, kCX_a2, kCX_a3, kCX_adot;
909 double kCX_q, kCX_de, kCX_dr, kCX_df, kCX_adf;
910 double CXo_clean, CXK_clean, CX_a_clean, CX_a2_clean, CX_a3_clean, CX_adot_clean;
911 double CX_q_clean, CX_de_clean, CX_dr_clean, CX_df_clean, CX_adf_clean;
912 #define kCXo aircraft_->kCXo
913 #define kCXK aircraft_->kCXK
914 #define kCX_a aircraft_->kCX_a
915 #define kCX_a2 aircraft_->kCX_a2
916 #define kCX_a3 aircraft_->kCX_a3
917 #define kCX_adot aircraft_->kCX_adot
918 #define kCX_q aircraft_->kCX_q
919 #define kCX_de aircraft_->kCX_de
920 #define kCX_dr aircraft_->kCX_dr
921 #define kCX_df aircraft_->kCX_df
922 #define kCX_adf aircraft_->kCX_adf
923 #define CXo_clean aircraft_->CXo_clean
924 #define CXK_clean aircraft_->CXK_clean
925 #define CX_a_clean aircraft_->CX_a_clean
926 #define CX_a2_clean aircraft_->CX_a2_clean
927 #define CX_a3_clean aircraft_->CX_a3_clean
928 #define CX_adot_clean aircraft_->CX_adot_clean
929 #define CX_q_clean aircraft_->CX_q_clean
930 #define CX_de_clean aircraft_->CX_de_clean
931 #define CX_dr_clean aircraft_->CX_dr_clean
932 #define CX_df_clean aircraft_->CX_df_clean
933 #define CX_adf_clean aircraft_->CX_adf_clean
934 double kCLo, kCL_a, kCL_adot, kCL_q, kCL_de;
935 double CLo_clean, CL_a_clean, CL_adot_clean, CL_q_clean, CL_de_clean;
936 #define kCLo aircraft_->kCLo
937 #define kCL_a aircraft_->kCL_a
938 #define kCL_adot aircraft_->kCL_adot
939 #define kCL_q aircraft_->kCL_q
940 #define kCL_de aircraft_->kCL_de
941 #define CLo_clean aircraft_->CLo_clean
942 #define CL_a_clean aircraft_->CL_a_clean
943 #define CL_adot_clean aircraft_->CL_adot_clean
944 #define CL_q_clean aircraft_->CL_q_clean
945 #define CL_de_clean aircraft_->CL_de_clean
946 double kCZo, kCZ_a, kCZ_a2, kCZ_a3, kCZ_adot, kCZ_q, kCZ_de, kCZ_deb2, kCZ_df, kCZ_adf;
947 double CZo_clean, CZ_a_clean, CZ_a2_clean, CZ_a3_clean, CZ_adot_clean;
948 double CZ_q_clean, CZ_de_clean, CZ_deb2_clean, CZ_df_clean, CZ_adf_clean;
949 #define kCZo aircraft_->kCZo
950 #define kCZ_a aircraft_->kCZ_a
951 #define kCZ_a2 aircraft_->kCZ_a2
952 #define kCZ_a3 aircraft_->kCZ_a3
953 #define kCZ_adot aircraft_->kCZ_adot
954 #define kCZ_q aircraft_->kCZ_q
955 #define kCZ_de aircraft_->kCZ_de
956 #define kCZ_deb2 aircraft_->kCZ_deb2
957 #define kCZ_df aircraft_->kCZ_df
958 #define kCZ_adf aircraft_->kCZ_adf
959 #define CZo_clean aircraft_->CZo_clean
960 #define CZ_a_clean aircraft_->CZ_a_clean
961 #define CZ_a2_clean aircraft_->CZ_a2_clean
962 #define CZ_a3_clean aircraft_->CZ_a3_clean
963 #define CZ_adot_clean aircraft_->CZ_adot_clean
964 #define CZ_q_clean aircraft_->CZ_q_clean
965 #define CZ_de_clean aircraft_->CZ_de_clean
966 #define CZ_deb2_clean aircraft_->CZ_deb2_clean
967 #define CZ_df_clean aircraft_->CZ_df_clean
968 #define CZ_adf_clean aircraft_->CZ_adf_clean
969 double kCmo, kCm_a, kCm_a2, kCm_adot, kCm_q, kCm_de, kCm_b2, kCm_r, kCm_df;
970 double Cmo_clean, Cm_a_clean, Cm_a2_clean, Cm_adot_clean, Cm_q_clean;
971 double Cm_de_clean, Cm_b2_clean, Cm_r_clean, Cm_df_clean;
972 #define kCmo aircraft_->kCmo
973 #define kCm_a aircraft_->kCm_a
974 #define kCm_a2 aircraft_->kCm_a2
975 #define kCm_adot aircraft_->kCm_adot
976 #define kCm_q aircraft_->kCm_q
977 #define kCm_de aircraft_->kCm_de
978 #define kCm_b2 aircraft_->kCm_b2
979 #define kCm_r aircraft_->kCm_r
980 #define kCm_df aircraft_->kCm_df
981 #define Cmo_clean aircraft_->Cmo_clean
982 #define Cm_a_clean aircraft_->Cm_a_clean
983 #define Cm_a2_clean aircraft_->Cm_a2_clean
984 #define Cm_adot_clean aircraft_->Cm_adot_clean
985 #define Cm_q_clean aircraft_->Cm_q_clean
986 #define Cm_de_clean aircraft_->Cm_de_clean
987 #define Cm_b2_clean aircraft_->Cm_b2_clean
988 #define Cm_r_clean aircraft_->Cm_r_clean
989 #define Cm_df_clean aircraft_->Cm_df_clean
990 double kCYo, kCY_beta, kCY_p, kCY_r, kCY_da, kCY_dr, kCY_dra, kCY_bdot;
991 double CYo_clean, CY_beta_clean, CY_p_clean, CY_r_clean, CY_da_clean;
992 double CY_dr_clean, CY_dra_clean, CY_bdot_clean;
993 #define kCYo aircraft_->kCYo
994 #define kCY_beta aircraft_->kCY_beta
995 #define kCY_p aircraft_->kCY_p
996 #define kCY_r aircraft_->kCY_r
997 #define kCY_da aircraft_->kCY_da
998 #define kCY_dr aircraft_->kCY_dr
999 #define kCY_dra aircraft_->kCY_dra
1000 #define kCY_bdot aircraft_->kCY_bdot
1001 #define CYo_clean aircraft_->CYo_clean
1002 #define CY_beta_clean aircraft_->CY_beta_clean
1003 #define CY_p_clean aircraft_->CY_p_clean
1004 #define CY_r_clean aircraft_->CY_r_clean
1005 #define CY_da_clean aircraft_->CY_da_clean
1006 #define CY_dr_clean aircraft_->CY_dr_clean
1007 #define CY_dra_clean aircraft_->CY_dra_clean
1008 #define CY_bdot_clean aircraft_->CY_bdot_clean
1009 double kClo, kCl_beta, kCl_p, kCl_r, kCl_da, kCl_dr, kCl_daa;
1010 double Clo_clean, Cl_beta_clean, Cl_p_clean, Cl_r_clean, Cl_da_clean;
1011 double Cl_dr_clean, Cl_daa_clean;
1012 #define kClo aircraft_->kClo
1013 #define kCl_beta aircraft_->kCl_beta
1014 #define kCl_p aircraft_->kCl_p
1015 #define kCl_r aircraft_->kCl_r
1016 #define kCl_da aircraft_->kCl_da
1017 #define kCl_dr aircraft_->kCl_dr
1018 #define kCl_daa aircraft_->kCl_daa
1019 #define Clo_clean aircraft_->Clo_clean
1020 #define Cl_beta_clean aircraft_->Cl_beta_clean
1021 #define Cl_p_clean aircraft_->Cl_p_clean
1022 #define Cl_r_clean aircraft_->Cl_r_clean
1023 #define Cl_da_clean aircraft_->Cl_da_clean
1024 #define Cl_dr_clean aircraft_->Cl_dr_clean
1025 #define Cl_daa_clean aircraft_->Cl_daa_clean
1026 double kCno, kCn_beta, kCn_p, kCn_r, kCn_da, kCn_dr, kCn_q, kCn_b3;
1027 double Cno_clean, Cn_beta_clean, Cn_p_clean, Cn_r_clean, Cn_da_clean;
1028 double Cn_dr_clean, Cn_q_clean, Cn_b3_clean;
1029 #define kCno aircraft_->kCno
1030 #define kCn_beta aircraft_->kCn_beta
1031 #define kCn_p aircraft_->kCn_p
1032 #define kCn_r aircraft_->kCn_r
1033 #define kCn_da aircraft_->kCn_da
1034 #define kCn_dr aircraft_->kCn_dr
1035 #define kCn_q aircraft_->kCn_q
1036 #define kCn_b3 aircraft_->kCn_b3
1037 #define Cno_clean aircraft_->Cno_clean
1038 #define Cn_beta_clean aircraft_->Cn_beta_clean
1039 #define Cn_p_clean aircraft_->Cn_p_clean
1040 #define Cn_r_clean aircraft_->Cn_r_clean
1041 #define Cn_da_clean aircraft_->Cn_da_clean
1042 #define Cn_dr_clean aircraft_->Cn_dr_clean
1043 #define Cn_q_clean aircraft_->Cn_q_clean
1044 #define Cn_b3_clean aircraft_->Cn_b3_clean
1047 /* Variables (token2) ===========================================*/
1048 /* record ======== Record desired quantites to file =============*/
1050 map <string,int> record_map;
1051 #define record_map aircraft_->record_map
1053 /***** Angles ******/
1054 double Alpha_deg, Alpha_dot_deg, Beta_deg, Beta_dot_deg;
1055 #define Alpha_deg aircraft_->Alpha_deg
1056 #define Alpha_dot_deg aircraft_->Alpha_dot_deg
1057 #define Beta_deg aircraft_->Beta_deg
1058 #define Beta_dot_deg aircraft_->Beta_dot_deg
1059 double Gamma_vert_deg, Gamma_horiz_deg;
1060 #define Gamma_vert_deg aircraft_->Gamma_vert_deg
1061 #define Gamma_horiz_deg aircraft_->Gamma_horiz_deg
1063 /** Control Inputs **/
1064 double Long_trim_deg, elevator_tab, elevator_deg, aileron_deg, rudder_deg;
1065 #define Long_trim_deg aircraft_->Long_trim_deg
1066 #define elevator_tab aircraft_->elevator_tab
1067 #define elevator_deg aircraft_->elevator_deg
1068 #define aileron_deg aircraft_->aileron_deg
1069 #define rudder_deg aircraft_->rudder_deg
1071 #define flap_deg aircraft_->flap_deg
1073 /***** Forces ******/
1074 double F_X_wind, F_Y_wind, F_Z_wind;
1075 #define F_X_wind aircraft_->F_X_wind
1076 #define F_Y_wind aircraft_->F_Y_wind
1077 #define F_Z_wind aircraft_->F_Z_wind
1078 double Lift_clean_wing, Lift_iced_wing;
1079 double Lift_clean_tail, Lift_iced_tail;
1080 #define Lift_clean_wing aircraft_->Lift_clean_wing
1081 #define Lift_iced_wing aircraft_->Lift_iced_wing
1082 #define Lift_clean_tail aircraft_->Lift_clean_tail
1083 #define Lift_iced_tail aircraft_->Lift_iced_tail
1084 double Gamma_clean_wing, Gamma_iced_wing;
1085 double Gamma_clean_tail, Gamma_iced_tail;
1086 #define Gamma_clean_wing aircraft_->Gamma_clean_wing
1087 #define Gamma_iced_wing aircraft_->Gamma_iced_wing
1088 #define Gamma_clean_tail aircraft_->Gamma_clean_tail
1089 #define Gamma_iced_tail aircraft_->Gamma_iced_tail
1090 double w_clean_wing, w_iced_wing;
1091 double w_clean_tail, w_iced_tail;
1092 #define w_clean_wing aircraft_->w_clean_wing
1093 #define w_iced_wing aircraft_->w_iced_wing
1094 #define w_clean_tail aircraft_->w_clean_tail
1095 #define w_iced_tail aircraft_->w_iced_tail
1096 double V_total_clean_wing, V_total_iced_wing;
1097 double V_total_clean_tail, V_total_iced_tail;
1098 #define V_total_clean_wing aircraft_->V_total_clean_wing
1099 #define V_total_iced_wing aircraft_->V_total_iced_wing
1100 #define V_total_clean_tail aircraft_->V_total_clean_tail
1101 #define V_total_iced_tail aircraft_->V_total_iced_tail
1102 double beta_flow_clean_wing, beta_flow_clean_wing_deg;
1103 double beta_flow_iced_wing, beta_flow_iced_wing_deg;
1104 double beta_flow_clean_tail, beta_flow_clean_tail_deg;
1105 double beta_flow_iced_tail, beta_flow_iced_tail_deg;
1106 #define beta_flow_clean_wing aircraft_->beta_flow_clean_wing
1107 #define beta_flow_clean_wing_deg aircraft_->beta_flow_clean_wing_deg
1108 #define beta_flow_iced_wing aircraft_->beta_flow_iced_wing
1109 #define beta_flow_iced_wing_deg aircraft_->beta_flow_iced_wing_deg
1110 #define beta_flow_clean_tail aircraft_->beta_flow_clean_tail
1111 #define beta_flow_clean_tail_deg aircraft_->beta_flow_clean_tail_deg
1112 #define beta_flow_iced_tail aircraft_->beta_flow_iced_tail
1113 #define beta_flow_iced_tail_deg aircraft_->beta_flow_iced_tail_deg
1114 double Dbeta_flow_wing, Dbeta_flow_wing_deg;
1115 double Dbeta_flow_tail, Dbeta_flow_tail_deg;
1116 #define Dbeta_flow_wing aircraft_->Dbeta_flow_wing
1117 #define Dbeta_flow_wing_deg aircraft_->Dbeta_flow_wing_deg
1118 #define Dbeta_flow_tail aircraft_->Dbeta_flow_tail
1119 #define Dbeta_flow_tail_deg aircraft_->Dbeta_flow_tail_deg
1120 double pct_beta_flow_wing, pct_beta_flow_tail;
1121 #define pct_beta_flow_wing aircraft_->pct_beta_flow_wing
1122 #define pct_beta_flow_tail aircraft_->pct_beta_flow_tail
1125 /* Variables (token2) ===========================================*/
1126 /* misc ========== Miscellaneous input commands =================*/
1128 map <string,int> misc_map;
1129 #define misc_map aircraft_->misc_map
1131 double simpleHingeMomentCoef;
1132 #define simpleHingeMomentCoef aircraft_->simpleHingeMomentCoef
1134 double dfTimefdf_dfArray[100];
1135 double dfTimefdf_TimeArray[100];
1137 #define dfTimefdf aircraft_->dfTimefdf
1138 #define dfTimefdf_dfArray aircraft_->dfTimefdf_dfArray
1139 #define dfTimefdf_TimeArray aircraft_->dfTimefdf_TimeArray
1140 #define dfTimefdf_ndf aircraft_->dfTimefdf_ndf
1143 /* Other variables (not tokens) =================================*/
1145 double convert_x, convert_y, convert_z;
1146 #define convert_x aircraft_->convert_x
1147 #define convert_y aircraft_->convert_y
1148 #define convert_z aircraft_->convert_z
1150 double cbar_2U, b_2U, ch_2U;
1151 #define cbar_2U aircraft_->cbar_2U
1152 #define b_2U aircraft_->b_2U
1153 #define ch_2U aircraft_->ch_2U
1156 double dfArray[100];
1157 double TimeArray[100];
1158 #define ndf aircraft_->ndf
1159 #define dfArray aircraft_->dfArray
1160 #define TimeArray aircraft_->TimeArray
1165 #define fout aircraft_->fout
1170 extern AIRCRAFT *aircraft_; // usually defined in the first program that includes uiuc_aircraft.h
1172 #endif // endif _AIRCRAFT_H