Bug Summary

File:zaeroCards.c
Warning:line 148, column 3
Value stored to 'status' is never read

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -triple x86_64-pc-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name zaeroCards.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -mthread-model posix -mframe-pointer=none -fmath-errno -fno-rounding-math -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -dwarf-column-info -fno-split-dwarf-inlining -debugger-tuning=gdb -resource-dir /usr/lib/llvm-10/lib/clang/10.0.0 -D REVISION=7.8 -I /home/jenkins/workspace/ESP_Stanalizer/LINUX64/CAPS/scan-build/ESP/LINUX64/include -I ../utils -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-10/lib/clang/10.0.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-dangling-else -Wno-parentheses -Wno-unused-result -Wno-format-truncation -fdebug-compilation-dir /home/jenkins/workspace/ESP_Stanalizer/LINUX64/CAPS/scan-build/CAPS/aim/zaero -ferror-limit 19 -fmessage-length 0 -fgnuc-version=4.2.1 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -analyzer-output=html -faddrsig -o /home/jenkins/workspace/ESP_Stanalizer/LINUX64/CAPS/scan-build/scanCAPS/2024-04-12-153755-76722-1 -x c zaeroCards.c
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
10int 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
70cleanup:
71 card_destroy(&card);
72
73 return status;
74}
75
76// write MKAEROZ card
77int 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
128cleanup:
129
130 card_destroy(&card);
131
132 return status;
133}
134
135// write FLUTTER card
136int 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);
Value stored to 'status' is never read
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
185cleanup:
186
187 card_destroy(&card);
188
189 return status;
190}
191
192// write FIXMDEN card
193int 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
247cleanup:
248
249 card_destroy(&card);
250
251 return status;
252}
253
254// write TABDMP1 card
255int 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
298cleanup:
299
300 card_destroy(&card);
301
302 return status;
303}
304
305// write CAERO7 card
306int 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
410cleanup:
411
412 card_destroy(&card);
413
414 return status;
415}
416
417// write SPLINE1 card
418int 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
463cleanup:
464
465 card_destroy(&card);
466
467 return status;
468}
469
470// write SPLINE3 card
471int 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);
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
515cleanup:
516
517 card_destroy(&card);
518
519 return status;
520}
521
522// write PANLST2 card
523int 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
560cleanup:
561
562 card_destroy(&card);
563
564 return status;
565}
566
567// write SET1 card
568int 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
593cleanup:
594
595 card_destroy(&card);
596
597 return status;
598}
599
600// write PLTAERO card
601int 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
647cleanup:
648
649 card_destroy(&card);
650
651 return status;
652}
653
654// write PLTFLUT card
655int 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
705cleanup:
706
707 card_destroy(&card);
708
709 return status;
710}
711
712// write PLTMODE card
713int 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
763cleanup:
764
765 card_destroy(&card);
766
767 return status;
768}
769
770// write PLTTRIM card
771int 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
830cleanup:
831
832 card_destroy(&card);
833
834 return status;
835}
836
837// write PLTVG card
838int 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
884cleanup:
885
886 card_destroy(&card);
887
888 return status;
889}
890
891// write TRIM card
892int 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
999cleanup:
1000
1001 card_destroy(&card);
1002
1003 return CAPS_SUCCESS0;
1004}
1005
1006// write TRIMVAR card
1007int 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
1082cleanup:
1083
1084 card_destroy(&card);
1085
1086 return CAPS_SUCCESS0;
1087}