File: | zaeroCards.c |
Warning: | line 506, column 3 Value stored to 'status' is never read |
Press '?' to see keyboard shortcuts
Keyboard shortcuts:
1 | #include <string.h> |
2 | |
3 | #include "aimUtil.h" |
4 | #include "cardUtils.h" |
5 | #include "miscUtils.h" |
6 | #include "zaeroCards.h" |
7 | #include "zaeroUtils.h" |
8 | |
9 | |
10 | int zaero_card_aeroz(void *aimInfo, |
11 | FILE *fp, int acsid, char *xzsym, |
12 | char *flip, char *fmmunit, char *fmlunit, |
13 | double refc, double refb, double refs, |
14 | double refx, double refy, double refz, |
15 | feaFileTypeEnum formatType) |
16 | { |
17 | int status = CAPS_SUCCESS0; |
18 | |
19 | cardStruct card; |
20 | |
21 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
22 | |
23 | // begin card |
24 | status = card_initiate(&card, "AEROZ", formatType); |
25 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 25, __func__, 0); goto cleanup; }; |
26 | |
27 | // ACSID (Integer > 0 or Blank) |
28 | status = card_addInteger(&card, acsid); |
29 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 29, __func__, 0); goto cleanup; }; |
30 | |
31 | // XZSYM (Character), can be blank |
32 | status = card_addString(&card, xzsym); |
33 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 33, __func__, 0); goto cleanup; }; |
34 | |
35 | // FLIP (Character), can be blank |
36 | status = card_addString(&card, flip); |
37 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 37, __func__, 0); goto cleanup; }; |
38 | |
39 | // FMMUNIT(Character), can be blank |
40 | status = card_addString(&card, fmmunit); |
41 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 41, __func__, 0); goto cleanup; }; |
42 | |
43 | // FMLUNIT (Character), can be blank |
44 | status = card_addString(&card, fmlunit); |
45 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 45, __func__, 0); goto cleanup; }; |
46 | |
47 | // REFC (Real >= 0), can be blank |
48 | status = card_addDouble(&card, refc); |
49 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 49, __func__, 0); goto cleanup; }; |
50 | |
51 | // REFB (Real >= 0), can be blank |
52 | status = card_addDouble(&card, refb); |
53 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 53, __func__, 0); goto cleanup; }; |
54 | |
55 | // REFS (Real >= 0), can be blank |
56 | status = card_addDouble(&card, refs); |
57 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 57, __func__, 0); goto cleanup; }; |
58 | |
59 | // REFX, REFY, REFZ (Real) |
60 | status = card_addDouble(&card, refx); |
61 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 61, __func__, 0); goto cleanup; }; |
62 | status = card_addDouble(&card, refy); |
63 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 63, __func__, 0); goto cleanup; }; |
64 | status = card_addDouble(&card, refz); |
65 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 65, __func__, 0); goto cleanup; }; |
66 | |
67 | // write card to file |
68 | card_write(&card, fp); |
69 | |
70 | cleanup: |
71 | card_destroy(&card); |
72 | |
73 | return status; |
74 | } |
75 | |
76 | // write MKAEROZ card |
77 | int zaero_card_mkaeroz(void *aimInfo, |
78 | FILE *fp, int idmk, double mach, int method, int idflt, |
79 | const char *save, const char *filenm, int print, |
80 | int numFreq, double freq[], |
81 | feaFileTypeEnum formatType) |
82 | { |
83 | int status = CAPS_SUCCESS0; |
84 | |
85 | cardStruct card; |
86 | |
87 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
88 | |
89 | // begin card |
90 | status = card_initiate(&card, "MKAEROZ", formatType); |
91 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 91, __func__, 0); goto cleanup; }; |
92 | |
93 | // IDMK (Integer > 0) |
94 | status = card_addInteger(&card, idmk); |
95 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 95, __func__, 0); goto cleanup; }; |
96 | |
97 | // MACH (Real >= 0) |
98 | status = card_addDouble(&card, mach); |
99 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 99, __func__, 0); goto cleanup; }; |
100 | |
101 | // METHOD (Integer >= 0), can be blank |
102 | status = card_addInteger(&card, method); |
103 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 103, __func__, 0); goto cleanup; }; |
104 | |
105 | // IDFLT (Integer >= 0) |
106 | status = card_addInteger(&card, idflt); |
107 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 107, __func__, 0); goto cleanup; }; |
108 | |
109 | // SAVE (Characters or blank) |
110 | status = card_addString(&card, save); |
111 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 111, __func__, 0); goto cleanup; }; |
112 | |
113 | // FILENM (Characters or blank) |
114 | status = card_addString(&card, filenm); |
115 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 115, __func__, 0); goto cleanup; }; |
116 | |
117 | // PRINT (Integer) |
118 | status = card_addInteger(&card, print); |
119 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 119, __func__, 0); goto cleanup; }; |
120 | |
121 | // FREQi (Real) |
122 | status = card_addDoubleArray(&card, numFreq, freq); |
123 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 123, __func__, 0); goto cleanup; }; |
124 | |
125 | // write card to file |
126 | card_write(&card, fp); |
127 | |
128 | cleanup: |
129 | |
130 | card_destroy(&card); |
131 | |
132 | return status; |
133 | } |
134 | |
135 | // write FLUTTER card |
136 | int zaero_card_flutter(void *aimInfo, |
137 | FILE *fp, int setid, char *sym, int fix, int nmode, |
138 | int tabdmp, int mlist, int conmlst, int nkstep, |
139 | feaFileTypeEnum formatType) |
140 | { |
141 | int status = CAPS_SUCCESS0; |
142 | |
143 | cardStruct card; |
144 | |
145 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
146 | |
147 | // begin card |
148 | status = card_initiate(&card, "FLUTTER", formatType); |
149 | |
150 | // SETID (Integer > 0) |
151 | status = card_addInteger(&card, setid); |
152 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 152, __func__, 0); goto cleanup; }; |
153 | |
154 | // SYM |
155 | status = card_addString(&card, sym); |
156 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 156, __func__, 0); goto cleanup; }; |
157 | |
158 | // FIX (Integer > 0) |
159 | status = card_addInteger(&card, fix); |
160 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 160, __func__, 0); goto cleanup; }; |
161 | |
162 | // NMODE (Integer >= 0) |
163 | status = card_addInteger(&card, nmode); |
164 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 164, __func__, 0); goto cleanup; }; |
165 | |
166 | // TABDMP (Integer >= 0) |
167 | status = card_addInteger(&card, tabdmp); |
168 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 168, __func__, 0); goto cleanup; }; |
169 | |
170 | // MLIST (Integer >= 0), can be blank |
171 | status = card_addInteger(&card, mlist); |
172 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 172, __func__, 0); goto cleanup; }; |
173 | |
174 | // CONMLST (Integer >= 0), can be blank |
175 | status = card_addInteger(&card, conmlst); |
176 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 176, __func__, 0); goto cleanup; }; |
177 | |
178 | // NKSTEP (Integer >= 0), can be blank |
179 | status = card_addInteger(&card, nkstep); |
180 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 180, __func__, 0); goto cleanup; }; |
181 | |
182 | // write card to file |
183 | card_write(&card, fp); |
184 | |
185 | cleanup: |
186 | |
187 | card_destroy(&card); |
188 | |
189 | return status; |
190 | } |
191 | |
192 | // write FIXMDEN card |
193 | int zaero_card_fixmden(void *aimInfo, |
194 | FILE *fp, int setid, int idmk, double den, |
195 | char *ftmunit, char *ftlunit, double vref, int fluttf, |
196 | int print, int numVelocities, double *velocities, |
197 | feaFileTypeEnum formatType) |
198 | { |
199 | int status = CAPS_SUCCESS0; |
200 | |
201 | cardStruct card; |
202 | |
203 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
204 | |
205 | // begin card |
206 | card_initiate(&card, "FIXMDEN", formatType); |
207 | |
208 | // SETID (Integer > 0) |
209 | status = card_addInteger(&card, setid); |
210 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 210, __func__, 0); goto cleanup; }; |
211 | |
212 | // IDMK (Integer > 0) |
213 | status = card_addInteger(&card, idmk); |
214 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 214, __func__, 0); goto cleanup; }; |
215 | |
216 | // DEN (Real > 0.0) |
217 | status = card_addDouble(&card, den); |
218 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 218, __func__, 0); goto cleanup; }; |
219 | |
220 | // FTMUNIT (Character) |
221 | status = card_addString(&card, ftmunit); |
222 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 222, __func__, 0); goto cleanup; }; |
223 | |
224 | // FTLUNIT (Character) |
225 | status = card_addString(&card, ftlunit); |
226 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 226, __func__, 0); goto cleanup; }; |
227 | |
228 | // VREF (Real) |
229 | status = card_addDouble(&card,vref); |
230 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 230, __func__, 0); goto cleanup; }; |
231 | |
232 | // FLUTTF (Integer >= 0), can be blank |
233 | status = card_addInteger(&card, fluttf); |
234 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 234, __func__, 0); goto cleanup; }; |
235 | |
236 | // PRINT (Integer) |
237 | status = card_addInteger(&card, print); |
238 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 238, __func__, 0); goto cleanup; }; |
239 | |
240 | // Vi (Real > 0.0) // TODO: verify ascending order |
241 | status = card_addDoubleArray(&card, numVelocities, velocities); |
242 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 242, __func__, 0); goto cleanup; }; |
243 | |
244 | // write card to file |
245 | card_write(&card, fp); |
246 | |
247 | cleanup: |
248 | |
249 | card_destroy(&card); |
250 | |
251 | return status; |
252 | } |
253 | |
254 | // write TABDMP1 card |
255 | int zaero_card_tabdmp1(void *aimInfo, |
256 | FILE *fp, int tid, char *type, |
257 | int numDamping, |
258 | double *dampingFreq, |
259 | double *dampingValues, |
260 | feaFileTypeEnum formatType) |
261 | { |
262 | int status = CAPS_SUCCESS0; |
263 | int i; |
264 | |
265 | cardStruct card; |
266 | |
267 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
268 | |
269 | // begin card |
270 | status = card_initiate(&card, "TABDMP1", formatType); |
271 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 271, __func__, 0); goto cleanup; }; |
272 | |
273 | // TID |
274 | status = card_addInteger(&card, tid); |
275 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 275, __func__, 0); goto cleanup; }; |
276 | |
277 | // TYPE, can be blank |
278 | status = card_addString(&card, type); |
279 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 279, __func__, 0); goto cleanup; }; |
280 | |
281 | // 6 empty fields |
282 | for (i = 0; i < 6; i++) { |
283 | card_addBlank(&card); |
284 | } |
285 | |
286 | // fi, gi |
287 | for (i = 0; i < numDamping; i++) { |
288 | status = card_addDouble(&card, dampingFreq[i]); |
289 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 289, __func__, 0); goto cleanup; }; |
290 | |
291 | status = card_addDouble(&card, dampingValues[i]); |
292 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 292, __func__, 0); goto cleanup; }; |
293 | } |
294 | |
295 | // write card to file |
296 | card_write(&card, fp); |
297 | |
298 | cleanup: |
299 | |
300 | card_destroy(&card); |
301 | |
302 | return status; |
303 | } |
304 | |
305 | // write CAERO7 card |
306 | int zaero_card_caero7(void *aimInfo, |
307 | FILE *fp, int wid, char *label, int acoord, |
308 | int nspan, int nchord, int lspan, int ztaic, int pafoil7, |
309 | double rl[3], double rch, int lrchd, int attchr, int acordr, |
310 | double tl[3], double tch, int ltchd, int attcht, int acordt, |
311 | feaFileTypeEnum formatType) |
312 | { |
313 | int status = CAPS_SUCCESS0; |
314 | |
315 | cardStruct card; |
316 | |
317 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
318 | |
319 | // begin card |
320 | status = card_initiate(&card, "CAERO7", formatType); |
321 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 321, __func__, 0); goto cleanup; }; |
322 | |
323 | // WID (Integer > 0) |
324 | status = card_addInteger(&card, wid); |
325 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 325, __func__, 0); goto cleanup; }; |
326 | |
327 | // LABEL (Character) |
328 | status = card_addString(&card, label); |
329 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 329, __func__, 0); goto cleanup; }; |
330 | |
331 | // ACOORD (Integer >= 0 or Blank, default = 0) |
332 | status = card_addInteger(&card, acoord); |
333 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 333, __func__, 0); goto cleanup; }; |
334 | |
335 | // NSPAN (Integer >= 2) |
336 | status = card_addInteger(&card, nspan); |
337 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 337, __func__, 0); goto cleanup; }; |
338 | |
339 | // NCHORD (Integer >= 2) |
340 | status = card_addInteger(&card, nchord); |
341 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 341, __func__, 0); goto cleanup; }; |
342 | |
343 | // LSPAN (Integer >= 0) |
344 | status = card_addInteger(&card, lspan); |
345 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 345, __func__, 0); goto cleanup; }; |
346 | |
347 | // ZTAIC (Integer >= 0) |
348 | status = card_addInteger(&card, ztaic); |
349 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 349, __func__, 0); goto cleanup; }; |
350 | |
351 | // PAFOIL7 (Integer >= 0) |
352 | status = card_addInteger(&card, pafoil7); |
353 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 353, __func__, 0); goto cleanup; }; |
354 | |
355 | // XRL, YRL, ZRL (Real) |
356 | status = card_addDouble(&card, rl[0]); |
357 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 357, __func__, 0); goto cleanup; }; |
358 | status = card_addDouble(&card, rl[1]); |
359 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 359, __func__, 0); goto cleanup; }; |
360 | status = card_addDouble(&card, rl[2]); |
361 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 361, __func__, 0); goto cleanup; }; |
362 | |
363 | // RCH (Real) |
364 | status = card_addDouble(&card, rch); |
365 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 365, __func__, 0); goto cleanup; }; |
366 | |
367 | // LRCHD (Integer >= 0) |
368 | status = card_addInteger(&card, lrchd); |
369 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 369, __func__, 0); goto cleanup; }; |
370 | |
371 | // ATTCHR (Integer >= 0) |
372 | status = card_addInteger(&card, attchr); |
373 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 373, __func__, 0); goto cleanup; }; |
374 | |
375 | // ACORDR (Integer > 0 or Blank) |
376 | status = card_addInteger(&card, acordr); |
377 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 377, __func__, 0); goto cleanup; }; |
378 | |
379 | // <empty> |
380 | status = card_addBlank(&card); |
381 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 381, __func__, 0); goto cleanup; }; |
382 | |
383 | // XTL, YTL, ZTL (Real) |
384 | status = card_addDouble(&card, tl[0]); |
385 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 385, __func__, 0); goto cleanup; }; |
386 | status = card_addDouble(&card, tl[1]); |
387 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 387, __func__, 0); goto cleanup; }; |
388 | status = card_addDouble(&card, tl[2]); |
389 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 389, __func__, 0); goto cleanup; }; |
390 | |
391 | // TCH (Real) |
392 | status = card_addDouble(&card, tch); |
393 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 393, __func__, 0); goto cleanup; }; |
394 | |
395 | // LTCHD (Integer >= 0) |
396 | status = card_addInteger(&card, ltchd); |
397 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 397, __func__, 0); goto cleanup; }; |
398 | |
399 | // ATTCHT (Integer >= 0) |
400 | status = card_addInteger(&card, attcht); |
401 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 401, __func__, 0); goto cleanup; }; |
402 | |
403 | // ACORDT (Integer > 0 or Blank) |
404 | status = card_addInteger(&card, acordt); |
405 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 405, __func__, 0); goto cleanup; }; |
406 | |
407 | // write card to file |
408 | card_write(&card, fp); |
409 | |
410 | cleanup: |
411 | |
412 | card_destroy(&card); |
413 | |
414 | return status; |
415 | } |
416 | |
417 | // write SPLINE1 card |
418 | int zaero_card_spline1(void *aimInfo, |
419 | FILE *fp, int eid, char *model, int cp, int setk, int setg, double dz, double eps, |
420 | feaFileTypeEnum formatType) |
421 | { |
422 | int status = CAPS_SUCCESS0; |
423 | |
424 | cardStruct card; |
425 | |
426 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
427 | |
428 | // begin card |
429 | status = card_initiate(&card, "SPLINE1", formatType); |
430 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 430, __func__, 0); goto cleanup; }; |
431 | |
432 | // EID |
433 | status = card_addInteger(&card, eid); |
434 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 434, __func__, 0); goto cleanup; }; |
435 | |
436 | // MODEL (not used) |
437 | status = card_addString(&card, model); |
438 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 438, __func__, 0); goto cleanup; }; |
439 | |
440 | // CP |
441 | status = card_addInteger(&card, cp); |
442 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 442, __func__, 0); goto cleanup; }; |
443 | |
444 | // SETK |
445 | status = card_addInteger(&card, setk); |
446 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 446, __func__, 0); goto cleanup; }; |
447 | |
448 | // SETG |
449 | status = card_addInteger(&card, setg); |
450 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 450, __func__, 0); goto cleanup; }; |
451 | |
452 | // DZ |
453 | status = card_addDouble(&card, dz); |
454 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 454, __func__, 0); goto cleanup; }; |
455 | |
456 | // EPS |
457 | status = card_addDouble(&card, eps); |
458 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 458, __func__, 0); goto cleanup; }; |
459 | |
460 | // write card to file |
461 | card_write(&card, fp); |
462 | |
463 | cleanup: |
464 | |
465 | card_destroy(&card); |
466 | |
467 | return status; |
468 | } |
469 | |
470 | // write SPLINE3 card |
471 | int zaero_card_spline3(void *aimInfo, |
472 | FILE *fp, int eid, char *model, |
473 | int setk, int setg, double eps, |
474 | feaFileTypeEnum formatType) |
475 | { |
476 | int status = CAPS_SUCCESS0; |
477 | |
478 | cardStruct card; |
479 | |
480 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
481 | |
482 | // begin card |
483 | status = card_initiate(&card, "SPLINE3", formatType); |
484 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 484, __func__, 0); goto cleanup; }; |
485 | |
486 | // EID |
487 | status = card_addInteger(&card, eid); |
488 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 488, __func__, 0); goto cleanup; }; |
489 | |
490 | // MODEL (not used) |
491 | status = card_addString(&card, model); |
492 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 492, __func__, 0); goto cleanup; }; |
493 | |
494 | // CP (not used) |
495 | status = card_addBlank(&card); |
496 | |
497 | // SETK |
498 | status = card_addInteger(&card, setk); |
499 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 499, __func__, 0); goto cleanup; }; |
500 | |
501 | // SETG |
502 | status = card_addInteger(&card, setg); |
503 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 503, __func__, 0); goto cleanup; }; |
504 | |
505 | // DZ (not used) |
506 | status = card_addBlank(&card); |
Value stored to 'status' is never read | |
507 | |
508 | // EPS |
509 | status = card_addDouble(&card, eps); |
510 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 510, __func__, 0); goto cleanup; }; |
511 | |
512 | // write card to file |
513 | card_write(&card, fp); |
514 | |
515 | cleanup: |
516 | |
517 | card_destroy(&card); |
518 | |
519 | return status; |
520 | } |
521 | |
522 | // write PANLST2 card |
523 | int zaero_card_panlst2(void *aimInfo, |
524 | FILE *fp, int setid, int macroid, int boxBegin, int boxEnd, |
525 | feaFileTypeEnum formatType) |
526 | { |
527 | int status = CAPS_SUCCESS0; |
528 | |
529 | cardStruct card; |
530 | |
531 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
532 | |
533 | // begin card |
534 | status = card_initiate(&card, "PANLST2", formatType); |
535 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 535, __func__, 0); goto cleanup; }; |
536 | |
537 | // SETID |
538 | status = card_addInteger(&card, setid); |
539 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 539, __func__, 0); goto cleanup; }; |
540 | |
541 | // MACROID |
542 | status = card_addInteger(&card, macroid); |
543 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 543, __func__, 0); goto cleanup; }; |
544 | |
545 | // BOX 1 |
546 | status = card_addInteger(&card, boxBegin); |
547 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 547, __func__, 0); goto cleanup; }; |
548 | |
549 | // THRU |
550 | status = card_addField(&card, "THRU", 1); |
551 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 551, __func__, 0); goto cleanup; }; |
552 | |
553 | // BOX 3 |
554 | status = card_addInteger(&card, boxEnd); |
555 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 555, __func__, 0); goto cleanup; }; |
556 | |
557 | // write card to file |
558 | card_write(&card, fp); |
559 | |
560 | cleanup: |
561 | |
562 | card_destroy(&card); |
563 | |
564 | return status; |
565 | } |
566 | |
567 | // write SET1 card |
568 | int zaero_card_set1(void *aimInfo, |
569 | FILE *fp, int sid, int numIntegers, int integers[], |
570 | feaFileTypeEnum formatType) |
571 | { |
572 | int status = CAPS_SUCCESS0; |
573 | |
574 | cardStruct card; |
575 | |
576 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
577 | |
578 | // begin card |
579 | status = card_initiate(&card, "SET1", formatType); |
580 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 580, __func__, 0); goto cleanup; }; |
581 | |
582 | // SID |
583 | status = card_addInteger(&card, sid); |
584 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 584, __func__, 0); goto cleanup; }; |
585 | |
586 | // Gi |
587 | status = card_addIntegerArray(&card, numIntegers, integers); |
588 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 588, __func__, 0); goto cleanup; }; |
589 | |
590 | // write card to file |
591 | card_write(&card, fp); |
592 | |
593 | cleanup: |
594 | |
595 | card_destroy(&card); |
596 | |
597 | return status; |
598 | } |
599 | |
600 | // write PLTAERO card |
601 | int zaero_card_pltaero(void *aimInfo, |
602 | FILE *fp, int setid, char *femgrid, int offset, |
603 | char *form, char *filenm, char *cell, char *vct, |
604 | feaFileTypeEnum formatType) |
605 | { |
606 | int status = CAPS_SUCCESS0; |
607 | |
608 | cardStruct card; |
609 | |
610 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
611 | |
612 | // begin card |
613 | status = card_initiate(&card, "PLTAERO", formatType); |
614 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 614, __func__, 0); goto cleanup; }; |
615 | |
616 | // SETID (Integer != 0) |
617 | status = card_addInteger(&card, setid); |
618 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 618, __func__, 0); goto cleanup; }; |
619 | |
620 | // FEMGRID (Character) |
621 | status = card_addString(&card, femgrid); |
622 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 622, __func__, 0); goto cleanup; }; |
623 | |
624 | // OFFSET (Integer >= 0, or Blank) |
625 | status = card_addInteger(&card, offset); |
626 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 626, __func__, 0); goto cleanup; }; |
627 | |
628 | // FORM (Character, Default = "TECPLOT") |
629 | status = card_addString(&card, form); |
630 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 630, __func__, 0); goto cleanup; }; |
631 | |
632 | // FILENM (Character) |
633 | status = card_addString(&card, filenm); |
634 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 634, __func__, 0); goto cleanup; }; |
635 | |
636 | // CELL (Character; Default = "NO") |
637 | status = card_addString(&card, cell); |
638 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 638, __func__, 0); goto cleanup; }; |
639 | |
640 | // VCT (Character, Default = "NO") |
641 | status = card_addString(&card, vct); |
642 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 642, __func__, 0); goto cleanup; }; |
643 | |
644 | // write card to file |
645 | card_write(&card, fp); |
646 | |
647 | cleanup: |
648 | |
649 | card_destroy(&card); |
650 | |
651 | return status; |
652 | } |
653 | |
654 | // write PLTFLUT card |
655 | int zaero_card_pltflut(void *aimInfo, |
656 | FILE *fp, int setid, int idflut, int mode, int ntime, |
657 | double maxdisp, char *form, char *filenm, char *aeronm, |
658 | feaFileTypeEnum formatType) |
659 | { |
660 | int status = CAPS_SUCCESS0; |
661 | |
662 | cardStruct card; |
663 | |
664 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
665 | |
666 | // begin card |
667 | status = card_initiate(&card, "PLTFLUT", formatType); |
668 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 668, __func__, 0); goto cleanup; }; |
669 | |
670 | // SETID (Integer > 0) |
671 | status = card_addInteger(&card, setid); |
672 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 672, __func__, 0); goto cleanup; }; |
673 | |
674 | // IDFLUT (Integer > 0) |
675 | status = card_addInteger(&card, idflut); |
676 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 676, __func__, 0); goto cleanup; }; |
677 | |
678 | // MODE (Integer > 0) |
679 | status = card_addInteger(&card, mode); |
680 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 680, __func__, 0); goto cleanup; }; |
681 | |
682 | // NTIME (Integer > 0, Default = 1) |
683 | status = card_addInteger(&card, ntime); |
684 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 684, __func__, 0); goto cleanup; }; |
685 | |
686 | // MAXDISP (Real > 0.0, Default = 1.0) |
687 | status = card_addDouble(&card, maxdisp); |
688 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 688, __func__, 0); goto cleanup; }; |
689 | |
690 | // FORM (Character, Default = "TECPLOT") |
691 | status = card_addString(&card, form); |
692 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 692, __func__, 0); goto cleanup; }; |
693 | |
694 | // FILENM (Character) |
695 | status = card_addString(&card, filenm); |
696 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 696, __func__, 0); goto cleanup; }; |
697 | |
698 | // AERONM (Character, default = "AEROGEOM.PAT") |
699 | status = card_addString(&card, aeronm); |
700 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 700, __func__, 0); goto cleanup; }; |
701 | |
702 | // write card to file |
703 | card_write(&card, fp); |
704 | |
705 | cleanup: |
706 | |
707 | card_destroy(&card); |
708 | |
709 | return status; |
710 | } |
711 | |
712 | // write PLTMODE card |
713 | int zaero_card_pltmode(void *aimInfo, |
714 | FILE *fp, int setid, char *sym, int mode, |
715 | double maxdisp, char *form, char *filenm, char *aeronm, |
716 | feaFileTypeEnum formatType) |
717 | { |
718 | int status = CAPS_SUCCESS0; |
719 | |
720 | cardStruct card; |
721 | |
722 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
723 | |
724 | // begin card |
725 | status = card_initiate(&card, "PLTMODE", formatType); |
726 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 726, __func__, 0); goto cleanup; }; |
727 | |
728 | // SETID (Integer > 0) |
729 | status = card_addInteger(&card, setid); |
730 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 730, __func__, 0); goto cleanup; }; |
731 | |
732 | // SYM (Character) |
733 | status = card_addString(&card, sym); |
734 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 734, __func__, 0); goto cleanup; }; |
735 | |
736 | // MODE (Integer > 0) |
737 | status = card_addInteger(&card, mode); |
738 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 738, __func__, 0); goto cleanup; }; |
739 | |
740 | // TYPE (NOT USED) |
741 | status = card_addBlank(&card); |
742 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 742, __func__, 0); goto cleanup; }; |
743 | |
744 | // MAXDISP (Real > 0.0, Default = 1.0) |
745 | status = card_addDouble(&card, maxdisp); |
746 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 746, __func__, 0); goto cleanup; }; |
747 | |
748 | // FORM (Character, Default = "TECPLOT") |
749 | status = card_addString(&card, form); |
750 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 750, __func__, 0); goto cleanup; }; |
751 | |
752 | // FILENM (Character) |
753 | status = card_addString(&card, filenm); |
754 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 754, __func__, 0); goto cleanup; }; |
755 | |
756 | // AERONM (Character, default = "AEROGEOM.PAT") |
757 | status = card_addString(&card, aeronm); |
758 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 758, __func__, 0); goto cleanup; }; |
759 | |
760 | // write card to file |
761 | card_write(&card, fp); |
762 | |
763 | cleanup: |
764 | |
765 | card_destroy(&card); |
766 | |
767 | return status; |
768 | } |
769 | |
770 | // write PLTTRIM card |
771 | int zaero_card_plttrim(void *aimInfo, |
772 | FILE *fp, int setid, int idtrim, char *flex, char *type, |
773 | char *form, char *filenm, double scale, char *aeronm, |
774 | feaFileTypeEnum formatType) |
775 | { |
776 | int status = CAPS_SUCCESS0; |
777 | |
778 | int numTypeOptions = 6; |
779 | char *typeOptions[6] = {"FORCE", "AERO", "INERTIAL", // TODO: with current file format, "INERTIAL" will break |
780 | "CP", "DEFORM", "ELASTIC"}; |
781 | |
782 | cardStruct card; |
783 | |
784 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
785 | |
786 | // begin card |
787 | status = card_initiate(&card, "PLTTRIM", formatType); |
788 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 788, __func__, 0); goto cleanup; }; |
789 | |
790 | // SETID (Integer > 0) |
791 | status = card_addInteger(&card, setid); |
792 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 792, __func__, 0); goto cleanup; }; |
793 | |
794 | // IDTRIM (Integer > 0) |
795 | status = card_addInteger(&card, idtrim); |
796 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 796, __func__, 0); goto cleanup; }; |
797 | |
798 | // FLEX (Character, Default = "FLEX") |
799 | status = card_addString(&card, flex); |
800 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 800, __func__, 0); goto cleanup; }; |
801 | |
802 | // TYPE (Character) |
803 | if (!string_isInArray(type, numTypeOptions, typeOptions)) { |
804 | AIM_ERROR(aimInfo, "Unknown PLTTRIM TYPE field value: %s\n", type){ aim_message(aimInfo, CERROR, 0 , "zaeroCards.c", 804, __func__ , "Unknown PLTTRIM TYPE field value: %s\n", type); }; |
805 | status = CAPS_BADVALUE-311; |
806 | goto cleanup; |
807 | } |
808 | status = card_addString(&card, type); |
809 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 809, __func__, 0); goto cleanup; }; |
810 | |
811 | // FORM (Character, Default = "TECPLOT") |
812 | status = card_addString(&card, form); |
813 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 813, __func__, 0); goto cleanup; }; |
814 | |
815 | // FILENM (Character) |
816 | status = card_addString(&card, filenm); |
817 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 817, __func__, 0); goto cleanup; }; |
818 | |
819 | // SCALE (Real > 0.0, Default = 1.0) |
820 | status = card_addDouble(&card, scale); |
821 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 821, __func__, 0); goto cleanup; }; |
822 | |
823 | // AERONM (Character, default = "AEROGEOM.PAT") |
824 | status = card_addString(&card, aeronm); |
825 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 825, __func__, 0); goto cleanup; }; |
826 | |
827 | // write card to file |
828 | card_write(&card, fp); |
829 | |
830 | cleanup: |
831 | |
832 | card_destroy(&card); |
833 | |
834 | return status; |
835 | } |
836 | |
837 | // write PLTVG card |
838 | int zaero_card_pltvg(void *aimInfo, |
839 | FILE *fp, int setid, int idflut, int nmode, |
840 | char *xaxis, char *form, char *filenm, double refrho, |
841 | feaFileTypeEnum formatType) |
842 | { |
843 | int status = CAPS_SUCCESS0; |
844 | |
845 | cardStruct card; |
846 | |
847 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
848 | |
849 | // begin card |
850 | status = card_initiate(&card, "PLTVG", formatType); |
851 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 851, __func__, 0); goto cleanup; }; |
852 | |
853 | // SETID (Integer > 0) |
854 | status = card_addInteger(&card, setid); |
855 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 855, __func__, 0); goto cleanup; }; |
856 | |
857 | // IDFLUT (Integer > 0) |
858 | status = card_addInteger(&card, idflut); |
859 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 859, __func__, 0); goto cleanup; }; |
860 | |
861 | // NMODE (Integer, Default = all modes) |
862 | status = card_addInteger(&card, nmode); |
863 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 863, __func__, 0); goto cleanup; }; |
864 | |
865 | // XAXIS (Character) |
866 | status = card_addString(&card, xaxis); |
867 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 867, __func__, 0); goto cleanup; }; |
868 | |
869 | // FORM (Character, Default = "TABLE") |
870 | status = card_addString(&card, form); |
871 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 871, __func__, 0); goto cleanup; }; |
872 | |
873 | // FILENM (Character) |
874 | status = card_addString(&card, filenm); |
875 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 875, __func__, 0); goto cleanup; }; |
876 | |
877 | // REFRHO (Real > 0.0, Default = 0.0023769 slug/ft^3) |
878 | status = card_addDouble(&card, refrho); |
879 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 879, __func__, 0); goto cleanup; }; |
880 | |
881 | // write card to file |
882 | card_write(&card, fp); |
883 | |
884 | cleanup: |
885 | |
886 | card_destroy(&card); |
887 | |
888 | return status; |
889 | } |
890 | |
891 | // write TRIM card |
892 | int zaero_card_trim(void *aimInfo, |
893 | FILE *fp, int trimid, int idmk, double qinf, |
894 | int idobj, int idcons, double rho[3], double wtmass, |
895 | double weight, double I[6], char *trnacc, |
896 | char *nx, char *ny, char *nz, char *pdot, char *qdot, |
897 | char *rdot, int loadset, int numVars, int *varIDs, |
898 | char **vals, |
899 | feaFileTypeEnum formatType) |
900 | { |
901 | int status = CAPS_SUCCESS0; |
902 | int i; |
903 | |
904 | cardStruct card; |
905 | |
906 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
907 | |
908 | // begin card |
909 | status = card_initiate(&card, "TRIM", formatType); |
910 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 910, __func__, 0); goto cleanup; }; |
911 | |
912 | // TRIMID (Integer > 0) |
913 | status = card_addInteger(&card, trimid); |
914 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 914, __func__, 0); goto cleanup; }; |
915 | |
916 | // IDMK (Integer > 0) |
917 | status = card_addInteger(&card, idmk); |
918 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 918, __func__, 0); goto cleanup; }; |
919 | |
920 | // QINF (Real > 0.0) |
921 | status = card_addDouble(&card, qinf); |
922 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 922, __func__, 0); goto cleanup; }; |
923 | |
924 | // IDOBJ (Integer >= 0) |
925 | status = card_addInteger(&card, idobj); |
926 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 926, __func__, 0); goto cleanup; }; |
927 | |
928 | // IDCONS (Integer >= 0) |
929 | status = card_addInteger(&card, idcons); |
930 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 930, __func__, 0); goto cleanup; }; |
931 | |
932 | // RHOX, RHOY, RHOZ (Real) |
933 | status = card_addDouble(&card, rho[0]); |
934 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 934, __func__, 0); goto cleanup; }; |
935 | status = card_addDouble(&card, rho[1]); |
936 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 936, __func__, 0); goto cleanup; }; |
937 | status = card_addDouble(&card, rho[2]); |
938 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 938, __func__, 0); goto cleanup; }; |
939 | |
940 | // WTMASS (Real > 0.0) |
941 | status = card_addDouble(&card, wtmass); |
942 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 942, __func__, 0); goto cleanup; }; |
943 | |
944 | // WEIGHT (Real > 0.0) |
945 | status = card_addDouble(&card, weight); |
946 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 946, __func__, 0); goto cleanup; }; |
947 | |
948 | // IXX, IXY, IYY, IXZ, IYZ, IZZ (Real) |
949 | status = card_addDouble(&card, I[I11]); |
950 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 950, __func__, 0); goto cleanup; }; |
951 | status = card_addDouble(&card, I[I21]); |
952 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 952, __func__, 0); goto cleanup; }; |
953 | status = card_addDouble(&card, I[I22]); |
954 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 954, __func__, 0); goto cleanup; }; |
955 | status = card_addDouble(&card, I[I31]); |
956 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 956, __func__, 0); goto cleanup; }; |
957 | status = card_addDouble(&card, I[I32]); |
958 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 958, __func__, 0); goto cleanup; }; |
959 | status = card_addDouble(&card, I[I33]); |
960 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 960, __func__, 0); goto cleanup; }; |
961 | |
962 | // TRNACC (Character) |
963 | status = card_addString(&card, trnacc); |
964 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 964, __func__, 0); goto cleanup; }; |
965 | |
966 | // NX, NY, NZ (Character or Real) |
967 | status = card_addString(&card, nx); |
968 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 968, __func__, 0); goto cleanup; }; |
969 | status = card_addString(&card, ny); |
970 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 970, __func__, 0); goto cleanup; }; |
971 | status = card_addString(&card, nz); |
972 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 972, __func__, 0); goto cleanup; }; |
973 | |
974 | // PDOT, QDOT, RDOT (Character or Real) |
975 | status = card_addString(&card, pdot); |
976 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 976, __func__, 0); goto cleanup; }; |
977 | status = card_addString(&card, qdot); |
978 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 978, __func__, 0); goto cleanup; }; |
979 | status = card_addString(&card, rdot); |
980 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 980, __func__, 0); goto cleanup; }; |
981 | |
982 | // LOADSET (Integer >= 0) |
983 | status = card_addInteger(&card, loadset); |
984 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 984, __func__, 0); goto cleanup; }; |
985 | |
986 | // IDVARi (Integer > 0) |
987 | // VALi (Character or Real) |
988 | for (i = 0; i < numVars; i++) { |
989 | status = card_addInteger(&card, varIDs[i]); |
990 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 990, __func__, 0); goto cleanup; }; |
991 | |
992 | status = card_addString(&card, vals[i]); |
993 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 993, __func__, 0); goto cleanup; }; |
994 | } |
995 | |
996 | // write card to file |
997 | card_write(&card, fp); |
998 | |
999 | cleanup: |
1000 | |
1001 | card_destroy(&card); |
1002 | |
1003 | return CAPS_SUCCESS0; |
1004 | } |
1005 | |
1006 | // write TRIMVAR card |
1007 | int zaero_card_trimvar(void *aimInfo, |
1008 | FILE *fp, int idvar, char *label, double lower, |
1009 | double upper, int trimlnk, char *dmi, char *sym, |
1010 | int guessInitial, double initial, char *dc[6], |
1011 | feaFileTypeEnum formatType) |
1012 | { |
1013 | int status = CAPS_SUCCESS0; |
1014 | |
1015 | cardStruct card; |
1016 | |
1017 | if (fp == NULL((void*)0)) return CAPS_IOERR-332; |
1018 | |
1019 | // begin card |
1020 | status = card_initiate(&card, "TRIMVAR", formatType); |
1021 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1021, __func__, 0); goto cleanup; }; |
1022 | |
1023 | // IDVAR (Integer > 0) |
1024 | status = card_addInteger(&card, idvar); |
1025 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1025, __func__, 0); goto cleanup; }; |
1026 | |
1027 | // LABEL (Character, cannot be Blank) |
1028 | status = card_addString(&card, label); |
1029 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1029, __func__, 0); goto cleanup; }; |
1030 | |
1031 | // LOWER (Real) |
1032 | status = card_addDouble(&card, lower); |
1033 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1033, __func__, 0); goto cleanup; }; |
1034 | |
1035 | // UPPER (Real) |
1036 | status = card_addDouble(&card, upper); |
1037 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1037, __func__, 0); goto cleanup; }; |
1038 | |
1039 | // TRIMLNK (Integer > 0) |
1040 | status = card_addIntegerOrBlank(&card, trimlnk > 0 ? &trimlnk : NULL((void*)0)); |
1041 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1041, __func__, 0); goto cleanup; }; |
1042 | |
1043 | // DMI (Character) |
1044 | status = card_addString(&card, dmi); |
1045 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1045, __func__, 0); goto cleanup; }; |
1046 | |
1047 | // DMI (Character) |
1048 | status = card_addString(&card, sym); |
1049 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1049, __func__, 0); goto cleanup; }; |
1050 | |
1051 | // INITIAL (Real) |
1052 | status = card_addDoubleOrBlank(&card, guessInitial == (int)true1 ? &initial : NULL((void*)0)); |
1053 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1053, __func__, 0); goto cleanup; }; |
1054 | |
1055 | // DCD (Character) |
1056 | status = card_addString(&card, dc[0]); |
1057 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1057, __func__, 0); goto cleanup; }; |
1058 | |
1059 | // DCY (Character) |
1060 | status = card_addString(&card, dc[1]); |
1061 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1061, __func__, 0); goto cleanup; }; |
1062 | |
1063 | // DCL (Character) |
1064 | status = card_addString(&card, dc[2]); |
1065 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1065, __func__, 0); goto cleanup; }; |
1066 | |
1067 | // DCR (Character) |
1068 | status = card_addString(&card, dc[3]); |
1069 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1069, __func__, 0); goto cleanup; }; |
1070 | |
1071 | // DCM (Character) |
1072 | status = card_addString(&card, dc[4]); |
1073 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1073, __func__, 0); goto cleanup; }; |
1074 | |
1075 | // DCN (Character) |
1076 | status = card_addString(&card, dc[5]); |
1077 | AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c" , 1077, __func__, 0); goto cleanup; }; |
1078 | |
1079 | // write card to file |
1080 | card_write(&card, fp); |
1081 | |
1082 | cleanup: |
1083 | |
1084 | card_destroy(&card); |
1085 | |
1086 | return CAPS_SUCCESS0; |
1087 | } |