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-11-232925-105816-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
264 cardStruct card;
265
266 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
267
268 // begin card
269 status = card_initiate(&card, "TABDMP1", formatType);
270 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 270, __func__, 0); goto cleanup; }
;
271
272 // TID
273 status = card_addInteger(&card, tid);
274 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 274, __func__, 0); goto cleanup; }
;
275
276 // TYPE, can be blank
277 status = card_addString(&card, type);
278 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 278, __func__, 0); goto cleanup; }
;
279
280 // 6 empty fields
281 for (int i = 0; i < 6; i++) {
282 card_addBlank(&card);
283 }
284
285 // fi, gi
286 for (int i = 0; i < numDamping; i++) {
287 status = card_addDouble(&card, dampingFreq[i]);
288 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 288, __func__, 0); goto cleanup; }
;
289
290 status = card_addDouble(&card, dampingValues[i]);
291 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 291, __func__, 0); goto cleanup; }
;
292 }
293
294 // write card to file
295 card_write(&card, fp);
296
297cleanup:
298
299 card_destroy(&card);
300
301 return status;
302}
303
304// write CAERO7 card
305int zaero_card_caero7(void *aimInfo,
306 FILE *fp, int wid, char *label, int acoord,
307 int nspan, int nchord, int lspan, int ztaic, int pafoil7,
308 double rl[3], double rch, int lrchd, int attchr, int acordr,
309 double tl[3], double tch, int ltchd, int attcht, int acordt,
310 feaFileTypeEnum formatType)
311{
312 int status = CAPS_SUCCESS0;
313
314 cardStruct card;
315
316 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
317
318 // begin card
319 status = card_initiate(&card, "CAERO7", formatType);
320 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 320, __func__, 0); goto cleanup; }
;
321
322 // WID (Integer > 0)
323 status = card_addInteger(&card, wid);
324 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 324, __func__, 0); goto cleanup; }
;
325
326 // LABEL (Character)
327 status = card_addString(&card, label);
328 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 328, __func__, 0); goto cleanup; }
;
329
330 // ACOORD (Integer >= 0 or Blank, default = 0)
331 status = card_addInteger(&card, acoord);
332 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 332, __func__, 0); goto cleanup; }
;
333
334 // NSPAN (Integer >= 2)
335 status = card_addInteger(&card, nspan);
336 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 336, __func__, 0); goto cleanup; }
;
337
338 // NCHORD (Integer >= 2)
339 status = card_addInteger(&card, nchord);
340 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 340, __func__, 0); goto cleanup; }
;
341
342 // LSPAN (Integer >= 0)
343 status = card_addInteger(&card, lspan);
344 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 344, __func__, 0); goto cleanup; }
;
345
346 // ZTAIC (Integer >= 0)
347 status = card_addInteger(&card, ztaic);
348 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 348, __func__, 0); goto cleanup; }
;
349
350 // PAFOIL7 (Integer >= 0)
351 status = card_addInteger(&card, pafoil7);
352 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 352, __func__, 0); goto cleanup; }
;
353
354 // XRL, YRL, ZRL (Real)
355 status = card_addDouble(&card, rl[0]);
356 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 356, __func__, 0); goto cleanup; }
;
357 status = card_addDouble(&card, rl[1]);
358 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 358, __func__, 0); goto cleanup; }
;
359 status = card_addDouble(&card, rl[2]);
360 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 360, __func__, 0); goto cleanup; }
;
361
362 // RCH (Real)
363 status = card_addDouble(&card, rch);
364 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 364, __func__, 0); goto cleanup; }
;
365
366 // LRCHD (Integer >= 0)
367 status = card_addInteger(&card, lrchd);
368 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 368, __func__, 0); goto cleanup; }
;
369
370 // ATTCHR (Integer >= 0)
371 status = card_addInteger(&card, attchr);
372 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 372, __func__, 0); goto cleanup; }
;
373
374 // ACORDR (Integer > 0 or Blank)
375 status = card_addInteger(&card, acordr);
376 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 376, __func__, 0); goto cleanup; }
;
377
378 // <empty>
379 status = card_addBlank(&card);
380 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 380, __func__, 0); goto cleanup; }
;
381
382 // XTL, YTL, ZTL (Real)
383 status = card_addDouble(&card, tl[0]);
384 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 384, __func__, 0); goto cleanup; }
;
385 status = card_addDouble(&card, tl[1]);
386 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 386, __func__, 0); goto cleanup; }
;
387 status = card_addDouble(&card, tl[2]);
388 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 388, __func__, 0); goto cleanup; }
;
389
390 // TCH (Real)
391 status = card_addDouble(&card, tch);
392 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 392, __func__, 0); goto cleanup; }
;
393
394 // LTCHD (Integer >= 0)
395 status = card_addInteger(&card, ltchd);
396 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 396, __func__, 0); goto cleanup; }
;
397
398 // ATTCHT (Integer >= 0)
399 status = card_addInteger(&card, attcht);
400 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 400, __func__, 0); goto cleanup; }
;
401
402 // ACORDT (Integer > 0 or Blank)
403 status = card_addInteger(&card, acordt);
404 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 404, __func__, 0); goto cleanup; }
;
405
406 // write card to file
407 card_write(&card, fp);
408
409cleanup:
410
411 card_destroy(&card);
412
413 return status;
414}
415
416// write SPLINE1 card
417int zaero_card_spline1(void *aimInfo,
418 FILE *fp, int eid, char *model, int cp, int setk, int setg, double dz, double eps,
419 feaFileTypeEnum formatType)
420{
421 int status = CAPS_SUCCESS0;
422
423 cardStruct card;
424
425 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
426
427 // begin card
428 status = card_initiate(&card, "SPLINE1", formatType);
429 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 429, __func__, 0); goto cleanup; }
;
430
431 // EID
432 status = card_addInteger(&card, eid);
433 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 433, __func__, 0); goto cleanup; }
;
434
435 // MODEL (not used)
436 status = card_addString(&card, model);
437 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 437, __func__, 0); goto cleanup; }
;
438
439 // CP
440 status = card_addInteger(&card, cp);
441 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 441, __func__, 0); goto cleanup; }
;
442
443 // SETK
444 status = card_addInteger(&card, setk);
445 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 445, __func__, 0); goto cleanup; }
;
446
447 // SETG
448 status = card_addInteger(&card, setg);
449 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 449, __func__, 0); goto cleanup; }
;
450
451 // DZ
452 status = card_addDouble(&card, dz);
453 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 453, __func__, 0); goto cleanup; }
;
454
455 // EPS
456 status = card_addDouble(&card, eps);
457 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 457, __func__, 0); goto cleanup; }
;
458
459 // write card to file
460 card_write(&card, fp);
461
462cleanup:
463
464 card_destroy(&card);
465
466 return status;
467}
468
469// write SPLINE3 card
470int zaero_card_spline3(void *aimInfo,
471 FILE *fp, int eid, char *model,
472 int setk, int setg, double eps,
473 feaFileTypeEnum formatType)
474{
475 int status = CAPS_SUCCESS0;
476
477 cardStruct card;
478
479 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
480
481 // begin card
482 status = card_initiate(&card, "SPLINE3", formatType);
483 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 483, __func__, 0); goto cleanup; }
;
484
485 // EID
486 status = card_addInteger(&card, eid);
487 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 487, __func__, 0); goto cleanup; }
;
488
489 // MODEL (not used)
490 status = card_addString(&card, model);
491 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 491, __func__, 0); goto cleanup; }
;
492
493 // CP (not used)
494 status = card_addBlank(&card);
495
496 // SETK
497 status = card_addInteger(&card, setk);
498 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 498, __func__, 0); goto cleanup; }
;
499
500 // SETG
501 status = card_addInteger(&card, setg);
502 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 502, __func__, 0); goto cleanup; }
;
503
504 // DZ (not used)
505 status = card_addBlank(&card);
506
507 // EPS
508 status = card_addDouble(&card, eps);
509 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 509, __func__, 0); goto cleanup; }
;
510
511 // write card to file
512 card_write(&card, fp);
513
514cleanup:
515
516 card_destroy(&card);
517
518 return status;
519}
520
521// write PANLST2 card
522int zaero_card_panlst2(void *aimInfo,
523 FILE *fp, int setid, int macroid, int boxBegin, int boxEnd,
524 feaFileTypeEnum formatType)
525{
526 int status = CAPS_SUCCESS0;
527
528 cardStruct card;
529
530 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
531
532 // begin card
533 status = card_initiate(&card, "PANLST2", formatType);
534 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 534, __func__, 0); goto cleanup; }
;
535
536 // SETID
537 status = card_addInteger(&card, setid);
538 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 538, __func__, 0); goto cleanup; }
;
539
540 // MACROID
541 status = card_addInteger(&card, macroid);
542 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 542, __func__, 0); goto cleanup; }
;
543
544 // BOX 1
545 status = card_addInteger(&card, boxBegin);
546 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 546, __func__, 0); goto cleanup; }
;
547
548 // THRU
549 status = card_addField(&card, "THRU", 1);
550 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 550, __func__, 0); goto cleanup; }
;
551
552 // BOX 3
553 status = card_addInteger(&card, boxEnd);
554 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 554, __func__, 0); goto cleanup; }
;
555
556 // write card to file
557 card_write(&card, fp);
558
559cleanup:
560
561 card_destroy(&card);
562
563 return status;
564}
565
566// write SET1 card
567int zaero_card_set1(void *aimInfo,
568 FILE *fp, int sid, int numIntegers, int integers[],
569 feaFileTypeEnum formatType)
570{
571 int status = CAPS_SUCCESS0;
572
573 cardStruct card;
574
575 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
576
577 // begin card
578 status = card_initiate(&card, "SET1", formatType);
579 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 579, __func__, 0); goto cleanup; }
;
580
581 // SID
582 status = card_addInteger(&card, sid);
583 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 583, __func__, 0); goto cleanup; }
;
584
585 // Gi
586 status = card_addIntegerArray(&card, numIntegers, integers);
587 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 587, __func__, 0); goto cleanup; }
;
588
589 // write card to file
590 card_write(&card, fp);
591
592cleanup:
593
594 card_destroy(&card);
595
596 return status;
597}
598
599// write PLTAERO card
600int zaero_card_pltaero(void *aimInfo,
601 FILE *fp, int setid, char *femgrid, int offset,
602 char *form, char *filenm, char *cell, char *vct,
603 feaFileTypeEnum formatType)
604{
605 int status = CAPS_SUCCESS0;
606
607 cardStruct card;
608
609 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
610
611 // begin card
612 status = card_initiate(&card, "PLTAERO", formatType);
613 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 613, __func__, 0); goto cleanup; }
;
614
615 // SETID (Integer != 0)
616 status = card_addInteger(&card, setid);
617 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 617, __func__, 0); goto cleanup; }
;
618
619 // FEMGRID (Character)
620 status = card_addString(&card, femgrid);
621 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 621, __func__, 0); goto cleanup; }
;
622
623 // OFFSET (Integer >= 0, or Blank)
624 status = card_addInteger(&card, offset);
625 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 625, __func__, 0); goto cleanup; }
;
626
627 // FORM (Character, Default = "TECPLOT")
628 status = card_addString(&card, form);
629 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 629, __func__, 0); goto cleanup; }
;
630
631 // FILENM (Character)
632 status = card_addString(&card, filenm);
633 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 633, __func__, 0); goto cleanup; }
;
634
635 // CELL (Character; Default = "NO")
636 status = card_addString(&card, cell);
637 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 637, __func__, 0); goto cleanup; }
;
638
639 // VCT (Character, Default = "NO")
640 status = card_addString(&card, vct);
641 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 641, __func__, 0); goto cleanup; }
;
642
643 // write card to file
644 card_write(&card, fp);
645
646cleanup:
647
648 card_destroy(&card);
649
650 return status;
651}
652
653// write PLTFLUT card
654int zaero_card_pltflut(void *aimInfo,
655 FILE *fp, int setid, int idflut, int mode, int ntime,
656 double maxdisp, char *form, char *filenm, char *aeronm,
657 feaFileTypeEnum formatType)
658{
659 int status = CAPS_SUCCESS0;
660
661 cardStruct card;
662
663 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
664
665 // begin card
666 status = card_initiate(&card, "PLTFLUT", formatType);
667 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 667, __func__, 0); goto cleanup; }
;
668
669 // SETID (Integer > 0)
670 status = card_addInteger(&card, setid);
671 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 671, __func__, 0); goto cleanup; }
;
672
673 // IDFLUT (Integer > 0)
674 status = card_addInteger(&card, idflut);
675 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 675, __func__, 0); goto cleanup; }
;
676
677 // MODE (Integer > 0)
678 status = card_addInteger(&card, mode);
679 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 679, __func__, 0); goto cleanup; }
;
680
681 // NTIME (Integer > 0, Default = 1)
682 status = card_addInteger(&card, ntime);
683 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 683, __func__, 0); goto cleanup; }
;
684
685 // MAXDISP (Real > 0.0, Default = 1.0)
686 status = card_addDouble(&card, maxdisp);
687 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 687, __func__, 0); goto cleanup; }
;
688
689 // FORM (Character, Default = "TECPLOT")
690 status = card_addString(&card, form);
691 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 691, __func__, 0); goto cleanup; }
;
692
693 // FILENM (Character)
694 status = card_addString(&card, filenm);
695 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 695, __func__, 0); goto cleanup; }
;
696
697 // AERONM (Character, default = "AEROGEOM.PAT")
698 status = card_addString(&card, aeronm);
699 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 699, __func__, 0); goto cleanup; }
;
700
701 // write card to file
702 card_write(&card, fp);
703
704cleanup:
705
706 card_destroy(&card);
707
708 return status;
709}
710
711// write PLTMODE card
712int zaero_card_pltmode(void *aimInfo,
713 FILE *fp, int setid, char *sym, int mode,
714 double maxdisp, char *form, char *filenm, char *aeronm,
715 feaFileTypeEnum formatType)
716{
717 int status = CAPS_SUCCESS0;
718
719 cardStruct card;
720
721 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
722
723 // begin card
724 status = card_initiate(&card, "PLTMODE", formatType);
725 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 725, __func__, 0); goto cleanup; }
;
726
727 // SETID (Integer > 0)
728 status = card_addInteger(&card, setid);
729 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 729, __func__, 0); goto cleanup; }
;
730
731 // SYM (Character)
732 status = card_addString(&card, sym);
733 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 733, __func__, 0); goto cleanup; }
;
734
735 // MODE (Integer > 0)
736 status = card_addInteger(&card, mode);
737 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 737, __func__, 0); goto cleanup; }
;
738
739 // TYPE (NOT USED)
740 status = card_addBlank(&card);
741 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 741, __func__, 0); goto cleanup; }
;
742
743 // MAXDISP (Real > 0.0, Default = 1.0)
744 status = card_addDouble(&card, maxdisp);
745 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 745, __func__, 0); goto cleanup; }
;
746
747 // FORM (Character, Default = "TECPLOT")
748 status = card_addString(&card, form);
749 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 749, __func__, 0); goto cleanup; }
;
750
751 // FILENM (Character)
752 status = card_addString(&card, filenm);
753 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 753, __func__, 0); goto cleanup; }
;
754
755 // AERONM (Character, default = "AEROGEOM.PAT")
756 status = card_addString(&card, aeronm);
757 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 757, __func__, 0); goto cleanup; }
;
758
759 // write card to file
760 card_write(&card, fp);
761
762cleanup:
763
764 card_destroy(&card);
765
766 return status;
767}
768
769// write PLTTRIM card
770int zaero_card_plttrim(void *aimInfo,
771 FILE *fp, int setid, int idtrim, char *flex, char *type,
772 char *form, char *filenm, double scale, char *aeronm,
773 feaFileTypeEnum formatType)
774{
775 int status = CAPS_SUCCESS0;
776
777 int numTypeOptions = 6;
778 char *typeOptions[6] = {"FORCE", "AERO", "INERTIAL", // TODO: with current file format, "INERTIAL" will break
779 "CP", "DEFORM", "ELASTIC"};
780
781 cardStruct card;
782
783 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
784
785 // begin card
786 status = card_initiate(&card, "PLTTRIM", formatType);
787 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 787, __func__, 0); goto cleanup; }
;
788
789 // SETID (Integer > 0)
790 status = card_addInteger(&card, setid);
791 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 791, __func__, 0); goto cleanup; }
;
792
793 // IDTRIM (Integer > 0)
794 status = card_addInteger(&card, idtrim);
795 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 795, __func__, 0); goto cleanup; }
;
796
797 // FLEX (Character, Default = "FLEX")
798 status = card_addString(&card, flex);
799 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 799, __func__, 0); goto cleanup; }
;
800
801 // TYPE (Character)
802 if (!string_isInArray(type, numTypeOptions, typeOptions)) {
803 AIM_ERROR(aimInfo, "Unknown PLTTRIM TYPE field value: %s\n", type){ aim_message(aimInfo, CERROR, 0 , "zaeroCards.c", 803, __func__
, "Unknown PLTTRIM TYPE field value: %s\n", type); }
;
804 status = CAPS_BADVALUE-311;
805 goto cleanup;
806 }
807 status = card_addString(&card, type);
808 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 808, __func__, 0); goto cleanup; }
;
809
810 // FORM (Character, Default = "TECPLOT")
811 status = card_addString(&card, form);
812 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 812, __func__, 0); goto cleanup; }
;
813
814 // FILENM (Character)
815 status = card_addString(&card, filenm);
816 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 816, __func__, 0); goto cleanup; }
;
817
818 // SCALE (Real > 0.0, Default = 1.0)
819 status = card_addDouble(&card, scale);
820 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 820, __func__, 0); goto cleanup; }
;
821
822 // AERONM (Character, default = "AEROGEOM.PAT")
823 status = card_addString(&card, aeronm);
824 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 824, __func__, 0); goto cleanup; }
;
825
826 // write card to file
827 card_write(&card, fp);
828
829cleanup:
830
831 card_destroy(&card);
832
833 return status;
834}
835
836// write PLTVG card
837int zaero_card_pltvg(void *aimInfo,
838 FILE *fp, int setid, int idflut, int nmode,
839 char *xaxis, char *form, char *filenm, double refrho,
840 feaFileTypeEnum formatType)
841{
842 int status = CAPS_SUCCESS0;
843
844 cardStruct card;
845
846 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
847
848 // begin card
849 status = card_initiate(&card, "PLTVG", formatType);
850 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 850, __func__, 0); goto cleanup; }
;
851
852 // SETID (Integer > 0)
853 status = card_addInteger(&card, setid);
854 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 854, __func__, 0); goto cleanup; }
;
855
856 // IDFLUT (Integer > 0)
857 status = card_addInteger(&card, idflut);
858 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 858, __func__, 0); goto cleanup; }
;
859
860 // NMODE (Integer, Default = all modes)
861 status = card_addInteger(&card, nmode);
862 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 862, __func__, 0); goto cleanup; }
;
863
864 // XAXIS (Character)
865 status = card_addString(&card, xaxis);
866 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 866, __func__, 0); goto cleanup; }
;
867
868 // FORM (Character, Default = "TABLE")
869 status = card_addString(&card, form);
870 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 870, __func__, 0); goto cleanup; }
;
871
872 // FILENM (Character)
873 status = card_addString(&card, filenm);
874 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 874, __func__, 0); goto cleanup; }
;
875
876 // REFRHO (Real > 0.0, Default = 0.0023769 slug/ft^3)
877 status = card_addDouble(&card, refrho);
878 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 878, __func__, 0); goto cleanup; }
;
879
880 // write card to file
881 card_write(&card, fp);
882
883cleanup:
884
885 card_destroy(&card);
886
887 return status;
888}
889
890// write TRIM card
891int zaero_card_trim(void *aimInfo,
892 FILE *fp, int trimid, int idmk, double qinf,
893 int idobj, int idcons, double rho[3], double wtmass,
894 double weight, double I[6], char *trnacc,
895 char *nx, char *ny, char *nz, char *pdot, char *qdot,
896 char *rdot, int loadset, int numVars, int *varIDs,
897 char **vals,
898 feaFileTypeEnum formatType)
899{
900 int status = CAPS_SUCCESS0;
901
902 cardStruct card;
903
904 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
905
906 // begin card
907 status = card_initiate(&card, "TRIM", formatType);
908 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 908, __func__, 0); goto cleanup; }
;
909
910 // TRIMID (Integer > 0)
911 status = card_addInteger(&card, trimid);
912 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 912, __func__, 0); goto cleanup; }
;
913
914 // IDMK (Integer > 0)
915 status = card_addInteger(&card, idmk);
916 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 916, __func__, 0); goto cleanup; }
;
917
918 // QINF (Real > 0.0)
919 status = card_addDouble(&card, qinf);
920 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 920, __func__, 0); goto cleanup; }
;
921
922 // IDOBJ (Integer >= 0)
923 status = card_addInteger(&card, idobj);
924 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 924, __func__, 0); goto cleanup; }
;
925
926 // IDCONS (Integer >= 0)
927 status = card_addInteger(&card, idcons);
928 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 928, __func__, 0); goto cleanup; }
;
929
930 // RHOX, RHOY, RHOZ (Real)
931 status = card_addDouble(&card, rho[0]);
932 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 932, __func__, 0); goto cleanup; }
;
933 status = card_addDouble(&card, rho[1]);
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[2]);
936 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 936, __func__, 0); goto cleanup; }
;
937
938 // WTMASS (Real > 0.0)
939 status = card_addDouble(&card, wtmass);
940 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 940, __func__, 0); goto cleanup; }
;
941
942 // WEIGHT (Real > 0.0)
943 status = card_addDouble(&card, weight);
944 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 944, __func__, 0); goto cleanup; }
;
945
946 // IXX, IXY, IYY, IXZ, IYZ, IZZ (Real)
947 status = card_addDouble(&card, I[I11]);
948 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 948, __func__, 0); goto cleanup; }
;
949 status = card_addDouble(&card, I[I21]);
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[I22]);
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[I31]);
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[I32]);
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[I33]);
958 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 958, __func__, 0); goto cleanup; }
;
959
960 // TRNACC (Character)
961 status = card_addString(&card, trnacc);
962 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 962, __func__, 0); goto cleanup; }
;
963
964 // NX, NY, NZ (Character or Real)
965 status = card_addString(&card, nx);
966 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 966, __func__, 0); goto cleanup; }
;
967 status = card_addString(&card, ny);
968 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 968, __func__, 0); goto cleanup; }
;
969 status = card_addString(&card, nz);
970 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 970, __func__, 0); goto cleanup; }
;
971
972 // PDOT, QDOT, RDOT (Character or Real)
973 status = card_addString(&card, pdot);
974 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 974, __func__, 0); goto cleanup; }
;
975 status = card_addString(&card, qdot);
976 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 976, __func__, 0); goto cleanup; }
;
977 status = card_addString(&card, rdot);
978 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 978, __func__, 0); goto cleanup; }
;
979
980 // LOADSET (Integer >= 0)
981 status = card_addInteger(&card, loadset);
982 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 982, __func__, 0); goto cleanup; }
;
983
984 // IDVARi (Integer > 0)
985 // VALi (Character or Real)
986 for (int i = 0; i < numVars; i++) {
987 status = card_addInteger(&card, varIDs[i]);
988 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 988, __func__, 0); goto cleanup; }
;
989
990 status = card_addString(&card, vals[i]);
991 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 991, __func__, 0); goto cleanup; }
;
992 }
993
994 // write card to file
995 card_write(&card, fp);
996
997cleanup:
998
999 card_destroy(&card);
1000
1001 return CAPS_SUCCESS0;
1002}
1003
1004// write TRIMVAR card
1005int zaero_card_trimvar(void *aimInfo,
1006 FILE *fp, int idvar, char *label, double lower,
1007 double upper, int trimlnk, char *dmi, char *sym,
1008 int guessInitial, double initial, char *dc[6],
1009 feaFileTypeEnum formatType)
1010{
1011 int status = CAPS_SUCCESS0;
1012
1013 cardStruct card;
1014
1015 if (fp == NULL((void*)0)) return CAPS_IOERR-332;
1016
1017 // begin card
1018 status = card_initiate(&card, "TRIMVAR", formatType);
1019 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 1019, __func__, 0); goto cleanup; }
;
1020
1021 // IDVAR (Integer > 0)
1022 status = card_addInteger(&card, idvar);
1023 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 1023, __func__, 0); goto cleanup; }
;
1024
1025 // LABEL (Character, cannot be Blank)
1026 status = card_addString(&card, label);
1027 AIM_STATUS(aimInfo, status)if (status != 0) { aim_status(aimInfo, status, "zaeroCards.c"
, 1027, __func__, 0); goto cleanup; }
;
1028
1029 // write card to file
1030 card_write(&card, fp);
1031
1032cleanup:
1033
1034 card_destroy(&card);
1035
1036 return CAPS_SUCCESS0;
1037}