1
/**********************************************************************
3
FILENAME: uiuc_menu.cpp
5
----------------------------------------------------------------------
7
DESCRIPTION: reads input file for specified aircraft and creates
8
approporiate data storage space
10
----------------------------------------------------------------------
14
----------------------------------------------------------------------
16
REFERENCES: based on "menu reader" format of Michael Selig
18
----------------------------------------------------------------------
20
HISTORY: 01/29/2000 initial release
21
02/18/2000 (JS) added 1D data file capability for
22
CL(a) and CD(a) -- calls
24
02/22/2000 (JS) added ice map functions
25
02/29/2000 (JS) added 2D data file capability for
26
CL(a,de), CD(a,de), Cm(a,de), CY(a,da),
27
CY(beta,dr), Cl(a,da), Cl(beta,dr),
28
Cn(a,da), Cn(beta,dr) -- calls
30
02/02/2000 (JS) added record options for 1D and
31
2D interpolated variables
32
03/28/2000 (JS) streamlined conversion factors for
33
file readers -- since they are global
34
variables, it is not necessary to put
35
them in the function calls
36
03/29/2000 (JS) added Cmfa and Weight flags;
37
added misc map; added Dx_cg (etc) to init
39
04/01/2000 (JS) added throttle, longitudinal, lateral,
40
and rudder inputs to record map
41
04/05/2000 (JS) added Altitude to init and record
42
maps; added zero_Long_trim to
44
03/09/2001 (DPM) added support for gear.
45
06/18/2001 (RD) Added Alpha, Beta, U_body,
46
V_body, and W_body to init map. Added
47
aileron_input, rudder_input, pilot_elev_no,
48
pilot_ail_no, and pilot_rud_no to
49
controlSurface map. Added Throttle_pct_input
50
to engine map. Added CZfa to CL map.
51
07/05/2001 (RD) Changed pilot_elev_no = true to pilot_
52
elev_no_check=false. This is to allow pilot
53
to fly aircraft after input files have been
55
08/27/2001 (RD) Added xxx_init_true and xxx_init for
56
P_body, Q_body, R_body, Phi, Theta, Psi,
57
U_body, V_body, and W_body to help in
58
starting the A/C at an initial condition.
60
----------------------------------------------------------------------
62
AUTHOR(S): Bipin Sehgal <bsehgal@uiuc.edu>
63
Jeff Scott <jscott@mail.com>
64
Robert Deters <rdeters@uiuc.edu>
65
Michael Selig <m-selig@uiuc.edu>
66
David Megginson <david@megginson.com>
68
----------------------------------------------------------------------
72
----------------------------------------------------------------------
76
----------------------------------------------------------------------
80
----------------------------------------------------------------------
82
CALLED BY: uiuc_wrapper.cpp
84
----------------------------------------------------------------------
86
CALLS TO: aircraft.dat
87
tabulated data files (if needed)
89
----------------------------------------------------------------------
91
COPYRIGHT: (C) 2000 by Michael Selig
93
This program is free software; you can redistribute it and/or
94
modify it under the terms of the GNU General Public License
95
as published by the Free Software Foundation.
97
This program is distributed in the hope that it will be useful,
98
but WITHOUT ANY WARRANTY; without even the implied warranty of
99
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
100
GNU General Public License for more details.
102
You should have received a copy of the GNU General Public License
103
along with this program; if not, write to the Free Software
104
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
105
USA or view http://www.gnu.org/copyleft/gpl.html.
107
**********************************************************************/
109
#include <simgear/compiler.h>
111
#if defined( __MWERKS__ )
112
// -dw- optimizer chokes (big-time) trying to optimize humongous
113
// loop/switch statements
114
#pragma optimization_level 0
118
#include STL_IOSTREAM
120
#include "uiuc_menu.h"
122
#if !defined (SG_HAVE_NATIVE_SGI_COMPILERS)
132
bool check_float(string &token)
135
istrstream stream(token.c_str());
136
return (stream >> value);
140
void uiuc_menu( string aircraft_name )
144
int token_value_recordRate;
145
int token_value_convert1, token_value_convert2, token_value_convert3;
155
/* the following default setting should eventually be moved to a default or uiuc_init routine */
157
recordRate = 1; /* record every time step, default */
158
recordStartTime = 0; /* record from beginning of simulation */
160
/* set speed at which dynamic pressure terms will be accounted for,
161
since if velocity is too small, coefficients will go to infinity */
162
dyn_on_speed = 33; /* 20 kts, default */
166
/* Read the file and get the list of commands */
167
airplane = new ParseFile(aircraft_name); /* struct that includes all lines of the input file */
168
command_list = airplane -> getCommands();
169
/* structs to include all parts included in the input file for specific keyword groups */
170
initParts = new ParseFile();
171
geometryParts = new ParseFile();
172
massParts = new ParseFile();
173
engineParts = new ParseFile();
174
aeroDragParts = new ParseFile();
175
aeroLiftParts = new ParseFile();
176
aeroPitchParts = new ParseFile();
177
aeroSideforceParts = new ParseFile();
178
aeroRollParts = new ParseFile();
179
aeroYawParts = new ParseFile();
180
gearParts = new ParseFile();
181
recordParts = new ParseFile();
183
if (command_list.begin() == command_list.end())
185
cerr << "UIUC ERROR: File " << aircraft_name <<" does not exist" << endl;
189
for (LIST command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
191
cout << *command_line << endl;
193
linetoken1 = airplane -> getToken (*command_line, 1);
194
linetoken2 = airplane -> getToken (*command_line, 2);
195
linetoken3 = airplane -> getToken (*command_line, 3);
196
linetoken4 = airplane -> getToken (*command_line, 4);
197
linetoken5 = airplane -> getToken (*command_line, 5);
198
linetoken6 = airplane -> getToken (*command_line, 6);
200
istrstream token3(linetoken3.c_str());
201
istrstream token4(linetoken4.c_str());
202
istrstream token5(linetoken5.c_str());
203
istrstream token6(linetoken6.c_str());
205
switch (Keyword_map[linetoken1])
209
switch(init_map[linetoken2])
213
if (check_float(linetoken3))
214
token3 >> token_value;
216
uiuc_warnings_errors(1, *command_line);
218
Dx_pilot = token_value;
219
initParts -> storeCommands (*command_line);
224
if (check_float(linetoken3))
225
token3 >> token_value;
227
uiuc_warnings_errors(1, *command_line);
229
Dy_pilot = token_value;
230
initParts -> storeCommands (*command_line);
235
if (check_float(linetoken3))
236
token3 >> token_value;
238
uiuc_warnings_errors(1, *command_line);
240
Dz_pilot = token_value;
241
initParts -> storeCommands (*command_line);
246
if (check_float(linetoken3))
247
token3 >> token_value;
249
uiuc_warnings_errors(1, *command_line);
252
initParts -> storeCommands (*command_line);
257
if (check_float(linetoken3))
258
token3 >> token_value;
260
uiuc_warnings_errors(1, *command_line);
263
initParts -> storeCommands (*command_line);
268
if (check_float(linetoken3))
269
token3 >> token_value;
271
uiuc_warnings_errors(1, *command_line);
274
initParts -> storeCommands (*command_line);
279
if (check_float(linetoken3))
280
token3 >> token_value;
282
uiuc_warnings_errors(1, *command_line);
284
Altitude = token_value;
285
initParts -> storeCommands (*command_line);
290
if (check_float(linetoken3))
291
token3 >> token_value;
293
uiuc_warnings_errors(1, *command_line);
295
V_north = token_value;
296
initParts -> storeCommands (*command_line);
301
initParts -> storeCommands (*command_line);
302
if (check_float(linetoken3))
303
token3 >> token_value;
305
uiuc_warnings_errors(1, *command_line);
307
V_east = token_value;
312
if (check_float(linetoken3))
313
token3 >> token_value;
315
uiuc_warnings_errors(1, *command_line);
317
V_down = token_value;
318
initParts -> storeCommands (*command_line);
323
if (check_float(linetoken3))
324
token3 >> token_value;
326
uiuc_warnings_errors(1, *command_line);
328
P_body_init_true = true;
329
P_body_init = token_value;
330
initParts -> storeCommands (*command_line);
335
if (check_float(linetoken3))
336
token3 >> token_value;
338
uiuc_warnings_errors(1, *command_line);
340
Q_body_init_true = true;
341
Q_body_init = token_value;
342
initParts -> storeCommands (*command_line);
347
if (check_float(linetoken3))
348
token3 >> token_value;
350
uiuc_warnings_errors(1, *command_line);
352
R_body_init_true = true;
353
R_body_init = token_value;
354
initParts -> storeCommands (*command_line);
359
if (check_float(linetoken3))
360
token3 >> token_value;
362
uiuc_warnings_errors(1, *command_line);
364
Phi_init_true = true;
365
Phi_init = token_value;
366
initParts -> storeCommands (*command_line);
371
if (check_float(linetoken3))
372
token3 >> token_value;
374
uiuc_warnings_errors(1, *command_line);
376
Theta_init_true = true;
377
Theta_init = token_value;
378
initParts -> storeCommands (*command_line);
383
if (check_float(linetoken3))
384
token3 >> token_value;
386
uiuc_warnings_errors(1, *command_line);
388
Psi_init_true = true;
389
Psi_init = token_value;
390
initParts -> storeCommands (*command_line);
395
if (check_float(linetoken3))
396
token3 >> token_value;
398
uiuc_warnings_errors(1, *command_line);
400
Long_trim = token_value;
401
initParts -> storeCommands (*command_line);
404
case recordRate_flag:
406
//can't use check_float since variable is integer
407
token3 >> token_value_recordRate;
408
recordRate = 120 / token_value_recordRate;
411
case recordStartTime_flag:
413
if (check_float(linetoken3))
414
token3 >> token_value;
416
uiuc_warnings_errors(1, *command_line);
418
recordStartTime = token_value;
421
case nondim_rate_V_rel_wind_flag:
423
nondim_rate_V_rel_wind = true;
426
case dyn_on_speed_flag:
428
if (check_float(linetoken3))
429
token3 >> token_value;
431
uiuc_warnings_errors(1, *command_line);
433
dyn_on_speed = token_value;
438
if (check_float(linetoken3))
439
token3 >> token_value;
441
uiuc_warnings_errors(1, *command_line);
443
Alpha_init_true = true;
444
Alpha_init = token_value * DEG_TO_RAD;
449
if (check_float(linetoken3))
450
token3 >> token_value;
452
uiuc_warnings_errors(1, *command_line);
454
Beta_init_true = true;
455
Beta_init = token_value * DEG_TO_RAD;
460
if (check_float(linetoken3))
461
token3 >> token_value;
463
uiuc_warnings_errors(1, *command_line);
465
U_body_init_true = true;
466
U_body_init = token_value;
471
if (check_float(linetoken3))
472
token3 >> token_value;
474
uiuc_warnings_errors(1, *command_line);
476
V_body_init_true = true;
477
V_body_init = token_value;
482
if (check_float(linetoken3))
483
token3 >> token_value;
485
uiuc_warnings_errors(1, *command_line);
487
W_body_init_true = true;
488
W_body_init = token_value;
493
uiuc_warnings_errors(2, *command_line);
503
switch(geometry_map[linetoken2])
507
if (check_float(linetoken3))
508
token3 >> token_value;
510
uiuc_warnings_errors(1, *command_line);
513
geometryParts -> storeCommands (*command_line);
518
if (check_float(linetoken3))
519
token3 >> token_value;
521
uiuc_warnings_errors(1, *command_line);
524
geometryParts -> storeCommands (*command_line);
529
if (check_float(linetoken3))
530
token3 >> token_value;
532
uiuc_warnings_errors(1, *command_line);
535
geometryParts -> storeCommands (*command_line);
540
if (check_float(linetoken3))
541
token3 >> token_value;
543
uiuc_warnings_errors(1, *command_line);
546
geometryParts -> storeCommands (*command_line);
551
if (check_float(linetoken3))
552
token3 >> token_value;
554
uiuc_warnings_errors(1, *command_line);
557
geometryParts -> storeCommands (*command_line);
562
if (check_float(linetoken3))
563
token3 >> token_value;
565
uiuc_warnings_errors(1, *command_line);
568
geometryParts -> storeCommands (*command_line);
573
if (check_float(linetoken3))
574
token3 >> token_value;
576
uiuc_warnings_errors(1, *command_line);
579
geometryParts -> storeCommands (*command_line);
584
uiuc_warnings_errors(2, *command_line);
589
} // end geometry map
592
case controlSurface_flag:
594
switch(controlSurface_map[linetoken2])
598
if (check_float(linetoken3))
599
token3 >> token_value;
601
uiuc_warnings_errors(1, *command_line);
605
if (check_float(linetoken4))
606
token4 >> token_value;
608
uiuc_warnings_errors(1, *command_line);
615
if (check_float(linetoken3))
616
token3 >> token_value;
618
uiuc_warnings_errors(1, *command_line);
622
if (check_float(linetoken4))
623
token4 >> token_value;
625
uiuc_warnings_errors(1, *command_line);
632
if (check_float(linetoken3))
633
token3 >> token_value;
635
uiuc_warnings_errors(1, *command_line);
639
if (check_float(linetoken4))
640
token4 >> token_value;
642
uiuc_warnings_errors(1, *command_line);
647
case set_Long_trim_flag:
649
if (check_float(linetoken3))
650
token3 >> token_value;
652
uiuc_warnings_errors(1, *command_line);
654
set_Long_trim = true;
655
elevator_tab = token_value;
658
case set_Long_trim_deg_flag:
660
if (check_float(linetoken3))
661
token3 >> token_value;
663
uiuc_warnings_errors(1, *command_line);
665
set_Long_trim = true;
666
elevator_tab = token_value * DEG_TO_RAD;
669
case zero_Long_trim_flag:
671
zero_Long_trim = true;
674
case elevator_step_flag:
676
// set step input flag
677
elevator_step = true;
679
// read in step angle in degrees and convert
680
if (check_float(linetoken3))
681
token3 >> token_value;
683
uiuc_warnings_errors(1, *command_line);
685
elevator_step_angle = token_value * DEG_TO_RAD;
687
// read in step start time
688
if (check_float(linetoken4))
689
token4 >> token_value;
691
uiuc_warnings_errors(1, *command_line);
693
elevator_step_startTime = token_value;
696
case elevator_singlet_flag:
698
// set singlet input flag
699
elevator_singlet = true;
701
// read in singlet angle in degrees and convert
702
if (check_float(linetoken3))
703
token3 >> token_value;
705
uiuc_warnings_errors(1, *command_line);
707
elevator_singlet_angle = token_value * DEG_TO_RAD;
709
// read in singlet start time
710
if (check_float(linetoken4))
711
token4 >> token_value;
713
uiuc_warnings_errors(1, *command_line);
715
elevator_singlet_startTime = token_value;
717
// read in singlet duration
718
if (check_float(linetoken5))
719
token5 >> token_value;
721
uiuc_warnings_errors(1, *command_line);
723
elevator_singlet_duration = token_value;
726
case elevator_doublet_flag:
728
// set doublet input flag
729
elevator_doublet = true;
731
// read in doublet angle in degrees and convert
732
if (check_float(linetoken3))
733
token3 >> token_value;
735
uiuc_warnings_errors(1, *command_line);
737
elevator_doublet_angle = token_value * DEG_TO_RAD;
739
// read in doublet start time
740
if (check_float(linetoken4))
741
token4 >> token_value;
743
uiuc_warnings_errors(1, *command_line);
745
elevator_doublet_startTime = token_value;
747
// read in doublet duration
748
if (check_float(linetoken5))
749
token5 >> token_value;
751
uiuc_warnings_errors(1, *command_line);
753
elevator_doublet_duration = token_value;
756
case elevator_input_flag:
758
elevator_input = true;
759
elevator_input_file = linetoken3;
760
token4 >> token_value_convert1;
761
token5 >> token_value_convert2;
762
convert_y = uiuc_convert(token_value_convert1);
763
convert_x = uiuc_convert(token_value_convert2);
764
uiuc_1DdataFileReader(elevator_input_file,
765
elevator_input_timeArray,
766
elevator_input_deArray,
767
elevator_input_ntime);
768
token6 >> token_value;
769
elevator_input_startTime = token_value;
772
case aileron_input_flag:
774
aileron_input = true;
775
aileron_input_file = linetoken3;
776
token4 >> token_value_convert1;
777
token5 >> token_value_convert2;
778
convert_y = uiuc_convert(token_value_convert1);
779
convert_x = uiuc_convert(token_value_convert2);
780
uiuc_1DdataFileReader(aileron_input_file,
781
aileron_input_timeArray,
782
aileron_input_daArray,
783
aileron_input_ntime);
784
token6 >> token_value;
785
aileron_input_startTime = token_value;
788
case rudder_input_flag:
791
rudder_input_file = linetoken3;
792
token4 >> token_value_convert1;
793
token5 >> token_value_convert2;
794
convert_y = uiuc_convert(token_value_convert1);
795
convert_x = uiuc_convert(token_value_convert2);
796
uiuc_1DdataFileReader(rudder_input_file,
797
rudder_input_timeArray,
798
rudder_input_drArray,
800
token6 >> token_value;
801
rudder_input_startTime = token_value;
804
case pilot_elev_no_flag:
806
pilot_elev_no_check = true;
809
case pilot_ail_no_flag:
811
pilot_ail_no_check = true;
814
case pilot_rud_no_flag:
816
pilot_rud_no_check = true;
821
uiuc_warnings_errors(2, *command_line);
826
} // end controlSurface map
831
switch(mass_map[linetoken2])
835
if (check_float(linetoken3))
836
token3 >> token_value;
838
uiuc_warnings_errors(1, *command_line);
840
Weight = token_value;
841
Mass = Weight * INVG;
842
massParts -> storeCommands (*command_line);
847
if (check_float(linetoken3))
848
token3 >> token_value;
850
uiuc_warnings_errors(1, *command_line);
853
massParts -> storeCommands (*command_line);
858
if (check_float(linetoken3))
859
token3 >> token_value;
861
uiuc_warnings_errors(1, *command_line);
864
massParts -> storeCommands (*command_line);
869
if (check_float(linetoken3))
870
token3 >> token_value;
872
uiuc_warnings_errors(1, *command_line);
875
massParts -> storeCommands (*command_line);
880
if (check_float(linetoken3))
881
token3 >> token_value;
883
uiuc_warnings_errors(1, *command_line);
886
massParts -> storeCommands (*command_line);
891
if (check_float(linetoken3))
892
token3 >> token_value;
894
uiuc_warnings_errors(1, *command_line);
897
massParts -> storeCommands (*command_line);
902
uiuc_warnings_errors(2, *command_line);
912
switch(engine_map[linetoken2])
914
case simpleSingle_flag:
916
if (check_float(linetoken3))
917
token3 >> token_value;
919
uiuc_warnings_errors(1, *command_line);
921
simpleSingleMaxThrust = token_value;
922
engineParts -> storeCommands (*command_line);
927
engineParts -> storeCommands (*command_line);
932
engineParts -> storeCommands (*command_line);
935
case Throttle_pct_input_flag:
937
Throttle_pct_input = true;
938
Throttle_pct_input_file = linetoken3;
939
token4 >> token_value_convert1;
940
token5 >> token_value_convert2;
941
convert_y = uiuc_convert(token_value_convert1);
942
convert_x = uiuc_convert(token_value_convert2);
943
uiuc_1DdataFileReader(Throttle_pct_input_file,
944
Throttle_pct_input_timeArray,
945
Throttle_pct_input_dTArray,
946
Throttle_pct_input_ntime);
947
token6 >> token_value;
948
Throttle_pct_input_startTime = token_value;
953
uiuc_warnings_errors(2, *command_line);
963
switch(CD_map[linetoken2])
967
if (check_float(linetoken3))
968
token3 >> token_value;
970
uiuc_warnings_errors(1, *command_line);
974
aeroDragParts -> storeCommands (*command_line);
979
if (check_float(linetoken3))
980
token3 >> token_value;
982
uiuc_warnings_errors(1, *command_line);
986
aeroDragParts -> storeCommands (*command_line);
991
if (check_float(linetoken3))
992
token3 >> token_value;
994
uiuc_warnings_errors(1, *command_line);
998
aeroDragParts -> storeCommands (*command_line);
1003
if (check_float(linetoken3))
1004
token3 >> token_value;
1006
uiuc_warnings_errors(1, *command_line);
1008
CD_adot = token_value;
1009
CD_adot_clean = CD_adot;
1010
aeroDragParts -> storeCommands (*command_line);
1015
if (check_float(linetoken3))
1016
token3 >> token_value;
1018
uiuc_warnings_errors(1, *command_line);
1022
aeroDragParts -> storeCommands (*command_line);
1027
if (check_float(linetoken3))
1028
token3 >> token_value;
1030
uiuc_warnings_errors(1, *command_line);
1032
CD_ih = token_value;
1033
aeroDragParts -> storeCommands (*command_line);
1038
if (check_float(linetoken3))
1039
token3 >> token_value;
1041
uiuc_warnings_errors(1, *command_line);
1043
CD_de = token_value;
1044
CD_de_clean = CD_de;
1045
aeroDragParts -> storeCommands (*command_line);
1051
token4 >> token_value_convert1;
1052
token5 >> token_value_convert2;
1053
convert_y = uiuc_convert(token_value_convert1);
1054
convert_x = uiuc_convert(token_value_convert2);
1055
/* call 1D File Reader with file name (CDfa) and conversion
1056
factors; function returns array of alphas (aArray) and
1057
corresponding CD values (CDArray) and max number of
1058
terms in arrays (nAlpha) */
1059
uiuc_1DdataFileReader(CDfa,
1063
aeroDragParts -> storeCommands (*command_line);
1069
token4 >> token_value_convert1;
1070
token5 >> token_value_convert2;
1071
convert_y = uiuc_convert(token_value_convert1);
1072
convert_x = uiuc_convert(token_value_convert2);
1073
/* call 1D File Reader with file name (CDfCL) and conversion
1074
factors; function returns array of CLs (CLArray) and
1075
corresponding CD values (CDArray) and max number of
1076
terms in arrays (nCL) */
1077
uiuc_1DdataFileReader(CDfCL,
1081
aeroDragParts -> storeCommands (*command_line);
1086
CDfade = linetoken3;
1087
token4 >> token_value_convert1;
1088
token5 >> token_value_convert2;
1089
token6 >> token_value_convert3;
1090
convert_z = uiuc_convert(token_value_convert1);
1091
convert_x = uiuc_convert(token_value_convert2);
1092
convert_y = uiuc_convert(token_value_convert3);
1093
/* call 2D File Reader with file name (CDfade) and
1094
conversion factors; function returns array of
1095
elevator deflections (deArray) and corresponding
1096
alpha (aArray) and delta CD (CDArray) values and
1097
max number of terms in alpha arrays (nAlphaArray)
1098
and deflection array (nde) */
1099
uiuc_2DdataFileReader(CDfade,
1105
aeroDragParts -> storeCommands (*command_line);
1111
token4 >> token_value_convert1;
1112
token5 >> token_value_convert2;
1113
convert_y = uiuc_convert(token_value_convert1);
1114
convert_x = uiuc_convert(token_value_convert2);
1115
/* call 1D File Reader with file name (CDfdf) and conversion
1116
factors; function returns array of dfs (dfArray) and
1117
corresponding CD values (CDArray) and max number of
1118
terms in arrays (ndf) */
1119
uiuc_1DdataFileReader(CDfdf,
1123
aeroDragParts -> storeCommands (*command_line);
1128
CDfadf = linetoken3;
1129
token4 >> token_value_convert1;
1130
token5 >> token_value_convert2;
1131
token6 >> token_value_convert3;
1132
convert_z = uiuc_convert(token_value_convert1);
1133
convert_x = uiuc_convert(token_value_convert2);
1134
convert_y = uiuc_convert(token_value_convert3);
1135
/* call 2D File Reader with file name (CDfadf) and
1136
conversion factors; function returns array of
1137
flap deflections (dfArray) and corresponding
1138
alpha (aArray) and delta CD (CDArray) values and
1139
max number of terms in alpha arrays (nAlphaArray)
1140
and deflection array (ndf) */
1141
uiuc_2DdataFileReader(CDfadf,
1147
aeroDragParts -> storeCommands (*command_line);
1152
if (check_float(linetoken3))
1153
token3 >> token_value;
1155
uiuc_warnings_errors(1, *command_line);
1159
aeroDragParts -> storeCommands (*command_line);
1164
if (check_float(linetoken3))
1165
token3 >> token_value;
1167
uiuc_warnings_errors(1, *command_line);
1171
aeroDragParts -> storeCommands (*command_line);
1176
if (check_float(linetoken3))
1177
token3 >> token_value;
1179
uiuc_warnings_errors(1, *command_line);
1183
aeroDragParts -> storeCommands (*command_line);
1188
if (check_float(linetoken3))
1189
token3 >> token_value;
1191
uiuc_warnings_errors(1, *command_line);
1193
CX_a2 = token_value;
1194
CX_a2_clean = CX_a2;
1195
aeroDragParts -> storeCommands (*command_line);
1200
if (check_float(linetoken3))
1201
token3 >> token_value;
1203
uiuc_warnings_errors(1, *command_line);
1205
CX_a3 = token_value;
1206
CX_a3_clean = CX_a3;
1207
aeroDragParts -> storeCommands (*command_line);
1212
if (check_float(linetoken3))
1213
token3 >> token_value;
1215
uiuc_warnings_errors(1, *command_line);
1217
CX_adot = token_value;
1218
CX_adot_clean = CX_adot;
1219
aeroDragParts -> storeCommands (*command_line);
1224
if (check_float(linetoken3))
1225
token3 >> token_value;
1227
uiuc_warnings_errors(1, *command_line);
1231
aeroDragParts -> storeCommands (*command_line);
1236
if (check_float(linetoken3))
1237
token3 >> token_value;
1239
uiuc_warnings_errors(1, *command_line);
1241
CX_de = token_value;
1242
CX_de_clean = CX_de;
1243
aeroDragParts -> storeCommands (*command_line);
1248
if (check_float(linetoken3))
1249
token3 >> token_value;
1251
uiuc_warnings_errors(1, *command_line);
1253
CX_dr = token_value;
1254
CX_dr_clean = CX_dr;
1255
aeroDragParts -> storeCommands (*command_line);
1260
if (check_float(linetoken3))
1261
token3 >> token_value;
1263
uiuc_warnings_errors(1, *command_line);
1265
CX_df = token_value;
1266
CX_df_clean = CX_df;
1267
aeroDragParts -> storeCommands (*command_line);
1272
if (check_float(linetoken3))
1273
token3 >> token_value;
1275
uiuc_warnings_errors(1, *command_line);
1277
CX_adf = token_value;
1278
CX_adf_clean = CX_adf;
1279
aeroDragParts -> storeCommands (*command_line);
1284
uiuc_warnings_errors(2, *command_line);
1294
switch(CL_map[linetoken2])
1298
if (check_float(linetoken3))
1299
token3 >> token_value;
1301
uiuc_warnings_errors(1, *command_line);
1305
aeroLiftParts -> storeCommands (*command_line);
1310
if (check_float(linetoken3))
1311
token3 >> token_value;
1313
uiuc_warnings_errors(1, *command_line);
1317
aeroLiftParts -> storeCommands (*command_line);
1322
if (check_float(linetoken3))
1323
token3 >> token_value;
1325
uiuc_warnings_errors(1, *command_line);
1327
CL_adot = token_value;
1328
CL_adot_clean = CL_adot;
1329
aeroLiftParts -> storeCommands (*command_line);
1334
if (check_float(linetoken3))
1335
token3 >> token_value;
1337
uiuc_warnings_errors(1, *command_line);
1341
aeroLiftParts -> storeCommands (*command_line);
1346
if (check_float(linetoken3))
1347
token3 >> token_value;
1349
uiuc_warnings_errors(1, *command_line);
1351
CL_ih = token_value;
1352
aeroLiftParts -> storeCommands (*command_line);
1357
if (check_float(linetoken3))
1358
token3 >> token_value;
1360
uiuc_warnings_errors(1, *command_line);
1362
CL_de = token_value;
1363
CL_de_clean = CL_de;
1364
aeroLiftParts -> storeCommands (*command_line);
1370
token4 >> token_value_convert1;
1371
token5 >> token_value_convert2;
1372
convert_y = uiuc_convert(token_value_convert1);
1373
convert_x = uiuc_convert(token_value_convert2);
1374
/* call 1D File Reader with file name (CLfa) and conversion
1375
factors; function returns array of alphas (aArray) and
1376
corresponding CL values (CLArray) and max number of
1377
terms in arrays (nAlpha) */
1378
uiuc_1DdataFileReader(CLfa,
1382
aeroLiftParts -> storeCommands (*command_line);
1387
CLfade = linetoken3;
1388
token4 >> token_value_convert1;
1389
token5 >> token_value_convert2;
1390
token6 >> token_value_convert3;
1391
convert_z = uiuc_convert(token_value_convert1);
1392
convert_x = uiuc_convert(token_value_convert2);
1393
convert_y = uiuc_convert(token_value_convert3);
1394
/* call 2D File Reader with file name (CLfade) and
1395
conversion factors; function returns array of
1396
elevator deflections (deArray) and corresponding
1397
alpha (aArray) and delta CL (CLArray) values and
1398
max number of terms in alpha arrays (nAlphaArray)
1399
and deflection array (nde) */
1400
uiuc_2DdataFileReader(CLfade,
1406
aeroLiftParts -> storeCommands (*command_line);
1412
token4 >> token_value_convert1;
1413
token5 >> token_value_convert2;
1414
convert_y = uiuc_convert(token_value_convert1);
1415
convert_x = uiuc_convert(token_value_convert2);
1416
/* call 1D File Reader with file name (CLfdf) and conversion
1417
factors; function returns array of dfs (dfArray) and
1418
corresponding CL values (CLArray) and max number of
1419
terms in arrays (ndf) */
1420
uiuc_1DdataFileReader(CLfdf,
1424
aeroLiftParts -> storeCommands (*command_line);
1426
// additional variables to streamline flap routine in aerodeflections
1428
int temp_counter = 1;
1429
while (temp_counter <= ndf)
1431
dfArray[temp_counter] = CLfdf_dfArray[temp_counter];
1432
TimeArray[temp_counter] = dfTimefdf_TimeArray[temp_counter];
1439
CLfadf = linetoken3;
1440
token4 >> token_value_convert1;
1441
token5 >> token_value_convert2;
1442
token6 >> token_value_convert3;
1443
convert_z = uiuc_convert(token_value_convert1);
1444
convert_x = uiuc_convert(token_value_convert2);
1445
convert_y = uiuc_convert(token_value_convert3);
1446
/* call 2D File Reader with file name (CLfadf) and
1447
conversion factors; function returns array of
1448
flap deflections (dfArray) and corresponding
1449
alpha (aArray) and delta CL (CLArray) values and
1450
max number of terms in alpha arrays (nAlphaArray)
1451
and deflection array (ndf) */
1452
uiuc_2DdataFileReader(CLfadf,
1458
aeroLiftParts -> storeCommands (*command_line);
1463
if (check_float(linetoken3))
1464
token3 >> token_value;
1466
uiuc_warnings_errors(1, *command_line);
1470
aeroLiftParts -> storeCommands (*command_line);
1475
if (check_float(linetoken3))
1476
token3 >> token_value;
1478
uiuc_warnings_errors(1, *command_line);
1482
aeroLiftParts -> storeCommands (*command_line);
1487
if (check_float(linetoken3))
1488
token3 >> token_value;
1490
uiuc_warnings_errors(1, *command_line);
1492
CZ_a2 = token_value;
1493
CZ_a2_clean = CZ_a2;
1494
aeroLiftParts -> storeCommands (*command_line);
1499
if (check_float(linetoken3))
1500
token3 >> token_value;
1502
uiuc_warnings_errors(1, *command_line);
1504
CZ_a3 = token_value;
1505
CZ_a3_clean = CZ_a3;
1506
aeroLiftParts -> storeCommands (*command_line);
1511
if (check_float(linetoken3))
1512
token3 >> token_value;
1514
uiuc_warnings_errors(1, *command_line);
1516
CZ_adot = token_value;
1517
CZ_adot_clean = CZ_adot;
1518
aeroLiftParts -> storeCommands (*command_line);
1523
if (check_float(linetoken3))
1524
token3 >> token_value;
1526
uiuc_warnings_errors(1, *command_line);
1530
aeroLiftParts -> storeCommands (*command_line);
1535
if (check_float(linetoken3))
1536
token3 >> token_value;
1538
uiuc_warnings_errors(1, *command_line);
1540
CZ_de = token_value;
1541
CZ_de_clean = CZ_de;
1542
aeroLiftParts -> storeCommands (*command_line);
1547
if (check_float(linetoken3))
1548
token3 >> token_value;
1550
uiuc_warnings_errors(1, *command_line);
1552
CZ_deb2 = token_value;
1553
CZ_deb2_clean = CZ_deb2;
1554
aeroLiftParts -> storeCommands (*command_line);
1559
if (check_float(linetoken3))
1560
token3 >> token_value;
1562
uiuc_warnings_errors(1, *command_line);
1564
CZ_df = token_value;
1565
CZ_df_clean = CZ_df;
1566
aeroLiftParts -> storeCommands (*command_line);
1571
if (check_float(linetoken3))
1572
token3 >> token_value;
1574
uiuc_warnings_errors(1, *command_line);
1576
CZ_adf = token_value;
1577
CZ_adf_clean = CZ_adf;
1578
aeroLiftParts -> storeCommands (*command_line);
1584
token4 >> token_value_convert1;
1585
token5 >> token_value_convert2;
1586
convert_y = uiuc_convert(token_value_convert1);
1587
convert_x = uiuc_convert(token_value_convert2);
1588
/* call 1D File Reader with file name (CZfa) and conversion
1589
factors; function returns array of alphas (aArray) and
1590
corresponding CZ values (CZArray) and max number of
1591
terms in arrays (nAlpha) */
1592
uiuc_1DdataFileReader(CZfa,
1596
aeroLiftParts -> storeCommands (*command_line);
1601
uiuc_warnings_errors(2, *command_line);
1611
switch(Cm_map[linetoken2])
1615
if (check_float(linetoken3))
1616
token3 >> token_value;
1618
uiuc_warnings_errors(1, *command_line);
1622
aeroPitchParts -> storeCommands (*command_line);
1627
if (check_float(linetoken3))
1628
token3 >> token_value;
1630
uiuc_warnings_errors(1, *command_line);
1634
aeroPitchParts -> storeCommands (*command_line);
1639
if (check_float(linetoken3))
1640
token3 >> token_value;
1642
uiuc_warnings_errors(1, *command_line);
1644
Cm_a2 = token_value;
1645
Cm_a2_clean = Cm_a2;
1646
aeroPitchParts -> storeCommands (*command_line);
1651
if (check_float(linetoken3))
1652
token3 >> token_value;
1654
uiuc_warnings_errors(1, *command_line);
1656
Cm_adot = token_value;
1657
Cm_adot_clean = Cm_adot;
1658
aeroPitchParts -> storeCommands (*command_line);
1663
if (check_float(linetoken3))
1664
token3 >> token_value;
1666
uiuc_warnings_errors(1, *command_line);
1670
aeroPitchParts -> storeCommands (*command_line);
1675
if (check_float(linetoken3))
1676
token3 >> token_value;
1678
uiuc_warnings_errors(1, *command_line);
1680
Cm_ih = token_value;
1681
aeroPitchParts -> storeCommands (*command_line);
1686
if (check_float(linetoken3))
1687
token3 >> token_value;
1689
uiuc_warnings_errors(1, *command_line);
1691
Cm_de = token_value;
1692
Cm_de_clean = Cm_de;
1693
aeroPitchParts -> storeCommands (*command_line);
1698
if (check_float(linetoken3))
1699
token3 >> token_value;
1701
uiuc_warnings_errors(1, *command_line);
1703
Cm_b2 = token_value;
1704
Cm_b2_clean = Cm_b2;
1705
aeroPitchParts -> storeCommands (*command_line);
1710
if (check_float(linetoken3))
1711
token3 >> token_value;
1713
uiuc_warnings_errors(1, *command_line);
1717
aeroPitchParts -> storeCommands (*command_line);
1722
if (check_float(linetoken3))
1723
token3 >> token_value;
1725
uiuc_warnings_errors(1, *command_line);
1727
Cm_df = token_value;
1728
Cm_df_clean = Cm_df;
1729
aeroPitchParts -> storeCommands (*command_line);
1735
token4 >> token_value_convert1;
1736
token5 >> token_value_convert2;
1737
convert_y = uiuc_convert(token_value_convert1);
1738
convert_x = uiuc_convert(token_value_convert2);
1739
/* call 1D File Reader with file name (Cmfa) and conversion
1740
factors; function returns array of alphas (aArray) and
1741
corresponding Cm values (CmArray) and max number of
1742
terms in arrays (nAlpha) */
1743
uiuc_1DdataFileReader(Cmfa,
1747
aeroPitchParts -> storeCommands (*command_line);
1752
Cmfade = linetoken3;
1753
token4 >> token_value_convert1;
1754
token5 >> token_value_convert2;
1755
token6 >> token_value_convert3;
1756
convert_z = uiuc_convert(token_value_convert1);
1757
convert_x = uiuc_convert(token_value_convert2);
1758
convert_y = uiuc_convert(token_value_convert3);
1759
/* call 2D File Reader with file name (Cmfade) and
1760
conversion factors; function returns array of
1761
elevator deflections (deArray) and corresponding
1762
alpha (aArray) and delta Cm (CmArray) values and
1763
max number of terms in alpha arrays (nAlphaArray)
1764
and deflection array (nde) */
1765
uiuc_2DdataFileReader(Cmfade,
1771
aeroPitchParts -> storeCommands (*command_line);
1777
token4 >> token_value_convert1;
1778
token5 >> token_value_convert2;
1779
convert_y = uiuc_convert(token_value_convert1);
1780
convert_x = uiuc_convert(token_value_convert2);
1781
/* call 1D File Reader with file name (Cmfdf) and conversion
1782
factors; function returns array of dfs (dfArray) and
1783
corresponding Cm values (CmArray) and max number of
1784
terms in arrays (ndf) */
1785
uiuc_1DdataFileReader(Cmfdf,
1789
aeroPitchParts -> storeCommands (*command_line);
1794
Cmfadf = linetoken3;
1795
token4 >> token_value_convert1;
1796
token5 >> token_value_convert2;
1797
token6 >> token_value_convert3;
1798
convert_z = uiuc_convert(token_value_convert1);
1799
convert_x = uiuc_convert(token_value_convert2);
1800
convert_y = uiuc_convert(token_value_convert3);
1801
/* call 2D File Reader with file name (Cmfadf) and
1802
conversion factors; function returns array of
1803
flap deflections (dfArray) and corresponding
1804
alpha (aArray) and delta Cm (CmArray) values and
1805
max number of terms in alpha arrays (nAlphaArray)
1806
and deflection array (ndf) */
1807
uiuc_2DdataFileReader(Cmfadf,
1813
aeroPitchParts -> storeCommands (*command_line);
1818
uiuc_warnings_errors(2, *command_line);
1828
switch(CY_map[linetoken2])
1832
if (check_float(linetoken3))
1833
token3 >> token_value;
1835
uiuc_warnings_errors(1, *command_line);
1839
aeroSideforceParts -> storeCommands (*command_line);
1844
if (check_float(linetoken3))
1845
token3 >> token_value;
1847
uiuc_warnings_errors(1, *command_line);
1849
CY_beta = token_value;
1850
CY_beta_clean = CY_beta;
1851
aeroSideforceParts -> storeCommands (*command_line);
1856
if (check_float(linetoken3))
1857
token3 >> token_value;
1859
uiuc_warnings_errors(1, *command_line);
1863
aeroSideforceParts -> storeCommands (*command_line);
1868
if (check_float(linetoken3))
1869
token3 >> token_value;
1871
uiuc_warnings_errors(1, *command_line);
1875
aeroSideforceParts -> storeCommands (*command_line);
1880
if (check_float(linetoken3))
1881
token3 >> token_value;
1883
uiuc_warnings_errors(1, *command_line);
1885
CY_da = token_value;
1886
CY_da_clean = CY_da;
1887
aeroSideforceParts -> storeCommands (*command_line);
1892
if (check_float(linetoken3))
1893
token3 >> token_value;
1895
uiuc_warnings_errors(2, *command_line);
1897
CY_dr = token_value;
1898
CY_dr_clean = CY_dr;
1899
aeroSideforceParts -> storeCommands (*command_line);
1904
if (check_float(linetoken3))
1905
token3 >> token_value;
1907
uiuc_warnings_errors(2, *command_line);
1909
CY_dra = token_value;
1910
CY_dra_clean = CY_dra;
1911
aeroSideforceParts -> storeCommands (*command_line);
1916
if (check_float(linetoken3))
1917
token3 >> token_value;
1919
uiuc_warnings_errors(2, *command_line);
1921
CY_bdot = token_value;
1922
CY_bdot_clean = CY_bdot;
1923
aeroSideforceParts -> storeCommands (*command_line);
1928
CYfada = linetoken3;
1929
token4 >> token_value_convert1;
1930
token5 >> token_value_convert2;
1931
token6 >> token_value_convert3;
1932
convert_z = uiuc_convert(token_value_convert1);
1933
convert_x = uiuc_convert(token_value_convert2);
1934
convert_y = uiuc_convert(token_value_convert3);
1935
/* call 2D File Reader with file name (CYfada) and
1936
conversion factors; function returns array of
1937
aileron deflections (daArray) and corresponding
1938
alpha (aArray) and delta CY (CYArray) values and
1939
max number of terms in alpha arrays (nAlphaArray)
1940
and deflection array (nda) */
1941
uiuc_2DdataFileReader(CYfada,
1947
aeroSideforceParts -> storeCommands (*command_line);
1950
case CYfbetadr_flag:
1952
CYfbetadr = linetoken3;
1953
token4 >> token_value_convert1;
1954
token5 >> token_value_convert2;
1955
token6 >> token_value_convert3;
1956
convert_z = uiuc_convert(token_value_convert1);
1957
convert_x = uiuc_convert(token_value_convert2);
1958
convert_y = uiuc_convert(token_value_convert3);
1959
/* call 2D File Reader with file name (CYfbetadr) and
1960
conversion factors; function returns array of
1961
rudder deflections (drArray) and corresponding
1962
beta (betaArray) and delta CY (CYArray) values and
1963
max number of terms in beta arrays (nBetaArray)
1964
and deflection array (ndr) */
1965
uiuc_2DdataFileReader(CYfbetadr,
1966
CYfbetadr_betaArray,
1969
CYfbetadr_nBetaArray,
1971
aeroSideforceParts -> storeCommands (*command_line);
1976
uiuc_warnings_errors(2, *command_line);
1986
switch(Cl_map[linetoken2])
1990
if (check_float(linetoken3))
1991
token3 >> token_value;
1993
uiuc_warnings_errors(1, *command_line);
1997
aeroRollParts -> storeCommands (*command_line);
2002
if (check_float(linetoken3))
2003
token3 >> token_value;
2005
uiuc_warnings_errors(1, *command_line);
2007
Cl_beta = token_value;
2008
Cl_beta_clean = Cl_beta;
2009
aeroRollParts -> storeCommands (*command_line);
2014
if (check_float(linetoken3))
2015
token3 >> token_value;
2017
uiuc_warnings_errors(1, *command_line);
2021
aeroRollParts -> storeCommands (*command_line);
2026
if (check_float(linetoken3))
2027
token3 >> token_value;
2029
uiuc_warnings_errors(1, *command_line);
2033
aeroRollParts -> storeCommands (*command_line);
2038
if (check_float(linetoken3))
2039
token3 >> token_value;
2041
uiuc_warnings_errors(1, *command_line);
2043
Cl_da = token_value;
2044
Cl_da_clean = Cl_da;
2045
aeroRollParts -> storeCommands (*command_line);
2050
if (check_float(linetoken3))
2051
token3 >> token_value;
2053
uiuc_warnings_errors(1, *command_line);
2055
Cl_dr = token_value;
2056
Cl_dr_clean = Cl_dr;
2057
aeroRollParts -> storeCommands (*command_line);
2062
if (check_float(linetoken3))
2063
token3 >> token_value;
2065
uiuc_warnings_errors(1, *command_line);
2067
Cl_daa = token_value;
2068
Cl_daa_clean = Cl_daa;
2069
aeroRollParts -> storeCommands (*command_line);
2074
Clfada = linetoken3;
2075
token4 >> token_value_convert1;
2076
token5 >> token_value_convert2;
2077
token6 >> token_value_convert3;
2078
convert_z = uiuc_convert(token_value_convert1);
2079
convert_x = uiuc_convert(token_value_convert2);
2080
convert_y = uiuc_convert(token_value_convert3);
2081
/* call 2D File Reader with file name (Clfada) and
2082
conversion factors; function returns array of
2083
aileron deflections (daArray) and corresponding
2084
alpha (aArray) and delta Cl (ClArray) values and
2085
max number of terms in alpha arrays (nAlphaArray)
2086
and deflection array (nda) */
2087
uiuc_2DdataFileReader(Clfada,
2093
aeroRollParts -> storeCommands (*command_line);
2096
case Clfbetadr_flag:
2098
Clfbetadr = linetoken3;
2099
token4 >> token_value_convert1;
2100
token5 >> token_value_convert2;
2101
token6 >> token_value_convert3;
2102
convert_z = uiuc_convert(token_value_convert1);
2103
convert_x = uiuc_convert(token_value_convert2);
2104
convert_y = uiuc_convert(token_value_convert3);
2105
/* call 2D File Reader with file name (Clfbetadr) and
2106
conversion factors; function returns array of
2107
rudder deflections (drArray) and corresponding
2108
beta (betaArray) and delta Cl (ClArray) values and
2109
max number of terms in beta arrays (nBetaArray)
2110
and deflection array (ndr) */
2111
uiuc_2DdataFileReader(Clfbetadr,
2112
Clfbetadr_betaArray,
2115
Clfbetadr_nBetaArray,
2117
aeroRollParts -> storeCommands (*command_line);
2122
uiuc_warnings_errors(2, *command_line);
2132
switch(Cn_map[linetoken2])
2136
if (check_float(linetoken3))
2137
token3 >> token_value;
2139
uiuc_warnings_errors(1, *command_line);
2143
aeroYawParts -> storeCommands (*command_line);
2148
if (check_float(linetoken3))
2149
token3 >> token_value;
2151
uiuc_warnings_errors(1, *command_line);
2153
Cn_beta = token_value;
2154
Cn_beta_clean = Cn_beta;
2155
aeroYawParts -> storeCommands (*command_line);
2160
if (check_float(linetoken3))
2161
token3 >> token_value;
2163
uiuc_warnings_errors(1, *command_line);
2167
aeroYawParts -> storeCommands (*command_line);
2172
if (check_float(linetoken3))
2173
token3 >> token_value;
2175
uiuc_warnings_errors(1, *command_line);
2179
aeroYawParts -> storeCommands (*command_line);
2184
if (check_float(linetoken3))
2185
token3 >> token_value;
2187
uiuc_warnings_errors(1, *command_line);
2189
Cn_da = token_value;
2190
Cn_da_clean = Cn_da;
2191
aeroYawParts -> storeCommands (*command_line);
2196
if (check_float(linetoken3))
2197
token3 >> token_value;
2199
uiuc_warnings_errors(1, *command_line);
2201
Cn_dr = token_value;
2202
Cn_dr_clean = Cn_dr;
2203
aeroYawParts -> storeCommands (*command_line);
2208
if (check_float(linetoken3))
2209
token3 >> token_value;
2211
uiuc_warnings_errors(1, *command_line);
2215
aeroYawParts -> storeCommands (*command_line);
2220
if (check_float(linetoken3))
2221
token3 >> token_value;
2223
uiuc_warnings_errors(1, *command_line);
2225
Cn_b3 = token_value;
2226
Cn_b3_clean = Cn_b3;
2227
aeroYawParts -> storeCommands (*command_line);
2232
Cnfada = linetoken3;
2233
token4 >> token_value_convert1;
2234
token5 >> token_value_convert2;
2235
token6 >> token_value_convert3;
2236
convert_z = uiuc_convert(token_value_convert1);
2237
convert_x = uiuc_convert(token_value_convert2);
2238
convert_y = uiuc_convert(token_value_convert3);
2239
/* call 2D File Reader with file name (Cnfada) and
2240
conversion factors; function returns array of
2241
aileron deflections (daArray) and corresponding
2242
alpha (aArray) and delta Cn (CnArray) values and
2243
max number of terms in alpha arrays (nAlphaArray)
2244
and deflection array (nda) */
2245
uiuc_2DdataFileReader(Cnfada,
2251
aeroYawParts -> storeCommands (*command_line);
2254
case Cnfbetadr_flag:
2256
Cnfbetadr = linetoken3;
2257
token4 >> token_value_convert1;
2258
token5 >> token_value_convert2;
2259
token6 >> token_value_convert3;
2260
convert_z = uiuc_convert(token_value_convert1);
2261
convert_x = uiuc_convert(token_value_convert2);
2262
convert_y = uiuc_convert(token_value_convert3);
2263
/* call 2D File Reader with file name (Cnfbetadr) and
2264
conversion factors; function returns array of
2265
rudder deflections (drArray) and corresponding
2266
beta (betaArray) and delta Cn (CnArray) values and
2267
max number of terms in beta arrays (nBetaArray)
2268
and deflection array (ndr) */
2269
uiuc_2DdataFileReader(Cnfbetadr,
2270
Cnfbetadr_betaArray,
2273
Cnfbetadr_nBetaArray,
2275
aeroYawParts -> storeCommands (*command_line);
2280
uiuc_warnings_errors(2, *command_line);
2292
if (index < 0 || index >= 16)
2293
uiuc_warnings_errors(1, *command_line);
2294
switch(gear_map[linetoken2])
2298
if (check_float(linetoken3))
2299
token4 >> token_value;
2301
uiuc_warnings_errors(1, *command_line);
2302
D_gear_v[index][0] = token_value;
2303
gear_model[index] = true;
2308
if (check_float(linetoken3))
2309
token4 >> token_value;
2311
uiuc_warnings_errors(1, *command_line);
2312
D_gear_v[index][1] = token_value;
2313
gear_model[index] = true;
2318
if (check_float(linetoken3))
2319
token4 >> token_value;
2321
uiuc_warnings_errors(1, *command_line);
2322
D_gear_v[index][2] = token_value;
2323
gear_model[index] = true;
2328
if (check_float(linetoken3))
2329
token4 >> token_value;
2331
uiuc_warnings_errors(1, *command_line);
2332
cgear[index] = token_value;
2333
gear_model[index] = true;
2338
if (check_float(linetoken3))
2339
token4 >> token_value;
2341
uiuc_warnings_errors(1, *command_line);
2342
kgear[index] = token_value;
2343
gear_model[index] = true;
2348
if (check_float(linetoken3))
2349
token4 >> token_value;
2351
uiuc_warnings_errors(1, *command_line);
2352
muGear[index] = token_value;
2353
gear_model[index] = true;
2356
case strutLength_flag:
2358
if (check_float(linetoken3))
2359
token4 >> token_value;
2361
uiuc_warnings_errors(1, *command_line);
2362
strutLength[index] = token_value;
2363
gear_model[index] = true;
2368
uiuc_warnings_errors(2, *command_line);
2378
switch(ice_map[linetoken2])
2382
if (check_float(linetoken3))
2383
token3 >> token_value;
2386
uiuc_warnings_errors(1, *command_line);
2389
iceTime = token_value;
2392
case transientTime_flag:
2394
if (check_float(linetoken3))
2395
token3 >> token_value;
2397
uiuc_warnings_errors(1, *command_line);
2399
transientTime = token_value;
2402
case eta_ice_final_flag:
2404
if (check_float(linetoken3))
2405
token3 >> token_value;
2407
uiuc_warnings_errors(1, *command_line);
2409
eta_ice_final = token_value;
2412
case beta_probe_wing_flag:
2414
if (check_float(linetoken3))
2415
token3 >> token_value;
2417
uiuc_warnings_errors(1, *command_line);
2420
x_probe_wing = token_value;
2423
case beta_probe_tail_flag:
2425
if (check_float(linetoken3))
2426
token3 >> token_value;
2428
uiuc_warnings_errors(1, *command_line);
2431
x_probe_tail = token_value;
2436
if (check_float(linetoken3))
2437
token3 >> token_value;
2439
uiuc_warnings_errors(1, *command_line);
2446
if (check_float(linetoken3))
2447
token3 >> token_value;
2449
uiuc_warnings_errors(1, *command_line);
2456
if (check_float(linetoken3))
2457
token3 >> token_value;
2459
uiuc_warnings_errors(1, *command_line);
2461
kCD_a = token_value;
2466
if (check_float(linetoken3))
2467
token3 >> token_value;
2469
uiuc_warnings_errors(1, *command_line);
2471
kCD_adot = token_value;
2476
if (check_float(linetoken3))
2477
token3 >> token_value;
2479
uiuc_warnings_errors(1, *command_line);
2481
kCD_q = token_value;
2486
if (check_float(linetoken3))
2487
token3 >> token_value;
2489
uiuc_warnings_errors(1, *command_line);
2491
kCD_de = token_value;
2496
if (check_float(linetoken3))
2497
token3 >> token_value;
2499
uiuc_warnings_errors(1, *command_line);
2506
if (check_float(linetoken3))
2507
token3 >> token_value;
2509
uiuc_warnings_errors(1, *command_line);
2516
if (check_float(linetoken3))
2517
token3 >> token_value;
2519
uiuc_warnings_errors(1, *command_line);
2521
kCX_a = token_value;
2526
if (check_float(linetoken3))
2527
token3 >> token_value;
2529
uiuc_warnings_errors(1, *command_line);
2531
kCX_a2 = token_value;
2536
if (check_float(linetoken3))
2537
token3 >> token_value;
2539
uiuc_warnings_errors(1, *command_line);
2541
kCX_a3 = token_value;
2546
if (check_float(linetoken3))
2547
token3 >> token_value;
2549
uiuc_warnings_errors(1, *command_line);
2551
kCX_adot = token_value;
2556
if (check_float(linetoken3))
2557
token3 >> token_value;
2559
uiuc_warnings_errors(1, *command_line);
2561
kCX_q = token_value;
2566
if (check_float(linetoken3))
2567
token3 >> token_value;
2569
uiuc_warnings_errors(1, *command_line);
2571
kCX_de = token_value;
2576
if (check_float(linetoken3))
2577
token3 >> token_value;
2579
uiuc_warnings_errors(1, *command_line);
2581
kCX_dr = token_value;
2586
if (check_float(linetoken3))
2587
token3 >> token_value;
2589
uiuc_warnings_errors(1, *command_line);
2591
kCX_df = token_value;
2596
if (check_float(linetoken3))
2597
token3 >> token_value;
2599
uiuc_warnings_errors(1, *command_line);
2601
kCX_adf = token_value;
2606
if (check_float(linetoken3))
2607
token3 >> token_value;
2609
uiuc_warnings_errors(1, *command_line);
2616
if (check_float(linetoken3))
2617
token3 >> token_value;
2619
uiuc_warnings_errors(1, *command_line);
2621
kCL_a = token_value;
2626
if (check_float(linetoken3))
2627
token3 >> token_value;
2629
uiuc_warnings_errors(1, *command_line);
2631
kCL_adot = token_value;
2636
if (check_float(linetoken3))
2637
token3 >> token_value;
2639
uiuc_warnings_errors(1, *command_line);
2641
kCL_q = token_value;
2646
if (check_float(linetoken3))
2647
token3 >> token_value;
2649
uiuc_warnings_errors(1, *command_line);
2651
kCL_de = token_value;
2656
if (check_float(linetoken3))
2657
token3 >> token_value;
2659
uiuc_warnings_errors(1, *command_line);
2666
if (check_float(linetoken3))
2667
token3 >> token_value;
2669
uiuc_warnings_errors(1, *command_line);
2671
kCZ_a = token_value;
2676
if (check_float(linetoken3))
2677
token3 >> token_value;
2679
uiuc_warnings_errors(1, *command_line);
2681
kCZ_a2 = token_value;
2686
if (check_float(linetoken3))
2687
token3 >> token_value;
2689
uiuc_warnings_errors(1, *command_line);
2691
kCZ_a3 = token_value;
2696
if (check_float(linetoken3))
2697
token3 >> token_value;
2699
uiuc_warnings_errors(1, *command_line);
2701
kCZ_adot = token_value;
2706
if (check_float(linetoken3))
2707
token3 >> token_value;
2709
uiuc_warnings_errors(1, *command_line);
2711
kCZ_q = token_value;
2716
if (check_float(linetoken3))
2717
token3 >> token_value;
2719
uiuc_warnings_errors(1, *command_line);
2721
kCZ_de = token_value;
2726
if (check_float(linetoken3))
2727
token3 >> token_value;
2729
uiuc_warnings_errors(1, *command_line);
2731
kCZ_deb2 = token_value;
2736
if (check_float(linetoken3))
2737
token3 >> token_value;
2739
uiuc_warnings_errors(1, *command_line);
2741
kCZ_df = token_value;
2746
if (check_float(linetoken3))
2747
token3 >> token_value;
2749
uiuc_warnings_errors(1, *command_line);
2751
kCZ_adf = token_value;
2756
if (check_float(linetoken3))
2757
token3 >> token_value;
2759
uiuc_warnings_errors(1, *command_line);
2766
if (check_float(linetoken3))
2767
token3 >> token_value;
2769
uiuc_warnings_errors(1, *command_line);
2771
kCm_a = token_value;
2776
if (check_float(linetoken3))
2777
token3 >> token_value;
2779
uiuc_warnings_errors(1, *command_line);
2781
kCm_a2 = token_value;
2786
if (check_float(linetoken3))
2787
token3 >> token_value;
2789
uiuc_warnings_errors(1, *command_line);
2791
kCm_adot = token_value;
2796
if (check_float(linetoken3))
2797
token3 >> token_value;
2799
uiuc_warnings_errors(1, *command_line);
2801
kCm_q = token_value;
2806
if (check_float(linetoken3))
2807
token3 >> token_value;
2809
uiuc_warnings_errors(1, *command_line);
2811
kCm_de = token_value;
2816
if (check_float(linetoken3))
2817
token3 >> token_value;
2819
uiuc_warnings_errors(1, *command_line);
2821
kCm_b2 = token_value;
2826
if (check_float(linetoken3))
2827
token3 >> token_value;
2829
uiuc_warnings_errors(1, *command_line);
2831
kCm_r = token_value;
2836
if (check_float(linetoken3))
2837
token3 >> token_value;
2839
uiuc_warnings_errors(1, *command_line);
2841
kCm_df = token_value;
2846
if (check_float(linetoken3))
2847
token3 >> token_value;
2849
uiuc_warnings_errors(1, *command_line);
2856
if (check_float(linetoken3))
2857
token3 >> token_value;
2859
uiuc_warnings_errors(1, *command_line);
2861
kCY_beta = token_value;
2866
if (check_float(linetoken3))
2867
token3 >> token_value;
2869
uiuc_warnings_errors(1, *command_line);
2871
kCY_p = token_value;
2876
if (check_float(linetoken3))
2877
token3 >> token_value;
2879
uiuc_warnings_errors(1, *command_line);
2881
kCY_r = token_value;
2886
if (check_float(linetoken3))
2887
token3 >> token_value;
2889
uiuc_warnings_errors(1, *command_line);
2891
kCY_da = token_value;
2896
if (check_float(linetoken3))
2897
token3 >> token_value;
2899
uiuc_warnings_errors(1, *command_line);
2901
kCY_dr = token_value;
2906
if (check_float(linetoken3))
2907
token3 >> token_value;
2909
uiuc_warnings_errors(1, *command_line);
2911
kCY_dra = token_value;
2916
if (check_float(linetoken3))
2917
token3 >> token_value;
2919
uiuc_warnings_errors(1, *command_line);
2921
kCY_bdot = token_value;
2926
if (check_float(linetoken3))
2927
token3 >> token_value;
2929
uiuc_warnings_errors(1, *command_line);
2936
if (check_float(linetoken3))
2937
token3 >> token_value;
2939
uiuc_warnings_errors(1, *command_line);
2941
kCl_beta = token_value;
2946
if (check_float(linetoken3))
2947
token3 >> token_value;
2949
uiuc_warnings_errors(1, *command_line);
2951
kCl_p = token_value;
2956
if (check_float(linetoken3))
2957
token3 >> token_value;
2959
uiuc_warnings_errors(1, *command_line);
2961
kCl_r = token_value;
2966
if (check_float(linetoken3))
2967
token3 >> token_value;
2969
uiuc_warnings_errors(1, *command_line);
2971
kCl_da = token_value;
2976
if (check_float(linetoken3))
2977
token3 >> token_value;
2979
uiuc_warnings_errors(1, *command_line);
2981
kCl_dr = token_value;
2986
if (check_float(linetoken3))
2987
token3 >> token_value;
2989
uiuc_warnings_errors(1, *command_line);
2991
kCl_daa = token_value;
2996
if (check_float(linetoken3))
2997
token3 >> token_value;
2999
uiuc_warnings_errors(1, *command_line);
3006
if (check_float(linetoken3))
3007
token3 >> token_value;
3009
uiuc_warnings_errors(1, *command_line);
3011
kCn_beta = token_value;
3016
if (check_float(linetoken3))
3017
token3 >> token_value;
3019
uiuc_warnings_errors(1, *command_line);
3021
kCn_p = token_value;
3026
if (check_float(linetoken3))
3027
token3 >> token_value;
3029
uiuc_warnings_errors(1, *command_line);
3031
kCn_r = token_value;
3036
if (check_float(linetoken3))
3037
token3 >> token_value;
3039
uiuc_warnings_errors(1, *command_line);
3041
kCn_da = token_value;
3046
if (check_float(linetoken3))
3047
token3 >> token_value;
3049
uiuc_warnings_errors(1, *command_line);
3051
kCn_dr = token_value;
3056
if (check_float(linetoken3))
3057
token3 >> token_value;
3059
uiuc_warnings_errors(1, *command_line);
3061
kCn_q = token_value;
3066
if (check_float(linetoken3))
3067
token3 >> token_value;
3069
uiuc_warnings_errors(1, *command_line);
3071
kCn_b3 = token_value;
3076
uiuc_warnings_errors(2, *command_line);
3086
switch(fog_map[linetoken2])
3088
case fog_segments_flag:
3090
if (check_float(linetoken3))
3091
token3 >> token_value_convert1;
3093
uiuc_warnings_errors(1, *command_line);
3095
if (token_value_convert1 < 1 || token_value_convert1 > 100)
3096
uiuc_warnings_errors(1, *command_line);
3099
fog_point_index = 0;
3102
fog_segments = token_value_convert1;
3103
fog_time = new double[fog_segments+1];
3105
fog_value = new int[fog_segments+1];
3110
case fog_point_flag:
3112
if (check_float(linetoken3))
3113
token3 >> token_value;
3115
uiuc_warnings_errors(1, *command_line);
3117
if (token_value < 0.1)
3118
uiuc_warnings_errors(1, *command_line);
3120
if (check_float(linetoken4))
3121
token4 >> token_value_convert1;
3123
uiuc_warnings_errors(1, *command_line);
3125
if (token_value_convert1 < -1000 || token_value_convert1 > 1000)
3126
uiuc_warnings_errors(1, *command_line);
3128
if (fog_point_index == fog_segments || fog_point_index == -1)
3129
uiuc_warnings_errors(1, *command_line);
3132
fog_time[fog_point_index] = token_value;
3133
fog_value[fog_point_index] = token_value_convert1;
3139
uiuc_warnings_errors(2, *command_line);
3153
static int fout_flag=0;
3157
fout.open("uiuc_record.dat");
3159
switch(record_map[linetoken2])
3161
/************************* Time ************************/
3162
case Simtime_record:
3164
recordParts -> storeCommands (*command_line);
3169
recordParts -> storeCommands (*command_line);
3173
/************************* Mass ************************/
3176
recordParts -> storeCommands (*command_line);
3181
recordParts -> storeCommands (*command_line);
3186
recordParts -> storeCommands (*command_line);
3191
recordParts -> storeCommands (*command_line);
3196
recordParts -> storeCommands (*command_line);
3201
recordParts -> storeCommands (*command_line);
3205
/*********************** Geometry **********************/
3206
case Dx_pilot_record:
3208
recordParts -> storeCommands (*command_line);
3211
case Dy_pilot_record:
3213
recordParts -> storeCommands (*command_line);
3216
case Dz_pilot_record:
3218
recordParts -> storeCommands (*command_line);
3223
recordParts -> storeCommands (*command_line);
3228
recordParts -> storeCommands (*command_line);
3233
recordParts -> storeCommands (*command_line);
3237
/********************** Positions **********************/
3238
case Lat_geocentric_record:
3240
recordParts -> storeCommands (*command_line);
3243
case Lon_geocentric_record:
3245
recordParts -> storeCommands (*command_line);
3248
case Radius_to_vehicle_record:
3250
recordParts -> storeCommands (*command_line);
3253
case Latitude_record:
3255
recordParts -> storeCommands (*command_line);
3258
case Longitude_record:
3260
recordParts -> storeCommands (*command_line);
3263
case Altitude_record:
3265
recordParts -> storeCommands (*command_line);
3270
recordParts -> storeCommands (*command_line);
3275
recordParts -> storeCommands (*command_line);
3280
recordParts -> storeCommands (*command_line);
3284
/******************** Accelerations ********************/
3285
case V_dot_north_record:
3287
recordParts -> storeCommands (*command_line);
3290
case V_dot_east_record:
3292
recordParts -> storeCommands (*command_line);
3295
case V_dot_down_record:
3297
recordParts -> storeCommands (*command_line);
3300
case U_dot_body_record:
3302
recordParts -> storeCommands (*command_line);
3305
case V_dot_body_record:
3307
recordParts -> storeCommands (*command_line);
3310
case W_dot_body_record:
3312
recordParts -> storeCommands (*command_line);
3315
case A_X_pilot_record:
3317
recordParts -> storeCommands (*command_line);
3320
case A_Y_pilot_record:
3322
recordParts -> storeCommands (*command_line);
3325
case A_Z_pilot_record:
3327
recordParts -> storeCommands (*command_line);
3332
recordParts -> storeCommands (*command_line);
3337
recordParts -> storeCommands (*command_line);
3342
recordParts -> storeCommands (*command_line);
3345
case N_X_pilot_record:
3347
recordParts -> storeCommands (*command_line);
3350
case N_Y_pilot_record:
3352
recordParts -> storeCommands (*command_line);
3355
case N_Z_pilot_record:
3357
recordParts -> storeCommands (*command_line);
3362
recordParts -> storeCommands (*command_line);
3367
recordParts -> storeCommands (*command_line);
3372
recordParts -> storeCommands (*command_line);
3375
case P_dot_body_record:
3377
recordParts -> storeCommands (*command_line);
3380
case Q_dot_body_record:
3382
recordParts -> storeCommands (*command_line);
3385
case R_dot_body_record:
3387
recordParts -> storeCommands (*command_line);
3391
/********************** Velocities *********************/
3392
case V_north_record:
3394
recordParts -> storeCommands (*command_line);
3399
recordParts -> storeCommands (*command_line);
3404
recordParts -> storeCommands (*command_line);
3407
case V_north_rel_ground_record:
3409
recordParts -> storeCommands (*command_line);
3412
case V_east_rel_ground_record:
3414
recordParts -> storeCommands (*command_line);
3417
case V_down_rel_ground_record:
3419
recordParts -> storeCommands (*command_line);
3422
case V_north_airmass_record:
3424
recordParts -> storeCommands (*command_line);
3427
case V_east_airmass_record:
3429
recordParts -> storeCommands (*command_line);
3432
case V_down_airmass_record:
3434
recordParts -> storeCommands (*command_line);
3437
case V_north_rel_airmass_record:
3439
recordParts -> storeCommands (*command_line);
3442
case V_east_rel_airmass_record:
3444
recordParts -> storeCommands (*command_line);
3447
case V_down_rel_airmass_record:
3449
recordParts -> storeCommands (*command_line);
3454
recordParts -> storeCommands (*command_line);
3459
recordParts -> storeCommands (*command_line);
3464
recordParts -> storeCommands (*command_line);
3469
recordParts -> storeCommands (*command_line);
3474
recordParts -> storeCommands (*command_line);
3479
recordParts -> storeCommands (*command_line);
3482
case V_rel_wind_record:
3484
recordParts -> storeCommands (*command_line);
3487
case V_true_kts_record:
3489
recordParts -> storeCommands (*command_line);
3492
case V_rel_ground_record:
3494
recordParts -> storeCommands (*command_line);
3497
case V_inertial_record:
3499
recordParts -> storeCommands (*command_line);
3502
case V_ground_speed_record:
3504
recordParts -> storeCommands (*command_line);
3507
case V_equiv_record:
3509
recordParts -> storeCommands (*command_line);
3512
case V_equiv_kts_record:
3514
recordParts -> storeCommands (*command_line);
3517
case V_calibrated_record:
3519
recordParts -> storeCommands (*command_line);
3522
case V_calibrated_kts_record:
3524
recordParts -> storeCommands (*command_line);
3527
case P_local_record:
3529
recordParts -> storeCommands (*command_line);
3532
case Q_local_record:
3534
recordParts -> storeCommands (*command_line);
3537
case R_local_record:
3539
recordParts -> storeCommands (*command_line);
3544
recordParts -> storeCommands (*command_line);
3549
recordParts -> storeCommands (*command_line);
3554
recordParts -> storeCommands (*command_line);
3557
case P_total_record:
3559
recordParts -> storeCommands (*command_line);
3562
case Q_total_record:
3564
recordParts -> storeCommands (*command_line);
3567
case R_total_record:
3569
recordParts -> storeCommands (*command_line);
3572
case Phi_dot_record:
3574
recordParts -> storeCommands (*command_line);
3577
case Theta_dot_record:
3579
recordParts -> storeCommands (*command_line);
3582
case Psi_dot_record:
3584
recordParts -> storeCommands (*command_line);
3587
case Latitude_dot_record:
3589
recordParts -> storeCommands (*command_line);
3592
case Longitude_dot_record:
3594
recordParts -> storeCommands (*command_line);
3597
case Radius_dot_record:
3599
recordParts -> storeCommands (*command_line);
3603
/************************ Angles ***********************/
3606
recordParts -> storeCommands (*command_line);
3609
case Alpha_deg_record:
3611
recordParts -> storeCommands (*command_line);
3614
case Alpha_dot_record:
3616
recordParts -> storeCommands (*command_line);
3619
case Alpha_dot_deg_record:
3621
recordParts -> storeCommands (*command_line);
3626
recordParts -> storeCommands (*command_line);
3629
case Beta_deg_record:
3631
recordParts -> storeCommands (*command_line);
3634
case Beta_dot_record:
3636
recordParts -> storeCommands (*command_line);
3639
case Beta_dot_deg_record:
3641
recordParts -> storeCommands (*command_line);
3644
case Gamma_vert_record:
3646
recordParts -> storeCommands (*command_line);
3649
case Gamma_vert_deg_record:
3651
recordParts -> storeCommands (*command_line);
3654
case Gamma_horiz_record:
3656
recordParts -> storeCommands (*command_line);
3659
case Gamma_horiz_deg_record:
3661
recordParts -> storeCommands (*command_line);
3665
/**************** Atmospheric Properties ***************/
3666
case Density_record:
3668
recordParts -> storeCommands (*command_line);
3671
case V_sound_record:
3673
recordParts -> storeCommands (*command_line);
3676
case Mach_number_record:
3678
recordParts -> storeCommands (*command_line);
3681
case Static_pressure_record:
3683
recordParts -> storeCommands (*command_line);
3686
case Total_pressure_record:
3688
recordParts -> storeCommands (*command_line);
3691
case Impact_pressure_record:
3693
recordParts -> storeCommands (*command_line);
3696
case Dynamic_pressure_record:
3698
recordParts -> storeCommands (*command_line);
3701
case Static_temperature_record:
3703
recordParts -> storeCommands (*command_line);
3706
case Total_temperature_record:
3708
recordParts -> storeCommands (*command_line);
3712
/******************** Earth Properties *****************/
3713
case Gravity_record:
3715
recordParts -> storeCommands (*command_line);
3718
case Sea_level_radius_record:
3720
recordParts -> storeCommands (*command_line);
3723
case Earth_position_angle_record:
3725
recordParts -> storeCommands (*command_line);
3728
case Runway_altitude_record:
3730
recordParts -> storeCommands (*command_line);
3733
case Runway_latitude_record:
3735
recordParts -> storeCommands (*command_line);
3738
case Runway_longitude_record:
3740
recordParts -> storeCommands (*command_line);
3743
case Runway_heading_record:
3745
recordParts -> storeCommands (*command_line);
3748
case Radius_to_rwy_record:
3750
recordParts -> storeCommands (*command_line);
3753
case D_pilot_north_of_rwy_record:
3755
recordParts -> storeCommands (*command_line);
3758
case D_pilot_east_of_rwy_record:
3760
recordParts -> storeCommands (*command_line);
3763
case D_pilot_above_rwy_record:
3765
recordParts -> storeCommands (*command_line);
3768
case X_pilot_rwy_record:
3770
recordParts -> storeCommands (*command_line);
3773
case Y_pilot_rwy_record:
3775
recordParts -> storeCommands (*command_line);
3778
case H_pilot_rwy_record:
3780
recordParts -> storeCommands (*command_line);
3783
case D_cg_north_of_rwy_record:
3785
recordParts -> storeCommands (*command_line);
3788
case D_cg_east_of_rwy_record:
3790
recordParts -> storeCommands (*command_line);
3793
case D_cg_above_rwy_record:
3795
recordParts -> storeCommands (*command_line);
3798
case X_cg_rwy_record:
3800
recordParts -> storeCommands (*command_line);
3803
case Y_cg_rwy_record:
3805
recordParts -> storeCommands (*command_line);
3808
case H_cg_rwy_record:
3810
recordParts -> storeCommands (*command_line);
3814
/********************* Engine Inputs *******************/
3815
case Throttle_pct_record:
3817
recordParts -> storeCommands (*command_line);
3820
case Throttle_3_record:
3822
recordParts -> storeCommands (*command_line);
3826
/******************** Control Inputs *******************/
3827
case Long_control_record:
3829
recordParts -> storeCommands (*command_line);
3832
case Long_trim_record:
3834
recordParts -> storeCommands (*command_line);
3837
case Long_trim_deg_record:
3839
recordParts -> storeCommands (*command_line);
3842
case elevator_record:
3844
recordParts -> storeCommands (*command_line);
3847
case elevator_deg_record:
3849
recordParts -> storeCommands (*command_line);
3852
case Lat_control_record:
3854
recordParts -> storeCommands (*command_line);
3857
case aileron_record:
3859
recordParts -> storeCommands (*command_line);
3862
case aileron_deg_record:
3864
recordParts -> storeCommands (*command_line);
3867
case Rudder_pedal_record:
3869
recordParts -> storeCommands (*command_line);
3874
recordParts -> storeCommands (*command_line);
3877
case rudder_deg_record:
3879
recordParts -> storeCommands (*command_line);
3882
case Flap_handle_record:
3884
recordParts -> storeCommands (*command_line);
3889
recordParts -> storeCommands (*command_line);
3892
case flap_deg_record:
3894
recordParts -> storeCommands (*command_line);
3898
/****************** Aero Coefficients ******************/
3901
recordParts -> storeCommands (*command_line);
3906
recordParts -> storeCommands (*command_line);
3909
case CDfadeI_record:
3911
recordParts -> storeCommands (*command_line);
3916
recordParts -> storeCommands (*command_line);
3919
case CDfadfI_record:
3921
recordParts -> storeCommands (*command_line);
3926
recordParts -> storeCommands (*command_line);
3931
recordParts -> storeCommands (*command_line);
3936
recordParts -> storeCommands (*command_line);
3939
case CLfadeI_record:
3941
recordParts -> storeCommands (*command_line);
3946
recordParts -> storeCommands (*command_line);
3949
case CLfadfI_record:
3951
recordParts -> storeCommands (*command_line);
3956
recordParts -> storeCommands (*command_line);
3961
recordParts -> storeCommands (*command_line);
3966
recordParts -> storeCommands (*command_line);
3969
case CmfadeI_record:
3971
recordParts -> storeCommands (*command_line);
3976
recordParts -> storeCommands (*command_line);
3979
case CmfadfI_record:
3981
recordParts -> storeCommands (*command_line);
3986
recordParts -> storeCommands (*command_line);
3989
case CYfadaI_record:
3991
recordParts -> storeCommands (*command_line);
3994
case CYfbetadrI_record:
3996
recordParts -> storeCommands (*command_line);
4001
recordParts -> storeCommands (*command_line);
4004
case ClfadaI_record:
4006
recordParts -> storeCommands (*command_line);
4009
case ClfbetadrI_record:
4011
recordParts -> storeCommands (*command_line);
4016
recordParts -> storeCommands (*command_line);
4019
case CnfadaI_record:
4021
recordParts -> storeCommands (*command_line);
4024
case CnfbetadrI_record:
4026
recordParts -> storeCommands (*command_line);
4030
/******************** Ice Detection ********************/
4031
case CLclean_wing_record:
4033
recordParts -> storeCommands (*command_line);
4036
case CLiced_wing_record:
4038
recordParts -> storeCommands (*command_line);
4041
case CLclean_tail_record:
4043
recordParts -> storeCommands (*command_line);
4046
case CLiced_tail_record:
4048
recordParts -> storeCommands (*command_line);
4051
case Lift_clean_wing_record:
4053
recordParts -> storeCommands (*command_line);
4056
case Lift_iced_wing_record:
4058
recordParts -> storeCommands (*command_line);
4061
case Lift_clean_tail_record:
4063
recordParts -> storeCommands (*command_line);
4066
case Lift_iced_tail_record:
4068
recordParts -> storeCommands (*command_line);
4071
case Gamma_clean_wing_record:
4073
recordParts -> storeCommands (*command_line);
4076
case Gamma_iced_wing_record:
4078
recordParts -> storeCommands (*command_line);
4081
case Gamma_clean_tail_record:
4083
recordParts -> storeCommands (*command_line);
4086
case Gamma_iced_tail_record:
4088
recordParts -> storeCommands (*command_line);
4091
case w_clean_wing_record:
4093
recordParts -> storeCommands (*command_line);
4096
case w_iced_wing_record:
4098
recordParts -> storeCommands (*command_line);
4101
case w_clean_tail_record:
4103
recordParts -> storeCommands (*command_line);
4106
case w_iced_tail_record:
4108
recordParts -> storeCommands (*command_line);
4111
case V_total_clean_wing_record:
4113
recordParts -> storeCommands (*command_line);
4116
case V_total_iced_wing_record:
4118
recordParts -> storeCommands (*command_line);
4121
case V_total_clean_tail_record:
4123
recordParts -> storeCommands (*command_line);
4126
case V_total_iced_tail_record:
4128
recordParts -> storeCommands (*command_line);
4131
case beta_flow_clean_wing_record:
4133
recordParts -> storeCommands (*command_line);
4136
case beta_flow_clean_wing_deg_record:
4138
recordParts -> storeCommands (*command_line);
4141
case beta_flow_iced_wing_record:
4143
recordParts -> storeCommands (*command_line);
4146
case beta_flow_iced_wing_deg_record:
4148
recordParts -> storeCommands (*command_line);
4151
case beta_flow_clean_tail_record:
4153
recordParts -> storeCommands (*command_line);
4156
case beta_flow_clean_tail_deg_record:
4158
recordParts -> storeCommands (*command_line);
4161
case beta_flow_iced_tail_record:
4163
recordParts -> storeCommands (*command_line);
4166
case beta_flow_iced_tail_deg_record:
4168
recordParts -> storeCommands (*command_line);
4171
case Dbeta_flow_wing_record:
4173
recordParts -> storeCommands (*command_line);
4176
case Dbeta_flow_wing_deg_record:
4178
recordParts -> storeCommands (*command_line);
4181
case Dbeta_flow_tail_record:
4183
recordParts -> storeCommands (*command_line);
4186
case Dbeta_flow_tail_deg_record:
4188
recordParts -> storeCommands (*command_line);
4191
case pct_beta_flow_wing_record:
4193
recordParts -> storeCommands (*command_line);
4196
case pct_beta_flow_tail_record:
4198
recordParts -> storeCommands (*command_line);
4202
/************************ Forces ***********************/
4203
case F_X_wind_record:
4205
recordParts -> storeCommands (*command_line);
4208
case F_Y_wind_record:
4210
recordParts -> storeCommands (*command_line);
4213
case F_Z_wind_record:
4215
recordParts -> storeCommands (*command_line);
4218
case F_X_aero_record:
4220
recordParts -> storeCommands (*command_line);
4223
case F_Y_aero_record:
4225
recordParts -> storeCommands (*command_line);
4228
case F_Z_aero_record:
4230
recordParts -> storeCommands (*command_line);
4233
case F_X_engine_record:
4235
recordParts -> storeCommands (*command_line);
4238
case F_Y_engine_record:
4240
recordParts -> storeCommands (*command_line);
4243
case F_Z_engine_record:
4245
recordParts -> storeCommands (*command_line);
4248
case F_X_gear_record:
4250
recordParts -> storeCommands (*command_line);
4253
case F_Y_gear_record:
4255
recordParts -> storeCommands (*command_line);
4258
case F_Z_gear_record:
4260
recordParts -> storeCommands (*command_line);
4265
recordParts -> storeCommands (*command_line);
4270
recordParts -> storeCommands (*command_line);
4275
recordParts -> storeCommands (*command_line);
4278
case F_north_record:
4280
recordParts -> storeCommands (*command_line);
4285
recordParts -> storeCommands (*command_line);
4290
recordParts -> storeCommands (*command_line);
4294
/*********************** Moments ***********************/
4295
case M_l_aero_record:
4297
recordParts -> storeCommands (*command_line);
4300
case M_m_aero_record:
4302
recordParts -> storeCommands (*command_line);
4305
case M_n_aero_record:
4307
recordParts -> storeCommands (*command_line);
4310
case M_l_engine_record:
4312
recordParts -> storeCommands (*command_line);
4315
case M_m_engine_record:
4317
recordParts -> storeCommands (*command_line);
4320
case M_n_engine_record:
4322
recordParts -> storeCommands (*command_line);
4325
case M_l_gear_record:
4327
recordParts -> storeCommands (*command_line);
4330
case M_m_gear_record:
4332
recordParts -> storeCommands (*command_line);
4335
case M_n_gear_record:
4337
recordParts -> storeCommands (*command_line);
4342
recordParts -> storeCommands (*command_line);
4347
recordParts -> storeCommands (*command_line);
4352
recordParts -> storeCommands (*command_line);
4357
uiuc_warnings_errors(2, *command_line);
4367
switch(misc_map[linetoken2])
4369
case simpleHingeMomentCoef_flag:
4371
if (check_float(linetoken3))
4372
token3 >> token_value;
4374
uiuc_warnings_errors(1, *command_line);
4376
simpleHingeMomentCoef = token_value;
4379
case dfTimefdf_flag:
4381
dfTimefdf = linetoken3;
4382
/* call 1D File Reader with file name (dfTimefdf);
4383
function returns array of dfs (dfArray) and
4384
corresponding time values (TimeArray) and max
4385
number of terms in arrays (ndf) */
4386
uiuc_1DdataFileReader(dfTimefdf,
4388
dfTimefdf_TimeArray,
4394
uiuc_warnings_errors(2, *command_line);
4404
if (linetoken1=="*")
4406
uiuc_warnings_errors(2, *command_line);
4410
} // end keyword map