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
36 ----------------------------------------------------------------------
38 AUTHOR(S): Bipin Sehgal <bsehgal@uiuc.edu>
39 Jeff Scott <jscott@mail.com>
41 ----------------------------------------------------------------------
45 ----------------------------------------------------------------------
49 ----------------------------------------------------------------------
53 ----------------------------------------------------------------------
55 CALLED BY: uiuc_1DdataFileReader.cpp
56 uiuc_2DdataFileReader.cpp
57 uiuc_aerodeflections.cpp
60 uiuc_initializemaps.cpp
64 ----------------------------------------------------------------------
68 ----------------------------------------------------------------------
70 COPYRIGHT: (C) 2000 by Michael Selig
72 This program is free software; you can redistribute it and/or
73 modify it under the terms of the GNU General Public License
74 as published by the Free Software Foundation.
76 This program is distributed in the hope that it will be useful,
77 but WITHOUT ANY WARRANTY; without even the implied warranty of
78 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
79 GNU General Public License for more details.
81 You should have received a copy of the GNU General Public License
82 along with this program; if not, write to the Free Software
83 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
84 USA or view http://www.gnu.org/copyleft/gpl.html.
86 **********************************************************************/
92 #include <simgear/compiler.h>
96 #include "uiuc_parsefile.h"
99 FG_USING_STD(iostream);
101 FG_USING_STD(ofstream);
104 typedef stack :: iterator LIST;
106 /* Add more keywords here if required*/
107 enum {init_flag = 1000, geometry_flag, controlSurface_flag, controlsMixer_flag,
108 mass_flag, engine_flag, CD_flag, CL_flag, Cm_flag, CY_flag, Cl_flag,
109 Cn_flag, gear_flag, ice_flag, record_flag};
111 // init ======= Initial values for equation of motion
112 enum {Dx_pilot_flag = 2000, Dy_pilot_flag, Dz_pilot_flag,
113 Dx_cg_flag, Dy_cg_flag, Dz_cg_flag,
114 V_north_flag, V_east_flag, V_down_flag,
115 P_body_flag, Q_body_flag, R_body_flag,
116 Phi_flag, Theta_flag, Psi_flag};
118 // geometry === Aircraft-specific geometric quantities
119 enum {bw_flag = 3000, cbar_flag, Sw_flag};
121 // controlSurface = Control surface deflections and properties
122 enum {de_flag = 4000, da_flag, dr_flag};
124 // controlsMixer == Controls mixer
125 enum {nomix_flag = 14000};
127 //mass ======== Aircraft-specific mass properties
128 enum {Mass_flag = 5000, I_xx_flag, I_yy_flag, I_zz_flag, I_xz_flag};
130 // engine ===== Propulsion data
131 enum {simpleSingle_flag = 6000, c172_flag};
133 // CD ========= Aerodynamic x-force quantities (longitudinal)
134 enum {CDo_flag = 7000, CDK_flag, CD_a_flag, CD_de_flag, CDfa_flag, CDfade_flag};
136 // CL ========= Aerodynamic z-force quantities (longitudinal)
137 enum {CLo_flag = 8000, CL_a_flag, CL_adot_flag, CL_q_flag, CL_de_flag, CLfa_flag, CLfade_flag};
139 // Cm ========= Aerodynamic m-moment quantities (longitudinal)
140 enum {Cmo_flag = 9000, Cm_a_flag, Cm_adot_flag, Cm_q_flag, Cm_de_flag, Cmfade_flag};
142 // CY ========= Aerodynamic y-force quantities (lateral)
143 enum {CYo_flag = 10000, CY_beta_flag, CY_p_flag, CY_r_flag, CY_da_flag, CY_dr_flag,
144 CYfada_flag, CYfbetadr_flag};
146 // Cl ========= Aerodynamic l-moment quantities (lateral)
147 enum {Clo_flag = 11000, Cl_beta_flag, Cl_betafCL_flag, Cl_p_flag, Cl_r_flag, Cl_rfCL_flag,
148 Cl_da_flag, Cl_dr_flag, Clfada_flag, Clfbetadr_flag};
150 // Cn ========= Aerodynamic n-moment quantities (lateral)
151 enum {Cno_flag = 12000, Cn_beta_flag, Cn_betafCL_flag, Cn_p_flag, Cn_pfCL_flag, Cn_r_flag,
152 Cn_rfCL_flag, Cn_da_flag, Cn_dr_flag, Cn_drfCL_flag, Cnfada_flag, Cnfbetadr_flag};
154 // gear ======= Landing gear model quantities
156 // ice ======== Ice model quantities
157 enum {iceTime_flag = 15000, transientTime_flag, eta_final_flag,
158 kCDo_flag, kCDK_flag, kCD_a_flag, kCD_de_flag,
159 kCLo_flag, kCL_a_flag, kCL_adot_flag, kCL_q_flag, kCL_de_flag,
160 kCmo_flag, kCm_a_flag, kCm_adot_flag, kCm_q_flag, kCm_de_flag,
161 kCYo_flag, kCY_beta_flag, kCY_p_flag, kCY_r_flag, kCY_da_flag, kCY_dr_flag,
162 kClo_flag, kCl_beta_flag, kCl_p_flag, kCl_r_flag, kCl_da_flag, kCl_dr_flag,
163 kCno_flag, kCn_beta_flag, kCn_p_flag, kCn_r_flag, kCn_da_flag, kCn_dr_flag};
165 // record ===== Record desired quantites to file
167 enum {Dx_pilot_record = 13000, Dy_pilot_record, Dz_pilot_record,
168 Dx_cg_record, Dy_cg_record, Dz_cg_record,
169 V_north_record, V_east_record, V_down_record,
170 V_rel_wind_record, Dynamic_pressure_record,
171 Alpha_record, Alpha_dot_record, Beta_record, Beta_dot_record, Gamma_record,
172 P_body_record, Q_body_record, R_body_record,
173 Phi_record, Theta_record, Psi_record, Theta_dot_record,
174 density_record, Mass_record, Simtime_record, dt_record,
175 elevator_record, aileron_record, rudder_record,
176 CD_record, CDfaI_record, CDfadeI_record,
177 CL_record, CLfaI_record, CLfadeI_record,
178 Cm_record, CmfadeI_record,
179 CY_record, CYfadaI_record, CYfbetadrI_record,
180 Cl_record, ClfadaI_record, ClfbetadrI_record,
181 Cn_record, CnfadaI_record, CnfbetadrI_record,
182 F_X_wind_record, F_Y_wind_record, F_Z_wind_record,
183 F_X_aero_record, F_Y_aero_record, F_Z_aero_record,
184 F_X_engine_record, F_Y_engine_record, F_Z_engine_record,
185 F_X_gear_record, F_Y_gear_record, F_Z_gear_record,
186 F_X_record, F_Y_record, F_Z_record,
187 M_l_aero_record, M_m_aero_record, M_n_aero_record,
188 M_l_engine_record, M_m_engine_record, M_n_engine_record,
189 M_l_gear_record, M_m_gear_record, M_n_gear_record,
190 M_l_rp_record, M_m_rp_record, M_n_rp_record};
194 // ParseFile stuff [] Bipin to add more comments
196 #define airplane aircraft_->airplane
197 ParseFile *initParts;
198 #define initParts aircraft_->initParts
199 ParseFile *geometryParts;
200 #define geometryParts aircraft_->geometryParts
201 ParseFile *massParts;
202 #define massParts aircraft_->massParts
203 ParseFile *aeroParts;
204 #define aeroParts aircraft_->aeroParts
205 ParseFile *engineParts;
206 #define engineParts aircraft_->engineParts
207 ParseFile *gearParts;
208 #define gearParts aircraft_->gearParts
209 ParseFile *recordParts;
210 #define recordParts aircraft_->recordParts
212 /*= Keywords (token1) ===========================================*/
213 map <string,int> Keyword_map;
214 #define Keyword_map aircraft_->Keyword_map
223 #define CL aircraft_->CL
224 #define CD aircraft_->CD
225 #define Cm aircraft_->Cm
226 #define CY aircraft_->CY
227 #define Cl aircraft_->Cl
228 #define Cn aircraft_->Cn
230 /*========================================*/
231 /* Variables (token2) - 14 groups (000210)*/
232 /*========================================*/
234 /* Variables (token2) ===========================================*/
235 /* init ========== Initial values for equations of motion =======*/
237 map <string,int> init_map;
238 #define init_map aircraft_->init_map
240 /* Variables (token2) ===========================================*/
241 /* geometry ====== Aircraft-specific geometric quantities =======*/
243 map <string,int> geometry_map;
244 #define geometry_map aircraft_->geometry_map
249 #define bw aircraft_->bw
250 #define cbar aircraft_->cbar
251 #define Sw aircraft_->Sw
253 /* Variables (token2) ===========================================*/
254 /* controlSurface Control surface deflections and properties ===*/
256 map <string,int> controlSurface_map;
257 #define controlSurface_map aircraft_->controlSurface_map
265 #define demax aircraft_->demax
266 #define demin aircraft_->demin
267 #define damax aircraft_->damax
268 #define damin aircraft_->damin
269 #define drmax aircraft_->drmax
270 #define drmin aircraft_->drmin
275 #define aileron aircraft_->aileron
276 #define elevator aircraft_->elevator
277 #define rudder aircraft_->rudder
280 /* Variables (token2) ===========================================*/
281 /* controlsMixer = Control mixer ================================*/
283 map <string,int> controlsMixer_map;
284 #define controlsMixer_map aircraft_->controlsMixer_map
287 #define nomix aircraft_->nomix
290 /* Variables (token2) ===========================================*/
291 /* mass =========== Aircraft-specific mass properties ===========*/
293 map <string,int> mass_map;
294 #define mass_map aircraft_->mass_map
297 /* Variables (token2) ===========================================*/
298 /* engine ======== Propulsion data ==============================*/
300 map <string,int> engine_map;
301 #define engine_map aircraft_->engine_map
303 double simpleSingleMaxThrust;
304 #define simpleSingleMaxThrust aircraft_->simpleSingleMaxThrust
306 /* Variables (token2) ===========================================*/
307 /* CD ============ Aerodynamic x-force quantities (longitudinal) */
309 map <string,int> CD_map;
310 #define CD_map aircraft_->CD_map
316 #define CDo aircraft_->CDo
317 #define CDK aircraft_->CDK
318 #define CD_a aircraft_->CD_a
319 #define CD_de aircraft_->CD_de
322 double CDfa_aArray[100];
323 double CDfa_CDArray[100];
326 #define CDfa aircraft_->CDfa
327 #define CDfaData aircraft_->CDfaData
328 #define CDfa_aArray aircraft_->CDfa_aArray
329 #define CDfa_CDArray aircraft_->CDfa_CDArray
330 #define CDfa_nAlpha aircraft_->CDfa_nAlpha
331 #define CDfaI aircraft_->CDfaI
334 double CDfade_aArray[100][100];
335 double CDfade_deArray[100];
336 double CDfade_CDArray[100][100];
337 int CDfade_nAlphaArray[100];
340 #define CDfade aircraft_->CDfade
341 #define CDfadeData aircraft_->CDfadeData
342 #define CDfade_aArray aircraft_->CDfade_aArray
343 #define CDfade_deArray aircraft_->CDfade_deArray
344 #define CDfade_CDArray aircraft_->CDfade_CDArray
345 #define CDfade_nAlphaArray aircraft_->CDfade_nAlphaArray
346 #define CDfade_nde aircraft_->CDfade_nde
347 #define CDfadeI aircraft_->CDfadeI
349 /* Variables (token2) ===========================================*/
350 /* CL ============ Aerodynamic z-force quantities (longitudinal) */
352 map <string,int> CL_map;
353 #define CL_map aircraft_->CL_map
360 #define CLo aircraft_->CLo
361 #define CL_a aircraft_->CL_a
362 #define CL_adot aircraft_->CL_adot
363 #define CL_q aircraft_->CL_q
364 #define CL_de aircraft_->CL_de
367 double CLfa_aArray[100];
368 double CLfa_CLArray[100];
371 #define CLfa aircraft_->CLfa
372 #define CLfaData aircraft_->CLfaData
373 #define CLfa_aArray aircraft_->CLfa_aArray
374 #define CLfa_CLArray aircraft_->CLfa_CLArray
375 #define CLfa_nAlpha aircraft_->CLfa_nAlpha
376 #define CLfaI aircraft_->CLfaI
379 double CLfade_aArray[100][100];
380 double CLfade_deArray[100];
381 double CLfade_CLArray[100][100];
382 int CLfade_nAlphaArray[100];
385 #define CLfade aircraft_->CLfade
386 #define CLfadeData aircraft_->CLfadeData
387 #define CLfade_aArray aircraft_->CLfade_aArray
388 #define CLfade_deArray aircraft_->CLfade_deArray
389 #define CLfade_CLArray aircraft_->CLfade_CLArray
390 #define CLfade_nAlphaArray aircraft_->CLfade_nAlphaArray
391 #define CLfade_nde aircraft_->CLfade_nde
392 #define CLfadeI aircraft_->CLfadeI
394 /* Variables (token2) ===========================================*/
395 /* Cm ============ Aerodynamic m-moment quantities (longitudinal) */
397 map <string,int> Cm_map;
398 #define Cm_map aircraft_->Cm_map
405 #define Cmo aircraft_->Cmo
406 #define Cm_a aircraft_->Cm_a
407 #define Cm_adot aircraft_->Cm_adot
408 #define Cm_q aircraft_->Cm_q
409 #define Cm_de aircraft_->Cm_de
412 double Cmfade_aArray[100][100];
413 double Cmfade_deArray[100];
414 double Cmfade_CmArray[100][100];
415 int Cmfade_nAlphaArray[100];
418 #define Cmfade aircraft_->Cmfade
419 #define CmfadeData aircraft_->CmfadeData
420 #define Cmfade_aArray aircraft_->Cmfade_aArray
421 #define Cmfade_deArray aircraft_->Cmfade_deArray
422 #define Cmfade_CmArray aircraft_->Cmfade_CmArray
423 #define Cmfade_nAlphaArray aircraft_->Cmfade_nAlphaArray
424 #define Cmfade_nde aircraft_->Cmfade_nde
425 #define CmfadeI aircraft_->CmfadeI
427 /* Variables (token2) ===========================================*/
428 /* CY ============ Aerodynamic y-force quantities (lateral) =====*/
430 map <string,int> CY_map;
431 #define CY_map aircraft_->CY_map
439 #define CYo aircraft_->CYo
440 #define CY_beta aircraft_->CY_beta
441 #define CY_p aircraft_->CY_p
442 #define CY_r aircraft_->CY_r
443 #define CY_da aircraft_->CY_da
444 #define CY_dr aircraft_->CY_dr
447 double CYfada_aArray[100][100];
448 double CYfada_daArray[100];
449 double CYfada_CYArray[100][100];
450 int CYfada_nAlphaArray[100];
453 #define CYfada aircraft_->CYfada
454 #define CYfadaData aircraft_->CYfadaData
455 #define CYfada_aArray aircraft_->CYfada_aArray
456 #define CYfada_daArray aircraft_->CYfada_daArray
457 #define CYfada_CYArray aircraft_->CYfada_CYArray
458 #define CYfada_nAlphaArray aircraft_->CYfada_nAlphaArray
459 #define CYfada_nda aircraft_->CYfada_nda
460 #define CYfadaI aircraft_->CYfadaI
463 double CYfbetadr_betaArray[100][100];
464 double CYfbetadr_drArray[100];
465 double CYfbetadr_CYArray[100][100];
466 int CYfbetadr_nBetaArray[100];
469 #define CYfbetadr aircraft_->CYfbetadr
470 #define CYfbetadrData aircraft_->CYfbetadrData
471 #define CYfbetadr_betaArray aircraft_->CYfbetadr_betaArray
472 #define CYfbetadr_drArray aircraft_->CYfbetadr_drArray
473 #define CYfbetadr_CYArray aircraft_->CYfbetadr_CYArray
474 #define CYfbetadr_nBetaArray aircraft_->CYfbetadr_nBetaArray
475 #define CYfbetadr_ndr aircraft_->CYfbetadr_ndr
476 #define CYfbetadrI aircraft_->CYfbetadrI
478 /* Variables (token2) ===========================================*/
479 /* Cl ============ Aerodynamic l-moment quantities (lateral) ====*/
481 map <string,int> Cl_map;
482 #define Cl_map aircraft_->Cl_map
492 #define Clo aircraft_->Clo
493 #define Cl_beta aircraft_->Cl_beta
494 #define Cl_betafCL aircraft_->Cl_betafCL
495 #define Cl_p aircraft_->Cl_p
496 #define Cl_r aircraft_->Cl_r
497 #define Cl_rfCL aircraft_->Cl_rfCL
498 #define Cl_da aircraft_->Cl_da
499 #define Cl_dr aircraft_->Cl_dr
502 double Clfada_aArray[100][100];
503 double Clfada_daArray[100];
504 double Clfada_ClArray[100][100];
505 int Clfada_nAlphaArray[100];
508 #define Clfada aircraft_->Clfada
509 #define ClfadaData aircraft_->ClfadaData
510 #define Clfada_aArray aircraft_->Clfada_aArray
511 #define Clfada_daArray aircraft_->Clfada_daArray
512 #define Clfada_ClArray aircraft_->Clfada_ClArray
513 #define Clfada_nAlphaArray aircraft_->Clfada_nAlphaArray
514 #define Clfada_nda aircraft_->Clfada_nda
515 #define ClfadaI aircraft_->ClfadaI
518 double Clfbetadr_betaArray[100][100];
519 double Clfbetadr_drArray[100];
520 double Clfbetadr_ClArray[100][100];
521 int Clfbetadr_nBetaArray[100];
524 #define Clfbetadr aircraft_->Clfbetadr
525 #define ClfbetadrData aircraft_->ClfbetadrData
526 #define Clfbetadr_betaArray aircraft_->Clfbetadr_betaArray
527 #define Clfbetadr_drArray aircraft_->Clfbetadr_drArray
528 #define Clfbetadr_ClArray aircraft_->Clfbetadr_ClArray
529 #define Clfbetadr_nBetaArray aircraft_->Clfbetadr_nBetaArray
530 #define Clfbetadr_ndr aircraft_->Clfbetadr_ndr
531 #define ClfbetadrI aircraft_->ClfbetadrI
533 /* Variables (token2) ===========================================*/
534 /* Cn ============ Aerodynamic n-moment quantities (lateral) ====*/
536 map <string,int> Cn_map;
537 #define Cn_map aircraft_->Cn_map
545 #define Cno aircraft_->Cno
546 #define Cn_beta aircraft_->Cn_beta
547 #define Cn_p aircraft_->Cn_p
548 #define Cn_r aircraft_->Cn_r
549 #define Cn_da aircraft_->Cn_da
550 #define Cn_dr aircraft_->Cn_dr
553 double Cnfada_aArray[100][100];
554 double Cnfada_daArray[100];
555 double Cnfada_CnArray[100][100];
556 int Cnfada_nAlphaArray[100];
559 #define Cnfada aircraft_->Cnfada
560 #define CnfadaData aircraft_->CnfadaData
561 #define Cnfada_aArray aircraft_->Cnfada_aArray
562 #define Cnfada_daArray aircraft_->Cnfada_daArray
563 #define Cnfada_CnArray aircraft_->Cnfada_CnArray
564 #define Cnfada_nAlphaArray aircraft_->Cnfada_nAlphaArray
565 #define Cnfada_nda aircraft_->Cnfada_nda
566 #define CnfadaI aircraft_->CnfadaI
569 double Cnfbetadr_betaArray[100][100];
570 double Cnfbetadr_drArray[100];
571 double Cnfbetadr_CnArray[100][100];
572 int Cnfbetadr_nBetaArray[100];
575 #define Cnfbetadr aircraft_->Cnfbetadr
576 #define CnfbetadrData aircraft_->CnfbetadrData
577 #define Cnfbetadr_betaArray aircraft_->Cnfbetadr_betaArray
578 #define Cnfbetadr_drArray aircraft_->Cnfbetadr_drArray
579 #define Cnfbetadr_CnArray aircraft_->Cnfbetadr_CnArray
580 #define Cnfbetadr_nBetaArray aircraft_->Cnfbetadr_nBetaArray
581 #define Cnfbetadr_ndr aircraft_->Cnfbetadr_ndr
582 #define CnfbetadrI aircraft_->CnfbetadrI
584 /* Variables (token2) ===========================================*/
585 /* gear ========== Landing gear model quantities ================*/
587 map <string,int> gear_map;
589 #define gear_map aircraft_->gear_map
591 /* Variables (token2) ===========================================*/
592 /* ice =========== Ice model quantities ======================== */
594 map <string,int> ice_map;
595 #define ice_map aircraft_->ice_map
598 double transientTime;
601 #define iceTime aircraft_->iceTime
602 #define transientTime aircraft_->transientTime
603 #define eta_final aircraft_->eta_final
604 #define eta aircraft_->eta
613 #define kCDo aircraft_->kCDo
614 #define kCDK aircraft_->kCDK
615 #define kCD_a aircraft_->kCD_a
616 #define kCD_de aircraft_->kCD_de
617 #define CDo_clean aircraft_->CDo_clean
618 #define CDK_clean aircraft_->CDK_clean
619 #define CD_a_clean aircraft_->CD_a_clean
620 #define CD_de_clean aircraft_->CD_de_clean
628 double CL_adot_clean;
631 #define kCLo aircraft_->kCLo
632 #define kCL_a aircraft_->kCL_a
633 #define kCL_adot aircraft_->kCL_adot
634 #define kCL_q aircraft_->kCL_q
635 #define kCL_de aircraft_->kCL_de
636 #define CLo_clean aircraft_->CLo_clean
637 #define CL_a_clean aircraft_->CL_a_clean
638 #define CL_adot_clean aircraft_->CL_adot_clean
639 #define CL_q_clean aircraft_->CL_q_clean
640 #define CL_de_clean aircraft_->CL_de_clean
648 double Cm_adot_clean;
651 #define kCmo aircraft_->kCmo
652 #define kCm_a aircraft_->kCm_a
653 #define kCm_adot aircraft_->kCm_adot
654 #define kCm_q aircraft_->kCm_q
655 #define kCm_de aircraft_->kCm_de
656 #define Cmo_clean aircraft_->Cmo_clean
657 #define Cm_a_clean aircraft_->Cm_a_clean
658 #define Cm_adot_clean aircraft_->Cm_adot_clean
659 #define Cm_q_clean aircraft_->Cm_q_clean
660 #define Cm_de_clean aircraft_->Cm_de_clean
668 double CY_beta_clean;
673 #define kCYo aircraft_->kCYo
674 #define kCY_beta aircraft_->kCY_beta
675 #define kCY_p aircraft_->kCY_p
676 #define kCY_r aircraft_->kCY_r
677 #define kCY_da aircraft_->kCY_da
678 #define kCY_dr aircraft_->kCY_dr
679 #define CYo_clean aircraft_->CYo_clean
680 #define CY_beta_clean aircraft_->CY_beta_clean
681 #define CY_p_clean aircraft_->CY_p_clean
682 #define CY_r_clean aircraft_->CY_r_clean
683 #define CY_da_clean aircraft_->CY_da_clean
684 #define CY_dr_clean aircraft_->CY_dr_clean
692 double Cl_beta_clean;
697 #define kClo aircraft_->kClo
698 #define kCl_beta aircraft_->kCl_beta
699 #define kCl_p aircraft_->kCl_p
700 #define kCl_r aircraft_->kCl_r
701 #define kCl_da aircraft_->kCl_da
702 #define kCl_dr aircraft_->kCl_dr
703 #define Clo_clean aircraft_->Clo_clean
704 #define Cl_beta_clean aircraft_->Cl_beta_clean
705 #define Cl_p_clean aircraft_->Cl_p_clean
706 #define Cl_r_clean aircraft_->Cl_r_clean
707 #define Cl_da_clean aircraft_->Cl_da_clean
708 #define Cl_dr_clean aircraft_->Cl_dr_clean
716 double Cn_beta_clean;
721 #define kCno aircraft_->kCno
722 #define kCn_beta aircraft_->kCn_beta
723 #define kCn_p aircraft_->kCn_p
724 #define kCn_r aircraft_->kCn_r
725 #define kCn_da aircraft_->kCn_da
726 #define kCn_dr aircraft_->kCn_dr
727 #define Cno_clean aircraft_->Cno_clean
728 #define Cn_beta_clean aircraft_->Cn_beta_clean
729 #define Cn_p_clean aircraft_->Cn_p_clean
730 #define Cn_r_clean aircraft_->Cn_r_clean
731 #define Cn_da_clean aircraft_->Cn_da_clean
732 #define Cn_dr_clean aircraft_->Cn_dr_clean
734 /* Variables (token2) ===========================================*/
735 /* record ======== Record desired quantites to file =============*/
737 map <string,int> record_map;
738 #define record_map aircraft_->record_map
740 /***** Forces *******/
742 double F_X_wind, F_Y_wind, F_Z_wind;
744 #define F_X_wind aircraft_->F_X_wind
745 #define F_Y_wind aircraft_->F_Y_wind
746 #define F_Z_wind aircraft_->F_Z_wind
749 /* Miscellaneous ================================================*/
751 int conversion1, conversion2, conversion3;
752 double confac1, confac2, confac3;
754 #define conversion1 aircraft_->conversion1
755 #define conversion2 aircraft_->conversion2
756 #define conversion3 aircraft_->conversion3
757 #define confac1 aircraft_->confac1
758 #define confac2 aircraft_->confac2
759 #define confac3 aircraft_->confac3
764 #define fout aircraft_->fout
769 // usually defined in the first program that includes uiuc_aircraft.h
770 extern AIRCRAFT *aircraft_;
772 #endif // endif _AIRCRAFT_H