1 /*
2 Copyright (C) 1998 Dennis Roddeman
3 email: dennis.roddeman@feat.nl
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software Foundation
18 59 Temple Place, Suite 330, Boston, MA, 02111-1307, USA
19 */
20
21 /* Modified on April 1st 2011 by Fernando Lorenzo to get the Von Mises Stresses
22 in the .res file
23 */
24
25 #include "tochnog.h"
26
27 double *dbl_data[MDAT][MVERSION]; // pointer to actual double data
28 long int *int_data[MDAT][MVERSION]; // pointers to actual integer data
29 long int max_index[MDAT][MVERSION]; // maximum index allocated
30 long int no_index[MDAT]; // 0: index in datafile, 1: no index in data file
31 long int type[MDAT]; // INTEGER or DOUBLE_PRECISION
32 char name[MDAT][MCHAR]; // "element", "node", ...
33 long int external[MDAT]; // 0: internal in TOCHNOG only, 1: also for datafile
34 long int data_length[MDAT]; // length (maximum for actual length)
35 long int fixed_length[MDAT]; // 0: all records same length; 1: records diff. length
36 long int data_class[MDAT]; // ELEMENT or NODE or so
37 long int data_required[MDAT]; // data required for this data (for the same index)
38 long int print_only[MDAT]; // 0: for reading and printing; 1: for printing only
39 long int version_all[MDAT]; // 1: with versions, 0: without versions
40
db_initialize(long int dof_type[],long int dof_label[])41 void db_initialize( long int dof_type[], long int dof_label[] )
42
43 {
44 long int iversion=0, idim=0, ipuknwn=0, iuknwn=0, idat=0, n=0, m=0;
45 char basename[MCHAR], str[MCHAR], tmpname[MCHAR];
46
47 // fill data base administration with defaults
48 for ( idat=0; idat<MDAT; idat++ ) {
49 strcpy( name[idat], " " );
50 for ( iversion=0; iversion<MVERSION; iversion++ )
51 max_index[idat][iversion] = -1;
52 }
53 array_set( version_all, 0, MDAT );
54 array_set( data_class, -1, MDAT );
55 array_set( data_required, -1, MDAT );
56 array_set( data_length, 0, MDAT );
57 array_set( external, 1, MDAT );
58 array_set( fixed_length, 1, MDAT );
59 array_set( no_index, 0, MDAT );
60 array_set( type, 0, MDAT );
61 array_set( print_only, 0, MDAT );
62
63 strcpy(name[ABOVE],"above" );
64
65 strcpy(name[ABSOL],"absol" );
66
67 strcpy(name[ADD],"add" );
68
69 strcpy(name[ADD_ALWAYS],"add_always" );
70
71 strcpy(name[ALL],"all" );
72
73 strcpy(name[AREA],"area");
74
75 strcpy(name[AREA_ELEMENT_GROUP],"area_element_group");
76 type[AREA_ELEMENT_GROUP] = INTEGER;
77 data_length[AREA_ELEMENT_GROUP] = 3;
78 data_class[AREA_ELEMENT_GROUP] = AREA;
79
80 strcpy(name[AREA_ELEMENT_GROUP_SEQUENCE],"area_element_group_sequence");
81 type[AREA_ELEMENT_GROUP_SEQUENCE] = INTEGER;
82 data_length[AREA_ELEMENT_GROUP_SEQUENCE] = 1000;
83 fixed_length[AREA_ELEMENT_GROUP_SEQUENCE] = 0;
84 data_class[AREA_ELEMENT_GROUP_SEQUENCE] = AREA;
85 data_required[AREA_ELEMENT_GROUP_SEQUENCE] = AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP;
86
87 strcpy(name[AREA_ELEMENT_GROUP_SEQUENCE_ELEMENT],"area_element_group_sequence_element");
88 type[AREA_ELEMENT_GROUP_SEQUENCE_ELEMENT] = INTEGER;
89 data_length[AREA_ELEMENT_GROUP_SEQUENCE_ELEMENT] = 1;
90 data_class[AREA_ELEMENT_GROUP_SEQUENCE_ELEMENT] = AREA;
91 data_required[AREA_ELEMENT_GROUP_SEQUENCE_ELEMENT] = AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP;
92
93 strcpy(name[AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP],"area_element_group_sequence_elementgroup");
94 type[AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP] = INTEGER;
95 data_length[AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP] = DATA_ITEM_SIZE;
96 data_class[AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP] = AREA;
97 fixed_length[AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP] = 0;
98
99 strcpy(name[AREA_ELEMENT_GROUP_SEQUENCE_GEOMETRY],"area_element_group_sequence_geometry");
100 type[AREA_ELEMENT_GROUP_SEQUENCE_GEOMETRY] = INTEGER;
101 data_length[AREA_ELEMENT_GROUP_SEQUENCE_GEOMETRY] = 2;
102 data_class[AREA_ELEMENT_GROUP_SEQUENCE_GEOMETRY] = AREA;
103 data_required[AREA_ELEMENT_GROUP_SEQUENCE_GEOMETRY] = AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP;
104
105 strcpy(name[AREA_ELEMENT_GROUP_SEQUENCE_TIME],"area_element_group_sequence_time");
106 type[AREA_ELEMENT_GROUP_SEQUENCE_TIME] = DOUBLE_PRECISION;
107 data_length[AREA_ELEMENT_GROUP_SEQUENCE_TIME] = DATA_ITEM_SIZE;
108 data_class[AREA_ELEMENT_GROUP_SEQUENCE_TIME] = AREA;
109 fixed_length[AREA_ELEMENT_GROUP_SEQUENCE_TIME] = 0;
110 data_required[AREA_ELEMENT_GROUP_SEQUENCE_GEOMETRY] = AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP;
111
112 strcpy(name[AREA_NODE_DATAITEM],"area_node_dataitem");
113 type[AREA_NODE_DATAITEM] = INTEGER;
114 data_length[AREA_NODE_DATAITEM] = 3;
115 data_class[AREA_NODE_DATAITEM] = AREA;
116
117 strcpy(name[AREA_NODE_DATAITEM_DOUBLE],"area_node_dataitem_double");
118 type[AREA_NODE_DATAITEM_DOUBLE] = DOUBLE_PRECISION;
119 data_length[AREA_NODE_DATAITEM_DOUBLE] = DATA_ITEM_SIZE;
120 data_class[AREA_NODE_DATAITEM_DOUBLE] = AREA;
121 fixed_length[AREA_NODE_DATAITEM_DOUBLE] = 0;
122 data_required[AREA_NODE_DATAITEM_DOUBLE] = AREA_NODE_DATAITEM;
123
124 strcpy(name[AREA_NODE_DATAITEM_INTEGER],"area_node_dataitem_integer");
125 type[AREA_NODE_DATAITEM_INTEGER] = INTEGER;
126 data_length[AREA_NODE_DATAITEM_INTEGER] = DATA_ITEM_SIZE;
127 data_class[AREA_NODE_DATAITEM_INTEGER] = AREA;
128 fixed_length[AREA_NODE_DATAITEM_INTEGER] = 0;
129 data_required[AREA_NODE_DATAITEM_INTEGER] = AREA_NODE_DATAITEM;
130
131 strcpy(name[ASM],"asm");
132
133 strcpy(name[AVERAGE],"average");
134
135 strcpy(name[BAR],"bar" );
136
137 strcpy(name[BAR2],"bar2");
138
139 strcpy(name[BAR3],"bar3");
140
141 strcpy(name[BAR4],"bar4");
142
143 strcpy(name[BCGS],"bcgs");
144
145 strcpy(name[BEAM],"beam");
146
147 strcpy(name[BEAM_ROTATION],"beam_rotation");
148
149 strcpy(name[BELOW],"below" );
150
151 strcpy(name[BICG],"bicg");
152
153 strcpy(name[BJACOBI],"bjacobi");
154
155 strcpy(name[BOUNDA],"bounda");
156
157 strcpy(name[BOUNDA_FORCE],"bounda_force");
158 type[BOUNDA_FORCE] = INTEGER;
159 data_length[BOUNDA_FORCE] = MBOUNDA;
160 fixed_length[BOUNDA_FORCE] = 0;
161 data_class[BOUNDA_FORCE] = BOUNDA;
162
163 strcpy(name[BOUNDA_SINE],"bounda_sine");
164 type[BOUNDA_SINE] = DOUBLE_PRECISION;
165 data_length[BOUNDA_SINE] = DATA_ITEM_SIZE;
166 fixed_length[BOUNDA_SINE] = 0;
167 data_class[BOUNDA_SINE] = BOUNDA;
168
169 strcpy(name[BOUNDA_TIME],"bounda_time");
170 type[BOUNDA_TIME] = DOUBLE_PRECISION;
171 data_length[BOUNDA_TIME] = DATA_ITEM_SIZE;
172 fixed_length[BOUNDA_TIME] = 0;
173 data_class[BOUNDA_TIME] = BOUNDA;
174
175 strcpy(name[BOUNDA_TIME_FILE],"bounda_time_file");
176 type[BOUNDA_TIME_FILE] = INTEGER;
177 data_length[BOUNDA_TIME_FILE] = 1;
178 data_class[BOUNDA_TIME_FILE] = BOUNDA;
179
180 strcpy(name[BOUNDA_TIME_USER],"bounda_time_user");
181 type[BOUNDA_TIME_USER] = INTEGER;
182 data_length[BOUNDA_TIME_USER] = 1;
183 data_class[BOUNDA_TIME_USER] = BOUNDA;
184
185 strcpy(name[BOUNDA_UNKNOWN],"bounda_unknown");
186 type[BOUNDA_UNKNOWN] = INTEGER;
187 data_length[BOUNDA_UNKNOWN] = MBOUNDA;
188 fixed_length[BOUNDA_UNKNOWN] = 0;
189 data_class[BOUNDA_UNKNOWN] = BOUNDA;
190
191 strcpy(name[BRICK],"brick" );
192
193 strcpy(name[CALCULATE_STRESSINTENSITYFACTOR],"calculate_stressintensityfactor");
194
195 strcpy(name[CG],"cg");
196
197 strcpy(name[CGS],"cgs");
198
199 strcpy(name[CHANGE],"change");
200
201 strcpy(name[CHANGE_DATAITEM],"change_dataitem");
202 type[CHANGE_DATAITEM] = INTEGER;
203 data_length[CHANGE_DATAITEM] = 4;
204
205 strcpy(name[CHANGE_DATAITEM_TIME],"change_dataitem_time");
206 type[CHANGE_DATAITEM_TIME] = DOUBLE_PRECISION;
207 data_length[CHANGE_DATAITEM_TIME] = DATA_ITEM_SIZE;
208 fixed_length[CHANGE_DATAITEM_TIME] = 0;
209 data_required[CHANGE_DATAITEM_TIME] = CHANGE_DATAITEM;
210
211 strcpy(name[CHANGE_DATAITEM_TIME_DISCRETE],"change_dataitem_time_discrete");
212 type[CHANGE_DATAITEM_TIME_DISCRETE] = INTEGER;
213 data_length[CHANGE_DATAITEM_TIME_DISCRETE] = 1;
214 data_required[CHANGE_DATAITEM_TIME_DISCRETE] = CHANGE_DATAITEM;
215
216 strcpy(name[CHANGE_DATAITEM_TIME_USER],"change_dataitem_time_user");
217 type[CHANGE_DATAITEM_TIME_USER] = INTEGER;
218 data_length[CHANGE_DATAITEM_TIME_USER] = 1;
219
220 strcpy(name[CHANGE_GEOMETRY],"change_geometry");
221 type[CHANGE_GEOMETRY] = INTEGER;
222 data_length[CHANGE_GEOMETRY] = 3;
223
224 strcpy(name[CHANGE_GEOMETRY_TIME_USER],"change_geometry_time_user");
225 type[CHANGE_GEOMETRY_TIME_USER] = INTEGER;
226 data_length[CHANGE_GEOMETRY_TIME_USER] = 1;
227
228 strcpy(name[CHEBYCHEV],"chebychev");
229
230 strcpy(name[CHECK],"check" );
231
232 strcpy(name[CHECK_COMBINATION],"check_combination");
233 type[CHECK_COMBINATION] = INTEGER;
234 data_length[CHECK_COMBINATION] = 1;
235 no_index[CHECK_COMBINATION] = 1;
236 data_class[CHECK_COMBINATION] = CHECK_COMBINATION;
237
238 strcpy(name[CHECK_INDEX],"check_index" );
239
240 strcpy(name[CHECK_NUMBER],"check_number" );
241
242 strcpy(name[CIRCLE],"circle" );
243
244 strcpy(name[CIRCLE_HOLLOW],"circle_hollow" );
245
246 strcpy(name[COMPOSITE],"composite");
247
248 strcpy(name[CONDIF],"condif");
249
250 strcpy(name[CONDIF_CONVECTION],"condif_convection");
251 type[CONDIF_CONVECTION] = DOUBLE_PRECISION;
252 data_length[CONDIF_CONVECTION] = 2;
253 data_class[CONDIF_CONVECTION] = CONDIF;
254
255 strcpy(name[CONDIF_CONVECTION_GEOMETRY],"condif_convection_geometry");
256 type[CONDIF_CONVECTION_GEOMETRY] = INTEGER;
257 data_length[CONDIF_CONVECTION_GEOMETRY] = DATA_ITEM_SIZE;
258 fixed_length[CONDIF_CONVECTION_GEOMETRY] = 0;
259 data_class[CONDIF_CONVECTION_GEOMETRY] = CONDIF;
260 data_required[CONDIF_CONVECTION_GEOMETRY] = CONDIF_CONVECTION;
261
262 strcpy(name[CONDIF_RADIATION],"condif_radiation");
263 type[CONDIF_RADIATION] = DOUBLE_PRECISION;
264 data_length[CONDIF_RADIATION] = 2;
265 data_class[CONDIF_RADIATION] = CONDIF;
266
267 strcpy(name[CONDIF_RADIATION_GEOMETRY],"condif_radiation_geometry");
268 type[CONDIF_RADIATION_GEOMETRY] = INTEGER;
269 data_length[CONDIF_RADIATION_GEOMETRY] = DATA_ITEM_SIZE;
270 fixed_length[CONDIF_RADIATION_GEOMETRY] = 0;
271 data_class[CONDIF_RADIATION_GEOMETRY] = CONDIF;
272 data_required[CONDIF_RADIATION_GEOMETRY] = CONDIF_RADIATION;
273
274 strcpy(name[CONDIF_TEMPERATURE],"condif_temperature");
275
276 strcpy(name[CONTACT],"contact");
277
278 strcpy(name[CONTACTSPRING],"contactspring");
279
280 strcpy(name[CONTACT_FRICTION],"contact_friction");
281 type[CONTACT_FRICTION] = DOUBLE_PRECISION;
282 data_length[CONTACT_FRICTION] = 1;
283 no_index[CONTACT_FRICTION] = 1;
284 data_class[CONTACT_FRICTION] = CONTACT;
285
286 strcpy(name[CONTACT_GEOMETRY],"contact_geometry");
287 type[CONTACT_GEOMETRY] = INTEGER;
288 data_length[CONTACT_GEOMETRY] = 2;
289 data_class[CONTACT_GEOMETRY] = CONTACT;
290
291 strcpy(name[CONTACT_GEOMETRY_SWITCH],"contact_geometry_switch");
292 type[CONTACT_GEOMETRY_SWITCH] = INTEGER;
293 data_length[CONTACT_GEOMETRY_SWITCH] = 1;
294 data_class[CONTACT_GEOMETRY_SWITCH] = CONTACT;
295 data_required[CONTACT_GEOMETRY_SWITCH] = CONTACT_GEOMETRY;
296
297 strcpy(name[CONTACT_HEATGENERATION],"contact_heatgeneration");
298 type[CONTACT_HEATGENERATION] = DOUBLE_PRECISION;
299 data_length[CONTACT_HEATGENERATION] = 1;
300 no_index[CONTACT_HEATGENERATION] = 1;
301 data_class[CONTACT_HEATGENERATION] = CONTACT;
302
303 strcpy(name[CONTACT_PENALTY_PRESSURE],"contact_penalty_pressure");
304 type[CONTACT_PENALTY_PRESSURE] = DOUBLE_PRECISION;
305 data_length[CONTACT_PENALTY_PRESSURE] = 1;
306 no_index[CONTACT_PENALTY_PRESSURE] = 1;
307 data_class[CONTACT_PENALTY_PRESSURE] = CONTACT;
308
309 strcpy(name[CONTACT_PENALTY_TEMPERATURE],"contact_penalty_temperature");
310 type[CONTACT_PENALTY_TEMPERATURE] = DOUBLE_PRECISION;
311 data_length[CONTACT_PENALTY_TEMPERATURE] = 1;
312 no_index[CONTACT_PENALTY_TEMPERATURE] = 1;
313 data_class[CONTACT_PENALTY_TEMPERATURE] = CONTACT;
314
315 strcpy(name[CONTACT_PENALTY_VELOCITY],"contact_penalty_velocity");
316 type[CONTACT_PENALTY_VELOCITY] = DOUBLE_PRECISION;
317 data_length[CONTACT_PENALTY_VELOCITY] = 1;
318 no_index[CONTACT_PENALTY_VELOCITY] = 1;
319 data_class[CONTACT_PENALTY_VELOCITY] = CONTACT;
320
321 strcpy(name[CONTACT_RELAXATION],"contact_relaxation");
322 type[CONTACT_RELAXATION] = DOUBLE_PRECISION;
323 data_length[CONTACT_RELAXATION] = 1;
324 no_index[CONTACT_RELAXATION] = 1;
325 data_class[CONTACT_RELAXATION] = CONTACT;
326
327 strcpy(name[CONTACT_STICK],"contact_stick");
328 type[CONTACT_STICK] = INTEGER;
329 data_length[CONTACT_STICK] = 1;
330 no_index[CONTACT_STICK] = 1;
331 data_class[CONTACT_STICK] = CONTACT;
332
333 strcpy(name[CONTROL_CRACK],"control_crack");
334 type[CONTROL_CRACK] = INTEGER;
335 data_length[CONTROL_CRACK] = 1;
336 data_class[CONTROL_CRACK] = CONTROL;
337
338 strcpy(name[CONTROL_DATA_DELETE],"control_data_delete");
339 type[CONTROL_DATA_DELETE] = INTEGER;
340 data_length[CONTROL_DATA_DELETE] = DATA_ITEM_SIZE;
341 fixed_length[CONTROL_DATA_DELETE] = 0;
342 data_class[CONTROL_DATA_DELETE] = CONTROL;
343
344 strcpy(name[CONTROL_DATA_INITELDOF_GEOMETRY],"control_data_initeldof_geometry");
345 type[CONTROL_DATA_INITELDOF_GEOMETRY] = INTEGER;
346 data_length[CONTROL_DATA_INITELDOF_GEOMETRY] = 2;
347 data_class[CONTROL_DATA_INITELDOF_GEOMETRY] = CONTROL;
348
349 strcpy(name[CONTROL_DATA_PUT],"control_data_put");
350 type[CONTROL_DATA_PUT] = INTEGER;
351 data_length[CONTROL_DATA_PUT] = DATA_ITEM_SIZE;
352 fixed_length[CONTROL_DATA_PUT] = 0;
353 data_class[CONTROL_DATA_PUT] = CONTROL;
354
355 strcpy(name[CONTROL_DATA_PUT_DOUBLE],"control_data_put_double");
356 type[CONTROL_DATA_PUT_DOUBLE] = DOUBLE_PRECISION;
357 data_length[CONTROL_DATA_PUT_DOUBLE] = DATA_ITEM_SIZE;
358 fixed_length[CONTROL_DATA_PUT_DOUBLE] = 0;
359 data_class[CONTROL_DATA_PUT_DOUBLE] = CONTROL;
360 data_required[CONTROL_DATA_PUT_DOUBLE] = CONTROL_DATA_PUT;
361
362 strcpy(name[CONTROL_DATA_PUT_DOUBLE_NODE],"control_data_put_double_node");
363 type[CONTROL_DATA_PUT_DOUBLE_NODE] = DOUBLE_PRECISION;
364 data_length[CONTROL_DATA_PUT_DOUBLE_NODE] = DATA_ITEM_SIZE;
365 fixed_length[CONTROL_DATA_PUT_DOUBLE_NODE] = 0;
366 data_class[CONTROL_DATA_PUT_DOUBLE_NODE] = CONTROL;
367 data_required[CONTROL_DATA_PUT_DOUBLE_NODE] = CONTROL_DATA_PUT;
368
369 strcpy(name[CONTROL_DATA_PUT_INTEGER],"control_data_put_integer");
370 type[CONTROL_DATA_PUT_INTEGER] = INTEGER;
371 data_length[CONTROL_DATA_PUT_INTEGER] = DATA_ITEM_SIZE;
372 fixed_length[CONTROL_DATA_PUT_INTEGER] = 0;
373 data_class[CONTROL_DATA_PUT_INTEGER] = CONTROL;
374 data_required[CONTROL_DATA_PUT_INTEGER] = CONTROL_DATA_PUT;
375
376 strcpy(name[CONTROL_DISTRIBUTE],"control_distribute");
377 type[CONTROL_DISTRIBUTE] = INTEGER;
378 data_length[CONTROL_DISTRIBUTE] = DATA_ITEM_SIZE;
379 data_class[CONTROL_DISTRIBUTE] = CONTROL;
380 fixed_length[CONTROL_DISTRIBUTE] = 0;
381
382 strcpy(name[CONTROL_DISTRIBUTE_VALUES],"control_distribute_values");
383 type[CONTROL_DISTRIBUTE_VALUES] = DOUBLE_PRECISION;
384 data_length[CONTROL_DISTRIBUTE_VALUES] = DATA_ITEM_SIZE;
385 data_class[CONTROL_DISTRIBUTE_VALUES] = CONTROL;
386 fixed_length[CONTROL_DISTRIBUTE_VALUES] = 0;
387 data_required[CONTROL_DISTRIBUTE_VALUES] = CONTROL_DISTRIBUTE;
388
389 strcpy(name[CONTROL_EIGEN],"control_eigen");
390 type[CONTROL_EIGEN] = INTEGER;
391 data_length[CONTROL_EIGEN] = 2;
392 data_class[CONTROL_EIGEN] = CONTROL;
393
394 strcpy(name[CONTROL_EIGEN_SCALE],"control_eigen_scale");
395 type[CONTROL_EIGEN_SCALE] = DOUBLE_PRECISION;
396 data_length[CONTROL_EIGEN_SCALE] = 1;
397 data_class[CONTROL_EIGEN_SCALE] = CONTROL;
398 data_required[CONTROL_EIGEN_SCALE] = CONTROL_EIGEN;
399
400 strcpy(name[CONTROL_EIGEN_VALUES],"control_eigen_values");
401 type[CONTROL_EIGEN_VALUES] = DOUBLE_PRECISION;
402 data_length[CONTROL_EIGEN_VALUES] = DATA_ITEM_SIZE;
403 fixed_length[CONTROL_EIGEN_VALUES] = 0;
404 data_class[CONTROL_EIGEN_VALUES] = CONTROL;
405 no_index[CONTROL_EIGEN_VALUES] = 1;
406
407 strcpy(name[CONTROL_MATERI_DIFFUSION],"control_materi_diffusion");
408 type[CONTROL_MATERI_DIFFUSION] = INTEGER;
409 data_length[CONTROL_MATERI_DIFFUSION] = 1;
410 data_class[CONTROL_MATERI_DIFFUSION] = CONTROL;
411
412 strcpy(name[CONTROL_MESH_ADJUST_GEOMETRY],"control_mesh_adjust_geometry");
413 type[CONTROL_MESH_ADJUST_GEOMETRY] = INTEGER;
414 data_length[CONTROL_MESH_ADJUST_GEOMETRY] = 4;
415 data_class[CONTROL_MESH_ADJUST_GEOMETRY] = CONTROL;
416
417 strcpy(name[CONTROL_MESH_DELETE_GEOMETRY],"control_mesh_delete_geometry");
418 type[CONTROL_MESH_DELETE_GEOMETRY] = INTEGER;
419 data_length[CONTROL_MESH_DELETE_GEOMETRY] = 2;
420 data_class[CONTROL_MESH_DELETE_GEOMETRY] = CONTROL;
421
422 strcpy(name[CONTROL_MESH_DELETE_GEOMETRY_ELEMENT],"control_mesh_delete_geometry_element");
423 type[CONTROL_MESH_DELETE_GEOMETRY_ELEMENT] = INTEGER;
424 data_length[CONTROL_MESH_DELETE_GEOMETRY_ELEMENT] = DATA_ITEM_SIZE;
425 data_class[CONTROL_MESH_DELETE_GEOMETRY_ELEMENT] = CONTROL;
426 fixed_length[CONTROL_MESH_DELETE_GEOMETRY_ELEMENT] = 0;
427 data_required[CONTROL_MESH_DELETE_GEOMETRY_ELEMENT] = CONTROL_MESH_DELETE_GEOMETRY;
428
429 strcpy(name[CONTROL_MESH_DELETE_GEOMETRY_ELEMENTGROUP],"control_mesh_delete_geometry_elementgroup");
430 type[CONTROL_MESH_DELETE_GEOMETRY_ELEMENTGROUP] = INTEGER;
431 data_length[CONTROL_MESH_DELETE_GEOMETRY_ELEMENTGROUP] = DATA_ITEM_SIZE;
432 data_class[CONTROL_MESH_DELETE_GEOMETRY_ELEMENTGROUP] = CONTROL;
433 fixed_length[CONTROL_MESH_DELETE_GEOMETRY_ELEMENTGROUP] = 0;
434 data_required[CONTROL_MESH_DELETE_GEOMETRY_ELEMENTGROUP] = CONTROL_MESH_DELETE_GEOMETRY;
435
436 strcpy(name[CONTROL_MESH_DELETE_GEOMETRY_FACTOR],"control_mesh_delete_geometry_factor");
437 type[CONTROL_MESH_DELETE_GEOMETRY_FACTOR] = DOUBLE_PRECISION;
438 data_length[CONTROL_MESH_DELETE_GEOMETRY_FACTOR] = 2;
439 data_class[CONTROL_MESH_DELETE_GEOMETRY_FACTOR] = CONTROL;
440 fixed_length[CONTROL_MESH_DELETE_GEOMETRY_FACTOR] = 0;
441 data_required[CONTROL_MESH_DELETE_GEOMETRY_FACTOR] = CONTROL_MESH_DELETE_GEOMETRY;
442
443 strcpy(name[CONTROL_MESH_DELETE_GEOMETRY_MOVENODES],"control_mesh_delete_geometry_movenodes");
444 type[CONTROL_MESH_DELETE_GEOMETRY_MOVENODES] = INTEGER;
445 data_length[CONTROL_MESH_DELETE_GEOMETRY_MOVENODES] = 1;
446 data_class[CONTROL_MESH_DELETE_GEOMETRY_MOVENODES] = CONTROL;
447 data_required[CONTROL_MESH_DELETE_GEOMETRY_MOVENODES] = CONTROL_MESH_DELETE_GEOMETRY;
448
449 strcpy(name[CONTROL_MESH_DELETE_SMALL],"control_mesh_delete_small");
450 type[CONTROL_MESH_DELETE_SMALL] = DOUBLE_PRECISION;
451 data_length[CONTROL_MESH_DELETE_SMALL] = 1;
452 data_class[CONTROL_MESH_DELETE_SMALL] = CONTROL;
453
454 strcpy(name[CONTROL_MESH_EXTRUDE],"control_mesh_extrude");
455 type[CONTROL_MESH_EXTRUDE] = DOUBLE_PRECISION;
456 data_length[CONTROL_MESH_EXTRUDE] = DATA_ITEM_SIZE;
457 fixed_length[CONTROL_MESH_EXTRUDE] = 0;
458 data_class[CONTROL_MESH_EXTRUDE] = CONTROL;
459
460 strcpy(name[CONTROL_MESH_EXTRUDE_N],"control_mesh_extrude_n");
461 type[CONTROL_MESH_EXTRUDE_N] = INTEGER;
462 data_length[CONTROL_MESH_EXTRUDE_N] = DATA_ITEM_SIZE;
463 fixed_length[CONTROL_MESH_EXTRUDE_N] = 0;
464 data_class[CONTROL_MESH_EXTRUDE_N] = CONTROL;
465 data_required[CONTROL_MESH_EXTRUDE_N] = CONTROL_MESH_EXTRUDE;
466
467 strcpy(name[CONTROL_MESH_GENERATE_BEAM],"control_mesh_generate_beam");
468 type[CONTROL_MESH_GENERATE_BEAM] = INTEGER;
469 data_length[CONTROL_MESH_GENERATE_BEAM] = 3;
470 data_class[CONTROL_MESH_GENERATE_BEAM] = CONTROL;
471
472 strcpy(name[CONTROL_MESH_GENERATE_CONTACTSPRING],"control_mesh_generate_contactspring");
473 type[CONTROL_MESH_GENERATE_CONTACTSPRING] = INTEGER;
474 data_length[CONTROL_MESH_GENERATE_CONTACTSPRING] = 3;
475 data_class[CONTROL_MESH_GENERATE_CONTACTSPRING] = CONTROL;
476
477 strcpy(name[CONTROL_MESH_GENERATE_CONTACTSPRING_ELEMENT],"control_mesh_generate_contactspring_element");
478 type[CONTROL_MESH_GENERATE_CONTACTSPRING_ELEMENT] = INTEGER;
479 data_length[CONTROL_MESH_GENERATE_CONTACTSPRING_ELEMENT] = 2;
480 data_class[CONTROL_MESH_GENERATE_CONTACTSPRING_ELEMENT] = CONTROL;
481
482 strcpy(name[CONTROL_MESH_GENERATE_SPRING1],"control_mesh_generate_spring1");
483 type[CONTROL_MESH_GENERATE_SPRING1] = INTEGER;
484 data_length[CONTROL_MESH_GENERATE_SPRING1] = 3;
485 data_class[CONTROL_MESH_GENERATE_SPRING1] = CONTROL;
486
487 strcpy(name[CONTROL_MESH_GENERATE_SPRING2],"control_mesh_generate_spring2");
488 type[CONTROL_MESH_GENERATE_SPRING2] = INTEGER;
489 data_length[CONTROL_MESH_GENERATE_SPRING2] = 3;
490 data_class[CONTROL_MESH_GENERATE_SPRING2] = CONTROL;
491
492 strcpy(name[CONTROL_MESH_GENERATE_TRUSS],"control_mesh_generate_truss");
493 type[CONTROL_MESH_GENERATE_TRUSS] = INTEGER;
494 data_length[CONTROL_MESH_GENERATE_TRUSS] = 3;
495 data_class[CONTROL_MESH_GENERATE_TRUSS] = CONTROL;
496
497 strcpy(name[CONTROL_MESH_GENERATE_TRUSSBEAM],"control_mesh_generate_trussbeam");
498 type[CONTROL_MESH_GENERATE_TRUSSBEAM] = INTEGER;
499 data_length[CONTROL_MESH_GENERATE_TRUSSBEAM] = 3;
500 data_class[CONTROL_MESH_GENERATE_TRUSSBEAM] = CONTROL;
501
502 strcpy(name[CONTROL_MESH_GENERATE_TRUSS_BEAM_LOOSE],"control_mesh_generate_truss_beam_loose");
503 type[CONTROL_MESH_GENERATE_TRUSS_BEAM_LOOSE] = INTEGER;
504 data_length[CONTROL_MESH_GENERATE_TRUSS_BEAM_LOOSE] = 1;
505 data_class[CONTROL_MESH_GENERATE_TRUSS_BEAM_LOOSE] = CONTROL;
506
507 strcpy(name[CONTROL_MESH_GENERATE_TRUSS_BEAM_MACRO],"control_mesh_generate_truss_beam_macro");
508 type[CONTROL_MESH_GENERATE_TRUSS_BEAM_MACRO] = INTEGER;
509 data_length[CONTROL_MESH_GENERATE_TRUSS_BEAM_MACRO] = DATA_ITEM_SIZE;
510 fixed_length[CONTROL_MESH_GENERATE_TRUSS_BEAM_MACRO] = 0;
511 data_class[CONTROL_MESH_GENERATE_TRUSS_BEAM_MACRO] = CONTROL;
512
513 strcpy(name[CONTROL_MESH_MACRO],"control_mesh_macro");
514 type[CONTROL_MESH_MACRO] = INTEGER;
515 data_length[CONTROL_MESH_MACRO] = DATA_ITEM_SIZE;
516 fixed_length[CONTROL_MESH_MACRO] = 0;
517 data_class[CONTROL_MESH_MACRO] = CONTROL;
518
519 strcpy(name[CONTROL_MESH_MACRO_ELEMENT],"control_mesh_macro_element");
520 type[CONTROL_MESH_MACRO_ELEMENT] = INTEGER;
521 data_length[CONTROL_MESH_MACRO_ELEMENT] = 1;
522 data_class[CONTROL_MESH_MACRO_ELEMENT] = CONTROL;
523
524 strcpy(name[CONTROL_MESH_MACRO_PARAMETERS],"control_mesh_macro_parameters");
525 type[CONTROL_MESH_MACRO_PARAMETERS] = DOUBLE_PRECISION;
526 data_length[CONTROL_MESH_MACRO_PARAMETERS] = DATA_ITEM_SIZE;
527 fixed_length[CONTROL_MESH_MACRO_PARAMETERS] = 0;
528 data_class[CONTROL_MESH_MACRO_PARAMETERS] = CONTROL;
529 data_required[CONTROL_MESH_MACRO_PARAMETERS] = CONTROL_MESH_MACRO;
530
531 strcpy(name[CONTROL_MESH_MACRO_SET_NODE_BOUNDARY],"control_mesh_macro_set_node_boundary");
532 type[CONTROL_MESH_MACRO_SET_NODE_BOUNDARY] = INTEGER;
533 data_length[CONTROL_MESH_MACRO_SET_NODE_BOUNDARY] = 1;
534 data_class[CONTROL_MESH_MACRO_SET_NODE_BOUNDARY] = CONTROL;
535 data_required[CONTROL_MESH_MACRO_SET_NODE_BOUNDARY] = CONTROL_MESH_MACRO;
536
537 strcpy(name[CONTROL_MESH_MERGE],"control_mesh_merge");
538 type[CONTROL_MESH_MERGE] = INTEGER;
539 data_length[CONTROL_MESH_MERGE] = 1;
540 data_class[CONTROL_MESH_MERGE] = CONTROL;
541
542 strcpy(name[CONTROL_MESH_MERGE_EPSCOORD],"control_mesh_merge_epscoord");
543 type[CONTROL_MESH_MERGE_EPSCOORD] = DOUBLE_PRECISION;
544 data_length[CONTROL_MESH_MERGE_EPSCOORD] = 1;
545 data_class[CONTROL_MESH_MERGE_EPSCOORD] = CONTROL;
546
547 strcpy(name[CONTROL_MESH_MERGE_MACRO_GENERATE],"control_mesh_merge_macro_generate");
548 type[CONTROL_MESH_MERGE_MACRO_GENERATE] = INTEGER;
549 data_length[CONTROL_MESH_MERGE_MACRO_GENERATE] = DATA_ITEM_SIZE;
550 fixed_length[CONTROL_MESH_MERGE_MACRO_GENERATE] = 0;
551 data_class[CONTROL_MESH_MERGE_MACRO_GENERATE] = CONTROL;
552
553 strcpy(name[CONTROL_MESH_MERGE_NOT],"control_mesh_merge_not");
554 type[CONTROL_MESH_MERGE_NOT] = INTEGER;
555 data_length[CONTROL_MESH_MERGE_NOT] = 2;
556 data_class[CONTROL_MESH_MERGE_NOT] = CONTROL;
557
558 strcpy(name[CONTROL_MESH_NEW_MESH],"control_mesh_new_mesh");
559 type[CONTROL_MESH_NEW_MESH] = DOUBLE_PRECISION;
560 data_length[CONTROL_MESH_NEW_MESH] = 1;
561 data_class[CONTROL_MESH_NEW_MESH] = CONTROL;
562
563 strcpy(name[CONTROL_MESH_NEW_MESH_ELEMENT],"control_mesh_new_mesh_element");
564 type[CONTROL_MESH_NEW_MESH_ELEMENT] = INTEGER;
565 data_length[CONTROL_MESH_NEW_MESH_ELEMENT] = 1;
566 data_class[CONTROL_MESH_NEW_MESH_ELEMENT] = CONTROL;
567 data_required[CONTROL_MESH_NEW_MESH_ELEMENT] = CONTROL_MESH_NEW_MESH;
568
569 strcpy(name[CONTROL_MESH_NEW_MESH_REGION],"control_mesh_new_mesh_region");
570 type[CONTROL_MESH_NEW_MESH_REGION] = INTEGER;
571 data_length[CONTROL_MESH_NEW_MESH_REGION] = 6+nuknwn;
572 fixed_length[CONTROL_MESH_NEW_MESH_REGION] = 0;
573 data_class[CONTROL_MESH_NEW_MESH_REGION] = CONTROL;
574 data_required[CONTROL_MESH_NEW_MESH_REGION] = CONTROL_MESH_NEW_MESH;
575
576 strcpy(name[CONTROL_MESH_REFINE_GLOBALLY],"control_mesh_refine_globally");
577 type[CONTROL_MESH_REFINE_GLOBALLY] = INTEGER;
578 data_length[CONTROL_MESH_REFINE_GLOBALLY] = 4;
579 fixed_length[CONTROL_MESH_REFINE_GLOBALLY] = 0;
580 data_class[CONTROL_MESH_REFINE_GLOBALLY] = CONTROL;
581
582 strcpy(name[CONTROL_MESH_REFINE_GLOBALLY_GEOMETRY],"control_mesh_refine_globally_geometry");
583 type[CONTROL_MESH_REFINE_GLOBALLY_GEOMETRY] = INTEGER;
584 data_length[CONTROL_MESH_REFINE_GLOBALLY_GEOMETRY] = 2;
585 data_class[CONTROL_MESH_REFINE_GLOBALLY_GEOMETRY] = CONTROL;
586 data_required[CONTROL_MESH_REFINE_GLOBALLY_GEOMETRY] = CONTROL_MESH_REFINE_GLOBALLY;
587
588 strcpy(name[CONTROL_MESH_REFINE_LOCALLY],"control_mesh_refine_locally");
589 type[CONTROL_MESH_REFINE_LOCALLY] = DOUBLE_PRECISION;
590 data_length[CONTROL_MESH_REFINE_LOCALLY] = 1;
591 data_class[CONTROL_MESH_REFINE_LOCALLY] = CONTROL;
592
593 strcpy(name[CONTROL_MESH_REFINE_LOCALLY_GEOMETRY],"control_mesh_refine_locally_geometry");
594 type[CONTROL_MESH_REFINE_LOCALLY_GEOMETRY] = INTEGER;
595 data_length[CONTROL_MESH_REFINE_LOCALLY_GEOMETRY] = 2;
596 data_class[CONTROL_MESH_REFINE_LOCALLY_GEOMETRY] = CONTROL;
597 data_required[CONTROL_MESH_REFINE_LOCALLY_GEOMETRY] = CONTROL_MESH_REFINE_LOCALLY;
598
599 strcpy(name[CONTROL_MESH_REFINE_LOCALLY_NOT],"control_mesh_refine_locally_not");
600 type[CONTROL_MESH_REFINE_LOCALLY_NOT] = INTEGER;
601 data_length[CONTROL_MESH_REFINE_LOCALLY_NOT] = 2;
602 data_class[CONTROL_MESH_REFINE_LOCALLY_NOT] = CONTROL;
603 data_required[CONTROL_MESH_REFINE_LOCALLY_NOT] = CONTROL_MESH_REFINE_LOCALLY;
604
605 strcpy(name[CONTROL_MESH_REFINE_LOCALLY_ONLY],"control_mesh_refine_locally_only");
606 type[CONTROL_MESH_REFINE_LOCALLY_ONLY] = INTEGER;
607 data_length[CONTROL_MESH_REFINE_LOCALLY_ONLY] = 2;
608 data_class[CONTROL_MESH_REFINE_LOCALLY_ONLY] = CONTROL;
609 data_required[CONTROL_MESH_REFINE_LOCALLY_ONLY] = CONTROL_MESH_REFINE_LOCALLY;
610
611 strcpy(name[CONTROL_MESH_REFINE_LOCALLY_UNKNOWN],"control_mesh_refine_locally_unknown");
612 type[CONTROL_MESH_REFINE_LOCALLY_UNKNOWN] = INTEGER;
613 data_length[CONTROL_MESH_REFINE_LOCALLY_UNKNOWN] = 1;
614 data_class[CONTROL_MESH_REFINE_LOCALLY_UNKNOWN] = CONTROL;
615 data_required[CONTROL_MESH_REFINE_LOCALLY_UNKNOWN] = CONTROL_MESH_REFINE_LOCALLY;
616
617 strcpy(name[CONTROL_MESH_REMESH],"control_mesh_remesh");
618 type[CONTROL_MESH_REMESH] = INTEGER;
619 data_length[CONTROL_MESH_REMESH] = 1;
620 data_class[CONTROL_MESH_REMESH] = CONTROL;
621
622 strcpy(name[CONTROL_MESH_REMESH_FACTOR],"control_mesh_remesh_factor");
623 type[CONTROL_MESH_REMESH_FACTOR] = DOUBLE_PRECISION;
624 data_length[CONTROL_MESH_REMESH_FACTOR] = 2;
625 data_class[CONTROL_MESH_REMESH_FACTOR] = CONTROL;
626 data_required[CONTROL_MESH_REMESH_FACTOR] = CONTROL_MESH_REMESH;
627
628 strcpy(name[CONTROL_MESH_RENUMBER],"control_mesh_renumber");
629 type[CONTROL_MESH_RENUMBER] = INTEGER;
630 data_length[CONTROL_MESH_RENUMBER] = 2;
631 data_class[CONTROL_MESH_RENUMBER] = CONTROL;
632
633 strcpy(name[CONTROL_MESH_SPLIT],"control_mesh_split");
634 type[CONTROL_MESH_SPLIT] = INTEGER;
635 data_length[CONTROL_MESH_SPLIT] = 1;
636 data_class[CONTROL_MESH_SPLIT] = CONTROL;
637
638 strcpy(name[CONTROL_MESH_SPLIT_ONLY],"control_mesh_split_only");
639 type[CONTROL_MESH_SPLIT_ONLY] = INTEGER;
640 data_length[CONTROL_MESH_SPLIT_ONLY] = 2;
641 data_class[CONTROL_MESH_SPLIT_ONLY] = CONTROL;
642
643 strcpy(name[CONTROL_OPTIONS_CONVECTION],"control_options_convection");
644 type[CONTROL_OPTIONS_CONVECTION] = INTEGER;
645 data_length[CONTROL_OPTIONS_CONVECTION] = 1;
646 data_class[CONTROL_OPTIONS_CONVECTION] = CONTROL;
647
648 strcpy(name[CONTROL_OPTIONS_INERTIA],"control_options_inertia");
649 type[CONTROL_OPTIONS_INERTIA] = INTEGER;
650 data_length[CONTROL_OPTIONS_INERTIA] = 1;
651 data_class[CONTROL_OPTIONS_INERTIA] = CONTROL;
652
653 strcpy(name[CONTROL_OPTIONS_RELAXATION],"control_options_relaxation");
654 type[CONTROL_OPTIONS_RELAXATION] = DOUBLE_PRECISION;
655 data_length[CONTROL_OPTIONS_RELAXATION] = 1;
656 data_class[CONTROL_OPTIONS_RELAXATION] = CONTROL;
657
658 strcpy(name[CONTROL_OPTIONS_SKIP_GRAVITY],"control_options_skip_gravity");
659 type[CONTROL_OPTIONS_SKIP_GRAVITY] = INTEGER;
660 data_length[CONTROL_OPTIONS_SKIP_GRAVITY] = 1;
661 data_class[CONTROL_OPTIONS_SKIP_GRAVITY] = CONTROL;
662
663 strcpy(name[CONTROL_OPTIONS_SKIP_GROUNDFLOW_NONLINEAR],"control_options_skip_groundflow_nonlinear");
664 type[CONTROL_OPTIONS_SKIP_GROUNDFLOW_NONLINEAR] = INTEGER;
665 data_length[CONTROL_OPTIONS_SKIP_GROUNDFLOW_NONLINEAR] = 1;
666 data_class[CONTROL_OPTIONS_SKIP_GROUNDFLOW_NONLINEAR] = CONTROL;
667
668 strcpy(name[CONTROL_OPTIONS_SKIP_PLASTICITY],"control_options_skip_plasticity");
669 type[CONTROL_OPTIONS_SKIP_PLASTICITY] = INTEGER;
670 data_length[CONTROL_OPTIONS_SKIP_PLASTICITY] = 1;
671 data_class[CONTROL_OPTIONS_SKIP_PLASTICITY] = CONTROL;
672
673 strcpy(name[CONTROL_OPTIONS_SKIP_GROUNDFLOW_NONLINEAR],"control_options_skip_groundflow_nonlinear");
674 type[CONTROL_OPTIONS_SKIP_GROUNDFLOW_NONLINEAR] = INTEGER;
675 data_length[CONTROL_OPTIONS_SKIP_GROUNDFLOW_NONLINEAR] = 1;
676 data_class[CONTROL_OPTIONS_SKIP_GROUNDFLOW_NONLINEAR] = CONTROL;
677
678 strcpy(name[CONTROL_OPTIONS_SOLVER],"control_options_solver");
679 type[CONTROL_OPTIONS_SOLVER] = INTEGER;
680 data_length[CONTROL_OPTIONS_SOLVER] = 1;
681 data_class[CONTROL_OPTIONS_SOLVER] = CONTROL;
682
683 strcpy(name[CONTROL_OPTIONS_SOLVER_BICG_ERROR],"control_options_solver_bicg_error");
684 type[CONTROL_OPTIONS_SOLVER_BICG_ERROR] = DOUBLE_PRECISION;
685 data_length[CONTROL_OPTIONS_SOLVER_BICG_ERROR] = 1;
686 data_class[CONTROL_OPTIONS_SOLVER_BICG_ERROR] = CONTROL;
687
688 strcpy(name[CONTROL_OPTIONS_SOLVER_BICG_ERROR_MINIMUM],"control_options_solver_bicg_error_minimum");
689 type[CONTROL_OPTIONS_SOLVER_BICG_ERROR_MINIMUM] = DOUBLE_PRECISION;
690 data_length[CONTROL_OPTIONS_SOLVER_BICG_ERROR_MINIMUM] = 1;
691 data_class[CONTROL_OPTIONS_SOLVER_BICG_ERROR_MINIMUM] = CONTROL;
692
693 strcpy(name[CONTROL_OPTIONS_SOLVER_PETSC_KSPTYPE],"control_options_solver_petsc_ksptype");
694 type[CONTROL_OPTIONS_SOLVER_PETSC_KSPTYPE] = INTEGER;
695 data_length[CONTROL_OPTIONS_SOLVER_PETSC_KSPTYPE] = 1;
696 data_class[CONTROL_OPTIONS_SOLVER_PETSC_KSPTYPE] = CONTROL;
697 data_required[CONTROL_OPTIONS_SOLVER_PETSC_KSPTYPE] = CONTROL_OPTIONS_SOLVER;
698
699 strcpy(name[CONTROL_OPTIONS_SOLVER_PETSC_MG],"control_options_solver_petsc_mg");
700 type[CONTROL_OPTIONS_SOLVER_PETSC_MG] = INTEGER;
701 data_length[CONTROL_OPTIONS_SOLVER_PETSC_MG] = 1;
702 data_class[CONTROL_OPTIONS_SOLVER_PETSC_MG] = CONTROL;
703 data_required[CONTROL_OPTIONS_SOLVER_PETSC_MG] = CONTROL_OPTIONS_SOLVER;
704
705 strcpy(name[CONTROL_OPTIONS_SOLVER_PETSC_PCTYPE],"control_options_solver_petsc_pctype");
706 type[CONTROL_OPTIONS_SOLVER_PETSC_PCTYPE] = INTEGER;
707 data_length[CONTROL_OPTIONS_SOLVER_PETSC_PCTYPE] = 1;
708 data_class[CONTROL_OPTIONS_SOLVER_PETSC_PCTYPE] = CONTROL;
709 data_required[CONTROL_OPTIONS_SOLVER_PETSC_PCTYPE] = CONTROL_OPTIONS_SOLVER;
710
711 strcpy(name[CONTROL_PRINT],"control_print");
712 type[CONTROL_PRINT] = INTEGER;
713 data_length[CONTROL_PRINT] = DATA_ITEM_SIZE;
714 fixed_length[CONTROL_PRINT] = 0;
715 data_class[CONTROL_PRINT] = CONTROL;
716
717 strcpy(name[CONTROL_PRINT_DATABASE],"control_print_database");
718 type[CONTROL_PRINT_DATABASE] = INTEGER;
719 data_length[CONTROL_PRINT_DATABASE] = 1;
720 data_class[CONTROL_PRINT_DATABASE] = CONTROL;
721
722 strcpy(name[CONTROL_PRINT_ELEMENT],"control_print_element");
723 type[CONTROL_PRINT_ELEMENT] = INTEGER;
724 data_length[CONTROL_PRINT_ELEMENT] = 1;
725 data_class[CONTROL_PRINT_ELEMENT] = CONTROL;
726
727 strcpy(name[CONTROL_PRINT_DATA_VERSUS_DATA],"control_print_data_versus_data");
728 type[CONTROL_PRINT_DATA_VERSUS_DATA] = INTEGER;
729 data_length[CONTROL_PRINT_DATA_VERSUS_DATA] = DATA_ITEM_SIZE;
730 fixed_length[CONTROL_PRINT_DATA_VERSUS_DATA] = 0;
731 data_class[CONTROL_PRINT_DATA_VERSUS_DATA] = CONTROL;
732
733 strcpy(name[CONTROL_PRINT_DX],"control_print_dx");
734 type[CONTROL_PRINT_DX] = INTEGER;
735 data_length[CONTROL_PRINT_DX] = 1;
736 data_class[CONTROL_PRINT_DX] = CONTROL;
737
738 strcpy(name[CONTROL_PRINT_DX_TIME],"control_print_dx_time");
739 type[CONTROL_PRINT_DX_TIME] = DOUBLE_PRECISION;
740 data_length[CONTROL_PRINT_DX_TIME] = DATA_ITEM_SIZE;
741 fixed_length[CONTROL_PRINT_DX_TIME] = 0;
742 data_class[CONTROL_PRINT_DX_TIME] = CONTROL;
743 no_index[CONTROL_PRINT_DX_TIME] = 1;
744
745 strcpy(name[CONTROL_PRINT_FILTER],"control_print_filter");
746 type[CONTROL_PRINT_FILTER] = INTEGER;
747 data_length[CONTROL_PRINT_FILTER] = DATA_ITEM_SIZE;
748 fixed_length[CONTROL_PRINT_FILTER] = 0;
749 data_class[CONTROL_PRINT_FILTER] = CONTROL;
750
751 strcpy(name[CONTROL_PRINT_GID],"control_print_gid");
752 type[CONTROL_PRINT_GID] = INTEGER;
753 data_length[CONTROL_PRINT_GID] = 1;
754 data_class[CONTROL_PRINT_GID] = CONTROL;
755
756 strcpy(name[CONTROL_PRINT_GID_EMPTY],"control_print_gid_empty");
757 type[CONTROL_PRINT_GID_EMPTY] = INTEGER;
758 data_length[CONTROL_PRINT_GID_EMPTY] = 1;
759 data_class[CONTROL_PRINT_GID_EMPTY] = CONTROL;
760
761 strcpy(name[CONTROL_PRINT_GID_MESH],"control_print_gid_mesh");
762 type[CONTROL_PRINT_GID_MESH] = INTEGER;
763 data_length[CONTROL_PRINT_GID_MESH] = 1;
764 no_index[CONTROL_PRINT_GID_MESH] = 1;
765 external[CONTROL_PRINT_GID_MESH] = 0;
766 data_class[CONTROL_PRINT_GID_MESH] = CONTROL;
767
768 strcpy(name[CONTROL_PRINT_GID_TIME],"control_print_gid_time");
769 type[CONTROL_PRINT_GID_TIME] = DOUBLE_PRECISION;
770 data_length[CONTROL_PRINT_GID_TIME] = 1;
771 no_index[CONTROL_PRINT_GID_TIME] = 1;
772 external[CONTROL_PRINT_GID_TIME] = 0;
773 data_class[CONTROL_PRINT_GID_TIME] = CONTROL;
774
775 strcpy(name[CONTROL_PRINT_GMV],"control_print_gmv");
776 type[CONTROL_PRINT_GMV] = INTEGER;
777 data_length[CONTROL_PRINT_GMV] = 1;
778 data_class[CONTROL_PRINT_GMV] = CONTROL;
779
780 strcpy(name[CONTROL_PRINT_GMV_MESH],"control_print_gmv_mesh");
781 type[CONTROL_PRINT_GMV_MESH] = INTEGER;
782 data_length[CONTROL_PRINT_GMV_MESH] = 1;
783 no_index[CONTROL_PRINT_GMV_MESH] = 1;
784 external[CONTROL_PRINT_GMV_MESH] = 0;
785 data_class[CONTROL_PRINT_GMV_MESH] = CONTROL;
786
787 strcpy(name[CONTROL_PRINT_HISTORY],"control_print_history");
788 type[CONTROL_PRINT_HISTORY] = INTEGER;
789 data_length[CONTROL_PRINT_HISTORY] = DATA_ITEM_SIZE;
790 fixed_length[CONTROL_PRINT_HISTORY] = 0;
791 data_class[CONTROL_PRINT_HISTORY] = CONTROL;
792
793 strcpy(name[CONTROL_PRINT_PLOTMTV],"control_print_plotmtv");
794 type[CONTROL_PRINT_PLOTMTV] = INTEGER;
795 data_length[CONTROL_PRINT_PLOTMTV] = 1;
796 data_class[CONTROL_PRINT_PLOTMTV] = CONTROL;
797
798 strcpy(name[CONTROL_PRINT_PLOTMTV_MESH],"control_print_plotmtv_mesh");
799 type[CONTROL_PRINT_PLOTMTV_MESH] = INTEGER;
800 data_length[CONTROL_PRINT_PLOTMTV_MESH] = 1;
801 no_index[CONTROL_PRINT_PLOTMTV_MESH] = 1;
802 external[CONTROL_PRINT_PLOTMTV_MESH] = 0;
803 data_class[CONTROL_PRINT_PLOTMTV_MESH] = CONTROL;
804
805 strcpy(name[CONTROL_PRINT_MATLAB],"control_print_matlab");
806 type[CONTROL_PRINT_MATLAB] = INTEGER;
807 data_length[CONTROL_PRINT_MATLAB] = 1;
808 data_class[CONTROL_PRINT_MATLAB] = CONTROL;
809
810 strcpy(name[CONTROL_PRINT_TECPLOT],"control_print_tecplot");
811 type[CONTROL_PRINT_TECPLOT] = INTEGER;
812 data_length[CONTROL_PRINT_TECPLOT] = 1;
813 data_class[CONTROL_PRINT_TECPLOT] = CONTROL;
814
815 strcpy(name[CONTROL_PRINT_TECPLOT_MESH],"control_print_tecplot_mesh");
816 type[CONTROL_PRINT_TECPLOT_MESH] = INTEGER;
817 data_length[CONTROL_PRINT_TECPLOT_MESH] = 1;
818 no_index[CONTROL_PRINT_TECPLOT_MESH] = 1;
819 external[CONTROL_PRINT_TECPLOT_MESH] = 0;
820 data_class[CONTROL_PRINT_TECPLOT_MESH] = CONTROL;
821
822 strcpy(name[CONTROL_PRINT_UNKNOWNS],"control_print_unknowns");
823 type[CONTROL_PRINT_UNKNOWNS] = INTEGER;
824 data_length[CONTROL_PRINT_UNKNOWNS] = 1;
825 data_class[CONTROL_PRINT_UNKNOWNS] = CONTROL;
826
827 strcpy(name[CONTROL_PRINT_UNKNOWNSRHSIDE],"control_print_unknownsrhside");
828 type[CONTROL_PRINT_UNKNOWNSRHSIDE] = INTEGER;
829 data_length[CONTROL_PRINT_UNKNOWNSRHSIDE] = 1;
830 data_class[CONTROL_PRINT_UNKNOWNSRHSIDE] = CONTROL;
831
832 strcpy(name[CONTROL_PRINT_VTK],"control_print_vtk");
833 type[CONTROL_PRINT_VTK] = INTEGER;
834 data_length[CONTROL_PRINT_VTK] = 1;
835 data_class[CONTROL_PRINT_VTK] = CONTROL;
836
837 strcpy(name[CONTROL_RELAXATION_CONDIF_TEMPERATURE],"control_relaxation_condif_temperature");
838 type[CONTROL_RELAXATION_CONDIF_TEMPERATURE] = DOUBLE_PRECISION;
839 data_length[CONTROL_RELAXATION_CONDIF_TEMPERATURE] = 1;
840 data_class[CONTROL_RELAXATION_CONDIF_TEMPERATURE] = CONTROL;
841
842 strcpy(name[CONTROL_RELAXATION_GROUNDFLOW_PRESSURE],"control_relaxation_groundflow_pressure");
843 type[CONTROL_RELAXATION_GROUNDFLOW_PRESSURE] = DOUBLE_PRECISION;
844 data_length[CONTROL_RELAXATION_GROUNDFLOW_PRESSURE] = 1;
845 data_class[CONTROL_RELAXATION_GROUNDFLOW_PRESSURE] = CONTROL;
846
847 strcpy(name[CONTROL_RELAXATION_MAXWELL_E],"control_relaxation_maxwell_e");
848 type[CONTROL_RELAXATION_MAXWELL_E] = DOUBLE_PRECISION;
849 data_length[CONTROL_RELAXATION_MAXWELL_E] = 1;
850 data_class[CONTROL_RELAXATION_MAXWELL_E] = CONTROL;
851
852 strcpy(name[CONTROL_RELAXATION_MATERI_VELOCITY],"control_relaxation_materi_velocity");
853 type[CONTROL_RELAXATION_MATERI_VELOCITY] = DOUBLE_PRECISION;
854 data_length[CONTROL_RELAXATION_MATERI_VELOCITY] = 1;
855 data_class[CONTROL_RELAXATION_MATERI_VELOCITY] = CONTROL;
856
857 strcpy(name[CONTROL_RELAXATION_WAVE_FSCALAR],"control_relaxation_wave_fscalar");
858 type[CONTROL_RELAXATION_WAVE_FSCALAR] = DOUBLE_PRECISION;
859 data_length[CONTROL_RELAXATION_WAVE_FSCALAR] = 1;
860 data_class[CONTROL_RELAXATION_WAVE_FSCALAR] = CONTROL;
861
862 strcpy(name[CONTROL_REPEAT],"control_repeat");
863 type[CONTROL_REPEAT] = INTEGER;
864 data_length[CONTROL_REPEAT] = 2;
865 data_class[CONTROL_REPEAT] = CONTROL;
866
867 strcpy(name[CONTROL_REPEAT_UNTIL_ITEM],"control_repeat_until_item");
868 type[CONTROL_REPEAT_UNTIL_ITEM] = INTEGER;
869 data_length[CONTROL_REPEAT_UNTIL_ITEM] = 5;
870 data_class[CONTROL_REPEAT_UNTIL_ITEM] = CONTROL;
871
872 strcpy(name[CONTROL_REPEAT_UNTIL_TOLERANCE],"control_repeat_until_tolerance");
873 type[CONTROL_REPEAT_UNTIL_TOLERANCE] = DOUBLE_PRECISION;
874 data_length[CONTROL_REPEAT_UNTIL_TOLERANCE] = 1;
875 data_class[CONTROL_REPEAT_UNTIL_TOLERANCE] = CONTROL;
876
877 strcpy(name[CONTROL_REPEAT_UNTIL_VALUE],"control_repeat_until_value");
878 type[CONTROL_REPEAT_UNTIL_VALUE] = DOUBLE_PRECISION;
879 data_length[CONTROL_REPEAT_UNTIL_VALUE] = 1;
880 external[CONTROL_REPEAT_UNTIL_VALUE] = 0;
881 data_class[CONTROL_REPEAT_UNTIL_VALUE] = CONTROL;
882
883 strcpy(name[CONTROL_RESTART],"control_restart");
884 type[CONTROL_RESTART] = INTEGER;
885 data_length[CONTROL_RESTART] = 1;
886 data_class[CONTROL_RESTART] = CONTROL;
887
888 strcpy(name[CONTROL_UNKNOWN_FREEZE],"control_unknown_freeze");
889 type[CONTROL_UNKNOWN_FREEZE] = INTEGER;
890 data_length[CONTROL_UNKNOWN_FREEZE] = nuknwn;
891 data_class[CONTROL_UNKNOWN_FREEZE] = CONTROL;
892 fixed_length[CONTROL_UNKNOWN_FREEZE] = 0;
893
894 strcpy(name[CONTROL_UNKNOWN_RESET_GEOMETRY],"control_unknown_reset_geometry");
895 type[CONTROL_UNKNOWN_RESET_GEOMETRY] = INTEGER;
896 data_length[CONTROL_UNKNOWN_RESET_GEOMETRY] =2;
897 data_class[CONTROL_UNKNOWN_RESET_GEOMETRY] = CONTROL;
898
899 strcpy(name[CONTROL_UNKNOWN_RESET_UNKNOWN],"control_unknown_reset_unknown");
900 type[CONTROL_UNKNOWN_RESET_UNKNOWN] = INTEGER;
901 data_length[CONTROL_UNKNOWN_RESET_UNKNOWN] = nuknwn;
902 data_class[CONTROL_UNKNOWN_RESET_UNKNOWN] = CONTROL;
903 fixed_length[CONTROL_UNKNOWN_RESET_UNKNOWN] = 0;
904
905 strcpy(name[CONTROL_UNKNOWN_RESET_VALUE],"control_unknown_reset_value");
906 type[CONTROL_UNKNOWN_RESET_VALUE] = DOUBLE_PRECISION;
907 data_length[CONTROL_UNKNOWN_RESET_VALUE] = 1;
908 data_class[CONTROL_UNKNOWN_RESET_VALUE] = CONTROL;
909
910 strcpy(name[CONTROL_TIMESTEP],"control_timestep");
911 type[CONTROL_TIMESTEP] = DOUBLE_PRECISION;
912 data_length[CONTROL_TIMESTEP] = DATA_ITEM_SIZE;
913 fixed_length[CONTROL_TIMESTEP] = 0;
914 data_class[CONTROL_TIMESTEP] = CONTROL;
915
916 strcpy(name[CONTROL_TIMESTEP_ITERATIONS],"control_timestep_iterations");
917 type[CONTROL_TIMESTEP_ITERATIONS] = INTEGER;
918 data_length[CONTROL_TIMESTEP_ITERATIONS] = 1;
919 data_class[CONTROL_TIMESTEP_ITERATIONS] = CONTROL;
920 data_required[CONTROL_TIMESTEP_ITERATIONS] = CONTROL_TIMESTEP;
921
922 strcpy(name[CONTROL_TIMESTEP_ITERATIONS_AUTOMATIC],"control_timestep_iterations_automatic");
923 type[CONTROL_TIMESTEP_ITERATIONS_AUTOMATIC] = DOUBLE_PRECISION;
924 data_length[CONTROL_TIMESTEP_ITERATIONS_AUTOMATIC] = 2;
925 data_class[CONTROL_TIMESTEP_ITERATIONS_AUTOMATIC] = CONTROL;
926 data_required[CONTROL_TIMESTEP_ITERATIONS_AUTOMATIC] = CONTROL_TIMESTEP;
927
928 strcpy(name[CONTROL_TIMESTEP_ITERATIONS_AUTOMATIC_STOP],"control_timestep_iterations_automatic_stop");
929 type[CONTROL_TIMESTEP_ITERATIONS_AUTOMATIC_STOP] = INTEGER;
930 data_length[CONTROL_TIMESTEP_ITERATIONS_AUTOMATIC_STOP] = 1;
931 data_class[CONTROL_TIMESTEP_ITERATIONS_AUTOMATIC_STOP] = CONTROL;
932 data_required[CONTROL_TIMESTEP_ITERATIONS_AUTOMATIC_STOP] = CONTROL_TIMESTEP;
933
934 strcpy(name[CONTROL_TIMESTEP_SIZE_AUTOMATIC_DECREASE],"control_timestep_size_automatic_decrease");
935 type[CONTROL_TIMESTEP_SIZE_AUTOMATIC_DECREASE] = DOUBLE_PRECISION;
936 data_length[CONTROL_TIMESTEP_SIZE_AUTOMATIC_DECREASE] = 3;
937 data_class[CONTROL_TIMESTEP_SIZE_AUTOMATIC_DECREASE] = CONTROL;
938 data_required[CONTROL_TIMESTEP_SIZE_AUTOMATIC_DECREASE] = CONTROL_TIMESTEP;
939
940 strcpy(name[CONTROL_TIMESTEP_MULTIPLIER],"control_timestep_multiplier");
941 type[CONTROL_TIMESTEP_MULTIPLIER] = DOUBLE_PRECISION;
942 data_length[CONTROL_TIMESTEP_MULTIPLIER] = 1;
943 fixed_length[CONTROL_TIMESTEP_MULTIPLIER] = 0;
944 data_class[CONTROL_TIMESTEP_MULTIPLIER] = CONTROL;
945
946 strcpy(name[CR],"cr");
947
948 strcpy(name[CRACK_DIRECTION],"crack_direction");
949 type[CRACK_DIRECTION] = DOUBLE_PRECISION;
950 data_length[CRACK_DIRECTION] = ndim;
951 data_class[CRACK_DIRECTION] = CRACK;
952 no_index[CRACK_DIRECTION] = 1;
953
954 strcpy(name[CRACK_NODES],"crack_nodes");
955 type[CRACK_NODES] = INTEGER;
956 data_length[CRACK_NODES] = 5;
957 data_class[CRACK_NODES] = CRACK;
958 no_index[CRACK_NODES] = 1;
959
960 strcpy(name[CRACK_ELEMENTGROUP],"crack_elementgroup");
961 type[CRACK_ELEMENTGROUP] = INTEGER;
962 data_length[CRACK_ELEMENTGROUP] = 1;
963 data_class[CRACK_ELEMENTGROUP] = CRACK;
964 no_index[CRACK_ELEMENTGROUP] = 1;
965
966 strcpy(name[CRACK_LENGTH],"crack_length");
967 type[CRACK_LENGTH] = DOUBLE_PRECISION;
968 data_length[CRACK_LENGTH] = ndim;
969 data_class[CRACK_LENGTH] = CRACK;
970 no_index[CRACK_LENGTH] = 1;
971
972 strcpy(name[CRACK_STRESSINTENSITYFACTOR],"crack_stressintensityfactor");
973 type[CRACK_STRESSINTENSITYFACTOR] = DOUBLE_PRECISION;
974 data_length[CRACK_STRESSINTENSITYFACTOR] = 2;
975 data_class[CRACK_STRESSINTENSITYFACTOR] = CRACK;
976 no_index[CRACK_STRESSINTENSITYFACTOR] = 1;
977
978 strcpy(name[CRACK_TIP],"crack_tip");
979 type[CRACK_TIP] = DOUBLE_PRECISION;
980 data_length[CRACK_TIP] = ndim;
981 data_class[CRACK_TIP] = CRACK;
982 no_index[CRACK_TIP] = 1;
983
984 strcpy(name[CYLINDER_HOLLOW],"cylinder_hollow" );
985
986 strcpy(name[DATABASE],"database");
987
988 strcpy(name[DEPENDENCY],"dependency");
989
990 strcpy(name[DEPENDENCY_DIAGRAM],"dependency_diagram");
991 type[DEPENDENCY_DIAGRAM] = DOUBLE_PRECISION;
992 data_length[DEPENDENCY_DIAGRAM] = DATA_ITEM_SIZE;
993 fixed_length[DEPENDENCY_DIAGRAM] = 0;
994 data_class[DEPENDENCY_DIAGRAM] = DEPENDENCY;
995 data_required[DEPENDENCY_DIAGRAM] = DEPENDENCY_ITEM;
996
997 strcpy(name[DEPENDENCY_ITEM],"dependency_item");
998 type[DEPENDENCY_ITEM] = INTEGER;
999 data_length[DEPENDENCY_ITEM] = 4;
1000 data_class[DEPENDENCY_ITEM] = DEPENDENCY;
1001 data_required[DEPENDENCY_ITEM] = DEPENDENCY_DIAGRAM;
1002
1003 strcpy(name[DIAGONAL],"diagonal");
1004
1005 strcpy(name[EMPTY],"empty" );
1006
1007 strcpy(name[MATERI_DISPLACEMENT],"materi_displacement");
1008
1009 strcpy(name[DOF],"dof");
1010
1011 strcpy(name[DOF_AMOUNT],"dof_amount");
1012 type[DOF_AMOUNT] = INTEGER;
1013 data_length[DOF_AMOUNT] = nuknwn;
1014 no_index[DOF_AMOUNT] = 1;
1015 external[DOF_AMOUNT] = 0;
1016 data_class[DOF_AMOUNT] = DOF;
1017
1018 strcpy(name[DOF_LABEL],"dof_label");
1019 type[DOF_LABEL] = INTEGER;
1020 data_length[DOF_LABEL] = nuknwn;
1021 print_only[DOF_LABEL] = 1;
1022 no_index[DOF_LABEL] = 1;
1023 data_class[DOF_LABEL] = DOF;
1024
1025 strcpy(name[DOF_PRINCIPAL],"dof_principal");
1026 type[DOF_PRINCIPAL] = INTEGER;
1027 data_length[DOF_PRINCIPAL] = nuknwn;
1028 no_index[DOF_PRINCIPAL] = 1;
1029 external[DOF_PRINCIPAL] = 0;
1030 data_class[DOF_PRINCIPAL] = DOF;
1031
1032 strcpy(name[DOF_SCAL_VEC_MAT],"dof_scal_vec_mat");
1033 type[DOF_SCAL_VEC_MAT] = INTEGER;
1034 data_length[DOF_SCAL_VEC_MAT] = nuknwn;
1035 no_index[DOF_SCAL_VEC_MAT] = 1;
1036 external[DOF_SCAL_VEC_MAT] = 0;
1037 data_class[DOF_SCAL_VEC_MAT] = DOF;
1038
1039 strcpy(name[DOF_TYPE],"dof_type");
1040 type[DOF_TYPE] = INTEGER;
1041 data_length[DOF_TYPE] = nuknwn;
1042 no_index[DOF_TYPE] = 1;
1043 external[DOF_TYPE] = 0;
1044 data_class[DOF_TYPE] = DOF;
1045
1046 strcpy(name[DTIME],"dtime");
1047 type[DTIME] = DOUBLE_PRECISION;
1048 data_length[DTIME] = 1;
1049 no_index[DTIME] = 1;
1050 version_all[DTIME] = 1;
1051 external[DTIME] = 0;
1052
1053 strcpy(name[DYNAMIC],"dynamic" );
1054
1055 strcpy(name[ELEMENT],"element");
1056 type[ELEMENT] = INTEGER;
1057 if ( ndim==1 ) data_length[ELEMENT] = 1+4;
1058 else if ( ndim==2 ) data_length[ELEMENT] = 1+16;
1059 else if ( ndim==3 ) data_length[ELEMENT] = 1+MNOL;
1060 fixed_length[ELEMENT] = 0;
1061 version_all[ELEMENT] = 1;
1062 data_class[ELEMENT] = ELEMENT;
1063
1064 strcpy(name[ELEMENT_ADJUST],"element_adjust");
1065 type[ELEMENT_ADJUST] = INTEGER;
1066 data_length[ELEMENT_ADJUST] = 1;
1067 version_all[ELEMENT_ADJUST] = 1;
1068 data_class[ELEMENT_ADJUST] = ELEMENT;
1069 external[ELEMENT_ADJUST] = 0;
1070 data_required[ELEMENT_ADJUST] = ELEMENT;
1071
1072 strcpy(name[ELEMENT_BEAM_DIRECTION],"element_beam_direction");
1073 type[ELEMENT_BEAM_DIRECTION] = DOUBLE_PRECISION;
1074 data_length[ELEMENT_BEAM_DIRECTION] = 2;
1075 version_all[ELEMENT_BEAM_DIRECTION] = 1;
1076 print_only[ELEMENT_BEAM_DIRECTION] = 1;
1077 data_class[ELEMENT_BEAM_DIRECTION] = ELEMENT;
1078 data_required[ELEMENT_BEAM_DIRECTION] = ELEMENT;
1079
1080 strcpy(name[ELEMENT_BEAM_MOMENT],"element_beam_moment");
1081 type[ELEMENT_BEAM_MOMENT] = DOUBLE_PRECISION;
1082 data_length[ELEMENT_BEAM_MOMENT] = 6;
1083 version_all[ELEMENT_BEAM_MOMENT] = 1;
1084 data_class[ELEMENT_BEAM_MOMENT] = ELEMENT;
1085 data_required[ELEMENT_BEAM_MOMENT] = ELEMENT;
1086
1087 strcpy(name[ELEMENT_CONTACTSPRING_DIRECTION],"element_contactspring_direction");
1088 type[ELEMENT_CONTACTSPRING_DIRECTION] = DOUBLE_PRECISION;
1089 data_length[ELEMENT_CONTACTSPRING_DIRECTION] = MDIM*MDIM;
1090 version_all[ELEMENT_CONTACTSPRING_DIRECTION] = 1;
1091 print_only[ELEMENT_CONTACTSPRING_DIRECTION] = 1;
1092 data_class[ELEMENT_CONTACTSPRING_DIRECTION] = ELEMENT;
1093 data_required[ELEMENT_CONTACTSPRING_DIRECTION] = ELEMENT;
1094
1095 strcpy(name[ELEMENT_CONTACTSPRING_FORCE],"element_contactspring_force");
1096 type[ELEMENT_CONTACTSPRING_FORCE] = DOUBLE_PRECISION;
1097 data_length[ELEMENT_CONTACTSPRING_FORCE] = MDIM;
1098 version_all[ELEMENT_CONTACTSPRING_FORCE] = 1;
1099 print_only[ELEMENT_CONTACTSPRING_FORCE] = 1;
1100 data_class[ELEMENT_CONTACTSPRING_FORCE] = ELEMENT;
1101 data_required[ELEMENT_CONTACTSPRING_FORCE] = ELEMENT;
1102
1103 strcpy(name[ELEMENT_DELETE_FACTOR],"element_delete_factor");
1104 type[ELEMENT_DELETE_FACTOR] = DOUBLE_PRECISION;
1105 data_length[ELEMENT_DELETE_FACTOR] = 1;
1106 external[ELEMENT_DELETE_FACTOR] = 0;
1107 version_all[ELEMENT_DELETE_FACTOR] = 1;
1108 data_class[ELEMENT_DELETE_FACTOR] = ELEMENT;
1109 data_required[ELEMENT_DELETE_FACTOR] = ELEMENT;
1110
1111 strcpy(name[ELEMENT_DELETE_TIMES],"element_delete_times");
1112 type[ELEMENT_DELETE_TIMES] = DOUBLE_PRECISION;
1113 data_length[ELEMENT_DELETE_TIMES] = 2;
1114 external[ELEMENT_DELETE_TIMES] = 0;
1115 version_all[ELEMENT_DELETE_TIMES] = 1;
1116 data_class[ELEMENT_DELETE_TIMES] = ELEMENT;
1117 data_required[ELEMENT_DELETE_TIMES] = ELEMENT;
1118
1119 strcpy(name[ELEMENT_DISTRIBUTE],"element_distribute");
1120 type[ELEMENT_DISTRIBUTE] = INTEGER;
1121 data_length[ELEMENT_DISTRIBUTE] = 2;
1122 external[ELEMENT_DISTRIBUTE] = 0;
1123 version_all[ELEMENT_DISTRIBUTE] = 1;
1124 data_class[ELEMENT_DISTRIBUTE] = ELEMENT;
1125 data_required[ELEMENT_DISTRIBUTE] = ELEMENT;
1126
1127 strcpy(name[ELEMENT_DISTRIBUTE_VALUES],"element_distribute_values");
1128 type[ELEMENT_DISTRIBUTE_VALUES] = DOUBLE_PRECISION;
1129 data_length[ELEMENT_DISTRIBUTE_VALUES] = 1;
1130 external[ELEMENT_DISTRIBUTE_VALUES] = 0;
1131 version_all[ELEMENT_DISTRIBUTE_VALUES] = 1;
1132 data_class[ELEMENT_DISTRIBUTE_VALUES] = ELEMENT;
1133 data_required[ELEMENT_DISTRIBUTE_VALUES] = ELEMENT;
1134
1135 strcpy(name[ELEMENT_DOF],"element_dof");
1136 type[ELEMENT_DOF] = DOUBLE_PRECISION;
1137 data_length[ELEMENT_DOF] = npointmax*nuknwn;
1138 version_all[ELEMENT_DOF] = 1;
1139 data_class[ELEMENT_DOF] = ELEMENT;
1140 data_required[ELEMENT_DOF] = ELEMENT;
1141
1142 strcpy(name[ELEMENT_DOF_INITIALISED],"element_dof_initialised");
1143 type[ELEMENT_DOF_INITIALISED] = INTEGER;
1144 data_length[ELEMENT_DOF_INITIALISED] = 1;
1145 version_all[ELEMENT_DOF_INITIALISED] = 1;
1146 data_class[ELEMENT_DOF_INITIALISED] = ELEMENT;
1147 data_required[ELEMENT_DOF_INITIALISED] = ELEMENT;
1148
1149 strcpy(name[ELEMENT_EMPTY],"element_empty");
1150 type[ELEMENT_EMPTY] = INTEGER;
1151 data_length[ELEMENT_EMPTY] = 1;
1152 version_all[ELEMENT_EMPTY] = 1;
1153 external[ELEMENT_EMPTY] = 0;
1154 data_class[ELEMENT_EMPTY] = ELEMENT;
1155 data_required[ELEMENT_EMPTY] = ELEMENT;
1156
1157 strcpy(name[ELEMENT_GROUP],"element_group");
1158 type[ELEMENT_GROUP] = INTEGER;
1159 data_length[ELEMENT_GROUP] = 1;
1160 version_all[ELEMENT_GROUP] = 1;
1161 data_class[ELEMENT_GROUP] = ELEMENT;
1162 data_required[ELEMENT_GROUP] = ELEMENT;
1163
1164 strcpy(name[ELEMENT_GROUP_AREA_ELEMENT_GROUP],
1165 "element_group_area_element_group");
1166 type[ELEMENT_GROUP_AREA_ELEMENT_GROUP] = INTEGER;
1167 data_length[ELEMENT_GROUP_AREA_ELEMENT_GROUP] = 1;
1168 version_all[ELEMENT_GROUP_AREA_ELEMENT_GROUP] = 1;
1169 data_class[ELEMENT_GROUP_AREA_ELEMENT_GROUP] = ELEMENT;
1170 data_required[ELEMENT_GROUP_AREA_ELEMENT_GROUP] = ELEMENT;
1171
1172 strcpy(name[ELEMENT_GROUP_AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP],
1173 "element_group_area_element_group_sequence_elementgroup");
1174 type[ELEMENT_GROUP_AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP] = INTEGER;
1175 data_length[ELEMENT_GROUP_AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP] = 1;
1176 version_all[ELEMENT_GROUP_AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP] = 1;
1177 data_class[ELEMENT_GROUP_AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP] = ELEMENT;
1178 data_required[ELEMENT_GROUP_AREA_ELEMENT_GROUP_SEQUENCE_ELEMENTGROUP] = ELEMENT;
1179
1180 strcpy(name[ELEMENT_MACRO_GENERATE],"element_macro_generate");
1181 type[ELEMENT_MACRO_GENERATE] = INTEGER;
1182 data_length[ELEMENT_MACRO_GENERATE] = 1;
1183 version_all[ELEMENT_MACRO_GENERATE] = 1;
1184 data_class[ELEMENT_MACRO_GENERATE] = ELEMENT;
1185 data_required[ELEMENT_MACRO_GENERATE] = ELEMENT;
1186 external[ELEMENT_MACRO_GENERATE] = 0;
1187
1188 strcpy(name[ELEMENT_MASS],"element_mass");
1189 type[ELEMENT_MASS] = DOUBLE_PRECISION;
1190 data_length[ELEMENT_MASS] = 1;
1191 external[ELEMENT_MASS] = 0;
1192 data_class[ELEMENT_MASS] = ELEMENT;
1193 data_required[ELEMENT_MASS] = ELEMENT;
1194
1195 strcpy(name[ELEMENT_MATRIX_DELETE],"element_matrix_delete");
1196 type[ELEMENT_MATRIX_DELETE] = DOUBLE_PRECISION;
1197 data_length[ELEMENT_MATRIX_DELETE] = MNOL*npuknwn;
1198 fixed_length[ELEMENT_MATRIX_DELETE] = 0;
1199 external[ELEMENT_MATRIX_DELETE] = 0;
1200 data_class[ELEMENT_MATRIX_DELETE] = ELEMENT;
1201 data_required[ELEMENT_MATRIX_DELETE] = ELEMENT;
1202
1203 strcpy(name[ELEMENT_MATRIX_UNKNOWNS],"element_matrix_unknowns");
1204 type[ELEMENT_MATRIX_UNKNOWNS] = INTEGER;
1205 data_length[ELEMENT_MATRIX_UNKNOWNS] = 0; // set run-time
1206 fixed_length[ELEMENT_MATRIX_UNKNOWNS] = 0;
1207 external[ELEMENT_MATRIX_UNKNOWNS] = 0;
1208 data_class[ELEMENT_MATRIX_UNKNOWNS] = ELEMENT;
1209 data_required[ELEMENT_MATRIX_UNKNOWNS] = ELEMENT;
1210
1211 strcpy(name[ELEMENT_MATRIX_VALUES],"element_matrix_values");
1212 type[ELEMENT_MATRIX_VALUES] = DOUBLE_PRECISION;
1213 data_length[ELEMENT_MATRIX_VALUES] = 0; // set run-time
1214 fixed_length[ELEMENT_MATRIX_VALUES] = 0;
1215 external[ELEMENT_MATRIX_VALUES] = 0;
1216 data_class[ELEMENT_MATRIX_VALUES] = ELEMENT;
1217 data_required[ELEMENT_MATRIX_VALUES] = ELEMENT;
1218
1219 strcpy(name[ELEMENT_MATRIX_SECOND_VALUES],"element_matrix_second_values");
1220 type[ELEMENT_MATRIX_SECOND_VALUES] = DOUBLE_PRECISION;
1221 data_length[ELEMENT_MATRIX_SECOND_VALUES] = 0; // set run-time
1222 fixed_length[ELEMENT_MATRIX_SECOND_VALUES] = 0;
1223 external[ELEMENT_MATRIX_SECOND_VALUES] = 0;
1224 data_class[ELEMENT_MATRIX_SECOND_VALUES] = ELEMENT;
1225 data_required[ELEMENT_MATRIX_SECOND_VALUES] = ELEMENT;
1226
1227 strcpy(name[ELEMENT_MIDDLE],"element_middle");
1228 type[ELEMENT_MIDDLE] = DOUBLE_PRECISION;
1229 data_length[ELEMENT_MIDDLE] = ndim;
1230 external[ELEMENT_MIDDLE] = 0;
1231 version_all[ELEMENT_MIDDLE] = 1;
1232 data_class[ELEMENT_MIDDLE] = ELEMENT;
1233 data_required[ELEMENT_MIDDLE] = ELEMENT;
1234
1235 strcpy(name[ELEMENT_NONLOCAL],"element_nonlocal");
1236 type[ELEMENT_NONLOCAL] = INTEGER;
1237 data_length[ELEMENT_NONLOCAL] = NONLOCAL_ITEM_SIZE*npointmax;
1238 external[ELEMENT_NONLOCAL] = 0;
1239 version_all[ELEMENT_NONLOCAL] = 0;
1240 fixed_length[ELEMENT_NONLOCAL] = 0;
1241 data_class[ELEMENT_NONLOCAL] = ELEMENT;
1242 data_required[ELEMENT_NONLOCAL] = ELEMENT;
1243
1244 strcpy(name[ELEMENT_NONLOCAL_IPOINT],"element_nonlocal_ipoint");
1245 type[ELEMENT_NONLOCAL_IPOINT] = INTEGER;
1246 data_length[ELEMENT_NONLOCAL_IPOINT] = NONLOCAL_ITEM_SIZE*npointmax;
1247 external[ELEMENT_NONLOCAL_IPOINT] = 0;
1248 version_all[ELEMENT_NONLOCAL_IPOINT] = 0;
1249 fixed_length[ELEMENT_NONLOCAL_IPOINT] = 0;
1250 data_class[ELEMENT_NONLOCAL_IPOINT] = ELEMENT;
1251 data_required[ELEMENT_NONLOCAL_IPOINT] = ELEMENT;
1252
1253 strcpy(name[ELEMENT_NONLOCAL_WEIGHT],"element_nonlocal_weight");
1254 type[ELEMENT_NONLOCAL_WEIGHT] = DOUBLE_PRECISION;
1255 data_length[ELEMENT_NONLOCAL_WEIGHT] = NONLOCAL_ITEM_SIZE*npointmax;
1256 external[ELEMENT_NONLOCAL_WEIGHT] = 0;
1257 version_all[ELEMENT_NONLOCAL_WEIGHT] = 0;
1258 fixed_length[ELEMENT_NONLOCAL_WEIGHT] = 0;
1259 data_class[ELEMENT_NONLOCAL_WEIGHT] = ELEMENT;
1260 data_required[ELEMENT_NONLOCAL_WEIGHT] = ELEMENT;
1261
1262 strcpy(name[ELEMENT_RADIUS],"element_radius");
1263 type[ELEMENT_RADIUS] = DOUBLE_PRECISION;
1264 data_length[ELEMENT_RADIUS] = 1;
1265 external[ELEMENT_RADIUS] = 0;
1266 version_all[ELEMENT_RADIUS] = 1;
1267 data_class[ELEMENT_RADIUS] = ELEMENT;
1268 data_required[ELEMENT_RADIUS] = ELEMENT;
1269
1270 strcpy(name[ELEMENT_RHSIDE_DELETE],"element_rhside_delete");
1271 type[ELEMENT_RHSIDE_DELETE] = DOUBLE_PRECISION;
1272 data_length[ELEMENT_RHSIDE_DELETE] = MNOL*npuknwn;
1273 fixed_length[ELEMENT_RHSIDE_DELETE] = 0;
1274 external[ELEMENT_RHSIDE_DELETE] = 0;
1275 data_class[ELEMENT_RHSIDE_DELETE] = ELEMENT;
1276 data_required[ELEMENT_RHSIDE_DELETE] = ELEMENT;
1277
1278 strcpy(name[ELEMENT_SPRING_DIRECTION],"element_spring_direction");
1279 type[ELEMENT_SPRING_DIRECTION] = DOUBLE_PRECISION;
1280 data_length[ELEMENT_SPRING_DIRECTION] = ndim;
1281 version_all[ELEMENT_SPRING_DIRECTION] = 1;
1282 print_only[ELEMENT_SPRING_DIRECTION] = 1;
1283 data_class[ELEMENT_SPRING_DIRECTION] = ELEMENT;
1284 data_required[ELEMENT_SPRING_DIRECTION] = ELEMENT;
1285
1286 strcpy(name[ELEMENT_SPRING_FORCE],"element_spring_force");
1287 type[ELEMENT_SPRING_FORCE] = DOUBLE_PRECISION;
1288 data_length[ELEMENT_SPRING_FORCE] = 1;
1289 version_all[ELEMENT_SPRING_FORCE] = 1;
1290 print_only[ELEMENT_SPRING_FORCE] = 1;
1291 data_class[ELEMENT_SPRING_FORCE] = ELEMENT;
1292 data_required[ELEMENT_SPRING_FORCE] = ELEMENT;
1293
1294 strcpy(name[ELEMENT_STRAINENERGY],"element_strainenergy");
1295 type[ELEMENT_STRAINENERGY] = DOUBLE_PRECISION;
1296 data_length[ELEMENT_STRAINENERGY] = 1;
1297 external[ELEMENT_STRAINENERGY] = 0;
1298 data_class[ELEMENT_STRAINENERGY] = ELEMENT;
1299 data_required[ELEMENT_STRAINENERGY] = ELEMENT;
1300
1301 strcpy(name[ELEMENT_TENDON_DIRECTION],"element_tendon_direction");
1302 type[ELEMENT_TENDON_DIRECTION] = DOUBLE_PRECISION;
1303 data_length[ELEMENT_TENDON_DIRECTION] = MTENDON * MDIM;
1304 fixed_length[ELEMENT_TENDON_DIRECTION] = 0;
1305 version_all[ELEMENT_TENDON_DIRECTION] = 1;
1306 print_only[ELEMENT_TENDON_DIRECTION] = 1;
1307 data_class[ELEMENT_TENDON_DIRECTION] = ELEMENT;
1308 data_required[ELEMENT_TENDON_DIRECTION] = ELEMENT;
1309
1310 strcpy(name[ELEMENT_TENDON_INTERSECTIONS],"element_tendon_intersections");
1311 type[ELEMENT_TENDON_INTERSECTIONS] = DOUBLE_PRECISION;
1312 data_length[ELEMENT_TENDON_INTERSECTIONS] = MTENDON * 2 * ndim;
1313 fixed_length[ELEMENT_TENDON_INTERSECTIONS] = 0;
1314 version_all[ELEMENT_TENDON_INTERSECTIONS] = 1;
1315 external[ELEMENT_TENDON_INTERSECTIONS] = 0;
1316 data_class[ELEMENT_TENDON_INTERSECTIONS] = ELEMENT;
1317 data_required[ELEMENT_TENDON_INTERSECTIONS] = ELEMENT;
1318
1319 strcpy(name[ELEMENT_TENDON_NUMBER],"element_tendon_number");
1320 type[ELEMENT_TENDON_NUMBER] = INTEGER;
1321 data_length[ELEMENT_TENDON_NUMBER] = MTENDON;
1322 fixed_length[ELEMENT_TENDON_NUMBER] = 0;
1323 version_all[ELEMENT_TENDON_NUMBER] = 1;
1324 print_only[ELEMENT_TENDON_NUMBER] = 1;
1325 data_class[ELEMENT_TENDON_NUMBER] = ELEMENT;
1326 data_required[ELEMENT_TENDON_NUMBER] = ELEMENT;
1327
1328 strcpy(name[ELEMENT_TENDON_STRAIN],"element_tendon_strain");
1329 type[ELEMENT_TENDON_STRAIN] = DOUBLE_PRECISION;
1330 data_length[ELEMENT_TENDON_STRAIN] = MTENDON;
1331 fixed_length[ELEMENT_TENDON_STRAIN] = 0;
1332 version_all[ELEMENT_TENDON_STRAIN] = 1;
1333 print_only[ELEMENT_TENDON_STRAIN] = 1;
1334 data_class[ELEMENT_TENDON_STRAIN] = ELEMENT;
1335 data_required[ELEMENT_TENDON_STRAIN] = ELEMENT;
1336
1337 strcpy(name[ELEMENT_TENDON_STRESS],"element_tendon_stress");
1338 type[ELEMENT_TENDON_STRESS] = DOUBLE_PRECISION;
1339 data_length[ELEMENT_TENDON_STRESS] = MTENDON;
1340 fixed_length[ELEMENT_TENDON_STRESS] = 0;
1341 version_all[ELEMENT_TENDON_STRESS] = 1;
1342 print_only[ELEMENT_TENDON_STRESS] = 1;
1343 data_class[ELEMENT_TENDON_STRESS] = ELEMENT;
1344 data_required[ELEMENT_TENDON_STRESS] = ELEMENT;
1345
1346 strcpy(name[ELEMENT_TENDON_VOLUME],"element_tendon_volume");
1347 type[ELEMENT_TENDON_VOLUME] = DOUBLE_PRECISION;
1348 data_length[ELEMENT_TENDON_VOLUME] = MTENDON;
1349 fixed_length[ELEMENT_TENDON_VOLUME] = 0;
1350 version_all[ELEMENT_TENDON_VOLUME] = 1;
1351 print_only[ELEMENT_TENDON_VOLUME] = 1;
1352 data_class[ELEMENT_TENDON_VOLUME] = ELEMENT;
1353 data_required[ELEMENT_TENDON_VOLUME] = ELEMENT;
1354
1355 strcpy(name[ELEMENT_TRUSS_DIRECTION],"element_truss_direction");
1356 type[ELEMENT_TRUSS_DIRECTION] = DOUBLE_PRECISION;
1357 data_length[ELEMENT_TRUSS_DIRECTION] = ndim;
1358 version_all[ELEMENT_TRUSS_DIRECTION] = 1;
1359 print_only[ELEMENT_TRUSS_DIRECTION] = 1;
1360 data_class[ELEMENT_TRUSS_DIRECTION] = ELEMENT;
1361 data_required[ELEMENT_TRUSS_DIRECTION] = ELEMENT;
1362
1363 strcpy(name[ELEMENT_TRUSS_FORCE],"element_truss_force");
1364 type[ELEMENT_TRUSS_FORCE] = DOUBLE_PRECISION;
1365 data_length[ELEMENT_TRUSS_FORCE] = 1;
1366 version_all[ELEMENT_TRUSS_FORCE] = 1;
1367 data_class[ELEMENT_TRUSS_FORCE] = ELEMENT;
1368 data_required[ELEMENT_TRUSS_FORCE] = ELEMENT;
1369
1370 strcpy(name[ELEMENT_VOLUME],"element_volume");
1371 type[ELEMENT_VOLUME] = DOUBLE_PRECISION;
1372 data_length[ELEMENT_VOLUME] = 1;
1373 external[ELEMENT_VOLUME] = 0;
1374 data_class[ELEMENT_VOLUME] = ELEMENT;
1375 data_required[ELEMENT_VOLUME] = ELEMENT;
1376
1377 strcpy(name[EISENSTAT],"eisenstat");
1378
1379 strcpy(name[EVERYTHING],"everything" );
1380
1381 strcpy(name[EXIT_TOCHNOG],"exit_tochnog");
1382 type[EXIT_TOCHNOG] = INTEGER;
1383 data_length[EXIT_TOCHNOG] = 1;
1384 data_class[EXIT_TOCHNOG] = EXIT_TOCHNOG;
1385 no_index[EXIT_TOCHNOG] = 1;
1386
1387 strcpy(name[FIXED_IN_SPACE],"fixed_in_space");
1388
1389 strcpy(name[FOLLOW_MATERIAL],"follow_material");
1390
1391 strcpy(name[FORCE],"force");
1392
1393 strcpy(name[FORCE_ELEMENT_EDGE],"force_element_edge");
1394 type[FORCE_ELEMENT_EDGE] = DOUBLE_PRECISION;
1395 data_length[FORCE_ELEMENT_EDGE] = nprinc;
1396 data_class[FORCE_ELEMENT_EDGE] = FORCE;
1397
1398 strcpy(name[FORCE_ELEMENT_EDGE_FACTOR],"force_element_edge_factor");
1399 type[FORCE_ELEMENT_EDGE_FACTOR] = DOUBLE_PRECISION;
1400 data_length[FORCE_ELEMENT_EDGE_FACTOR] = DATA_ITEM_SIZE;
1401 fixed_length[FORCE_ELEMENT_EDGE_FACTOR] = 0;
1402 data_class[FORCE_ELEMENT_EDGE_FACTOR] = FORCE;
1403 data_required[FORCE_ELEMENT_EDGE_FACTOR] = FORCE_ELEMENT_EDGE;
1404
1405 strcpy(name[FORCE_ELEMENT_EDGE_GEOMETRY],"force_element_edge_geometry");
1406 type[FORCE_ELEMENT_EDGE_GEOMETRY] = INTEGER;
1407 data_length[FORCE_ELEMENT_EDGE_GEOMETRY] = DATA_ITEM_SIZE;
1408 fixed_length[FORCE_ELEMENT_EDGE_GEOMETRY] = 0;
1409 data_class[FORCE_ELEMENT_EDGE_GEOMETRY] = FORCE;
1410 data_required[FORCE_ELEMENT_EDGE_GEOMETRY] = FORCE_ELEMENT_EDGE;
1411
1412 strcpy(name[FORCE_ELEMENT_EDGE_SINE],"force_element_edge_sine");
1413 type[FORCE_ELEMENT_EDGE_SINE] = DOUBLE_PRECISION;
1414 data_length[FORCE_ELEMENT_EDGE_SINE] = DATA_ITEM_SIZE;
1415 fixed_length[FORCE_ELEMENT_EDGE_SINE] = 0;
1416 data_class[FORCE_ELEMENT_EDGE_SINE] = FORCE;
1417 data_required[FORCE_ELEMENT_EDGE_SINE] = FORCE_ELEMENT_EDGE;
1418
1419 strcpy(name[FORCE_ELEMENT_EDGE_TIME],"force_element_edge_time");
1420 type[FORCE_ELEMENT_EDGE_TIME] = DOUBLE_PRECISION;
1421 data_length[FORCE_ELEMENT_EDGE_TIME] = DATA_ITEM_SIZE;
1422 fixed_length[FORCE_ELEMENT_EDGE_TIME] = 0;
1423 data_class[FORCE_ELEMENT_EDGE_TIME] = FORCE;
1424 data_required[FORCE_ELEMENT_EDGE_TIME] = FORCE_ELEMENT_EDGE;
1425
1426 strcpy(name[FORCE_ELEMENT_EDGE_TIME_FILE],"force_element_edge_time_file");
1427 type[FORCE_ELEMENT_EDGE_TIME_FILE] = INTEGER;
1428 data_length[FORCE_ELEMENT_EDGE_TIME_FILE] = 1;
1429 data_class[FORCE_ELEMENT_EDGE_TIME_FILE] = FORCE_ELEMENT_EDGE;
1430
1431 strcpy(name[FORCE_ELEMENT_EDGE_NORMAL],"force_element_edge_normal");
1432 type[FORCE_ELEMENT_EDGE_NORMAL] = DOUBLE_PRECISION;
1433 data_length[FORCE_ELEMENT_EDGE_NORMAL] = 1;
1434 data_class[FORCE_ELEMENT_EDGE_NORMAL] = FORCE;
1435
1436 strcpy(name[FORCE_ELEMENT_EDGE_NORMAL_FACTOR],"force_element_edge_normal_factor");
1437 type[FORCE_ELEMENT_EDGE_NORMAL_FACTOR] = DOUBLE_PRECISION;
1438 data_length[FORCE_ELEMENT_EDGE_NORMAL_FACTOR] = DATA_ITEM_SIZE;
1439 fixed_length[FORCE_ELEMENT_EDGE_NORMAL_FACTOR] = 0;
1440 data_class[FORCE_ELEMENT_EDGE_NORMAL_FACTOR] = FORCE;
1441 data_required[FORCE_ELEMENT_EDGE_NORMAL_FACTOR] = FORCE_ELEMENT_EDGE_NORMAL;
1442
1443 strcpy(name[FORCE_ELEMENT_EDGE_NORMAL_GEOMETRY],"force_element_edge_normal_geometry");
1444 type[FORCE_ELEMENT_EDGE_NORMAL_GEOMETRY] = INTEGER;
1445 data_length[FORCE_ELEMENT_EDGE_NORMAL_GEOMETRY] = 2;
1446 fixed_length[FORCE_ELEMENT_EDGE_NORMAL_GEOMETRY] = 0;
1447 data_class[FORCE_ELEMENT_EDGE_NORMAL_GEOMETRY] = FORCE;
1448 data_required[FORCE_ELEMENT_EDGE_NORMAL_GEOMETRY] = FORCE_ELEMENT_EDGE_NORMAL;
1449
1450 strcpy(name[FORCE_ELEMENT_EDGE_NORMAL_SINE],"force_element_edge_normal_sine");
1451 type[FORCE_ELEMENT_EDGE_NORMAL_SINE] = DOUBLE_PRECISION;
1452 data_length[FORCE_ELEMENT_EDGE_NORMAL_SINE] = DATA_ITEM_SIZE;
1453 fixed_length[FORCE_ELEMENT_EDGE_NORMAL_SINE] = 0;
1454 data_class[FORCE_ELEMENT_EDGE_NORMAL_SINE] = FORCE;
1455 data_required[FORCE_ELEMENT_EDGE_NORMAL_SINE] = FORCE_ELEMENT_EDGE_NORMAL;
1456
1457 strcpy(name[FORCE_ELEMENT_EDGE_NORMAL_TIME],"force_element_edge_normal_time");
1458 type[FORCE_ELEMENT_EDGE_NORMAL_TIME] = DOUBLE_PRECISION;
1459 data_length[FORCE_ELEMENT_EDGE_NORMAL_TIME] = DATA_ITEM_SIZE;
1460 fixed_length[FORCE_ELEMENT_EDGE_NORMAL_TIME] = 0;
1461 data_class[FORCE_ELEMENT_EDGE_NORMAL_TIME] = FORCE;
1462 data_required[FORCE_ELEMENT_EDGE_NORMAL_TIME] = FORCE_ELEMENT_EDGE_NORMAL;
1463
1464 strcpy(name[FORCE_ELEMENT_EDGE_WATER],"force_element_edge_water");
1465 type[FORCE_ELEMENT_EDGE_WATER] = DOUBLE_PRECISION;
1466 if ( ndim==2 )
1467 data_length[FORCE_ELEMENT_EDGE_WATER] = 4;
1468 else if ( ndim==3 )
1469 data_length[FORCE_ELEMENT_EDGE_WATER] = 5;
1470 data_class[FORCE_ELEMENT_EDGE_WATER] = FORCE;
1471
1472 strcpy(name[FORCE_ELEMENT_EDGE_WATER_GEOMETRY],"force_element_edge_water_geometry");
1473 type[FORCE_ELEMENT_EDGE_WATER_GEOMETRY] = INTEGER;
1474 data_length[FORCE_ELEMENT_EDGE_WATER_GEOMETRY] = 2;
1475 fixed_length[FORCE_ELEMENT_EDGE_WATER_GEOMETRY] = 0;
1476 data_class[FORCE_ELEMENT_EDGE_WATER_GEOMETRY] = FORCE;
1477 data_required[FORCE_ELEMENT_EDGE_WATER_GEOMETRY] = FORCE_ELEMENT_EDGE_WATER;
1478
1479 strcpy(name[FORCE_ELEMENT_EDGE_WATER_TIME],"force_element_edge_water_time");
1480 type[FORCE_ELEMENT_EDGE_WATER_TIME] = DOUBLE_PRECISION;
1481 data_length[FORCE_ELEMENT_EDGE_WATER_TIME] = DATA_ITEM_SIZE;
1482 fixed_length[FORCE_ELEMENT_EDGE_WATER_TIME] = 0;
1483 data_class[FORCE_ELEMENT_EDGE_WATER_TIME] = FORCE;
1484 data_required[FORCE_ELEMENT_EDGE_WATER_TIME] = FORCE_ELEMENT_EDGE_WATER;
1485
1486 strcpy(name[FORCE_ELEMENT_VOLUME],"force_element_volume");
1487 type[FORCE_ELEMENT_VOLUME] = DOUBLE_PRECISION;
1488 data_length[FORCE_ELEMENT_VOLUME] = nprinc;
1489 version_all[FORCE_ELEMENT_VOLUME] = 1;
1490 data_class[FORCE_ELEMENT_VOLUME] = FORCE;
1491
1492 strcpy(name[FORCE_ELEMENT_VOLUME_FACTOR],"force_element_volume_factor");
1493 type[FORCE_ELEMENT_VOLUME_FACTOR] = DOUBLE_PRECISION;
1494 data_length[FORCE_ELEMENT_VOLUME_FACTOR] = DATA_ITEM_SIZE;
1495 fixed_length[FORCE_ELEMENT_VOLUME_FACTOR] = 0;
1496 data_class[FORCE_ELEMENT_VOLUME_FACTOR] = FORCE;
1497 data_required[FORCE_ELEMENT_VOLUME_FACTOR] = FORCE_ELEMENT_VOLUME;
1498
1499 strcpy(name[FORCE_ELEMENT_VOLUME_GEOMETRY],"force_element_volume_geometry");
1500 type[FORCE_ELEMENT_VOLUME_GEOMETRY] = INTEGER;
1501 data_length[FORCE_ELEMENT_VOLUME_GEOMETRY] = DATA_ITEM_SIZE;
1502 fixed_length[FORCE_ELEMENT_VOLUME_GEOMETRY] = 0;
1503 data_class[FORCE_ELEMENT_VOLUME_GEOMETRY] = FORCE;
1504 data_required[FORCE_ELEMENT_VOLUME_GEOMETRY] = FORCE_ELEMENT_VOLUME;
1505
1506 strcpy(name[FORCE_ELEMENT_VOLUME_SINE],"force_element_volume_sine");
1507 type[FORCE_ELEMENT_VOLUME_SINE] = DOUBLE_PRECISION;
1508 data_length[FORCE_ELEMENT_VOLUME_SINE] = DATA_ITEM_SIZE;
1509 fixed_length[FORCE_ELEMENT_VOLUME_SINE] = 0;
1510 data_class[FORCE_ELEMENT_VOLUME_SINE] = FORCE;
1511 data_required[FORCE_ELEMENT_VOLUME_SINE] = FORCE_ELEMENT_VOLUME;
1512
1513 strcpy(name[FORCE_ELEMENT_VOLUME_TIME],"force_element_volume_time");
1514 type[FORCE_ELEMENT_VOLUME_TIME] = DOUBLE_PRECISION;
1515 data_length[FORCE_ELEMENT_VOLUME_TIME] = DATA_ITEM_SIZE;
1516 fixed_length[FORCE_ELEMENT_VOLUME_TIME] = 0;
1517 data_class[FORCE_ELEMENT_VOLUME_TIME] = FORCE;
1518 data_required[FORCE_ELEMENT_VOLUME_TIME] = FORCE_ELEMENT_VOLUME;
1519
1520 strcpy(name[FORCE_GRAVITY],"force_gravity");
1521 type[FORCE_GRAVITY] = DOUBLE_PRECISION;
1522 data_length[FORCE_GRAVITY] = ndim;
1523 no_index[FORCE_GRAVITY] = 1;
1524 data_class[FORCE_GRAVITY] = FORCE_GRAVITY;
1525
1526 strcpy(name[FORCE_GRAVITY_TIME],"force_gravity_time");
1527 type[FORCE_GRAVITY_TIME] = DOUBLE_PRECISION;
1528 no_index[FORCE_GRAVITY_TIME] = 1;
1529 data_length[FORCE_GRAVITY_TIME] = DATA_ITEM_SIZE;
1530 fixed_length[FORCE_GRAVITY_TIME] = 0;
1531 data_class[FORCE_GRAVITY_TIME] = FORCE_GRAVITY;
1532 data_required[FORCE_GRAVITY_TIME] = FORCE_GRAVITY;
1533
1534 strcpy(name[FROM],"from");
1535
1536 strcpy(name[FRONT],"front");
1537
1538 strcpy(name[GAUSS],"gauss");
1539
1540 strcpy(name[GEOMETRY],"geometry");
1541
1542 strcpy(name[GEOMETRY_BOUNDA_FACTOR],"geometry_bounda_factor");
1543 type[GEOMETRY_BOUNDA_FACTOR] = DOUBLE_PRECISION;
1544 data_length[GEOMETRY_BOUNDA_FACTOR] = 3;
1545 fixed_length[GEOMETRY_BOUNDA_FACTOR] = 0;
1546 data_class[GEOMETRY_BOUNDA_FACTOR] = GEOMETRY;
1547
1548 strcpy(name[GEOMETRY_BOUNDA_SINE_X],"geometry_bounda_sine_x");
1549 type[GEOMETRY_BOUNDA_SINE_X] = DOUBLE_PRECISION;
1550 data_length[GEOMETRY_BOUNDA_SINE_X] = 2;
1551 data_class[GEOMETRY_BOUNDA_SINE_X] = GEOMETRY;
1552
1553 strcpy(name[GEOMETRY_BOUNDA_SINE_Y],"geometry_bounda_sine_y");
1554 type[GEOMETRY_BOUNDA_SINE_Y] = DOUBLE_PRECISION;
1555 data_length[GEOMETRY_BOUNDA_SINE_Y] = 2;
1556 data_class[GEOMETRY_BOUNDA_SINE_Y] = GEOMETRY;
1557
1558 strcpy(name[GEOMETRY_BOUNDA_SINE_Z],"geometry_bounda_sine_z");
1559 type[GEOMETRY_BOUNDA_SINE_Z] = DOUBLE_PRECISION;
1560 data_length[GEOMETRY_BOUNDA_SINE_Z] = 2;
1561 data_class[GEOMETRY_BOUNDA_SINE_Z] = GEOMETRY;
1562
1563 strcpy(name[GEOMETRY_BRICK],"geometry_brick");
1564 type[GEOMETRY_BRICK] = DOUBLE_PRECISION;
1565 data_length[GEOMETRY_BRICK] = 2*MDIM+1;
1566 data_class[GEOMETRY_BRICK] = GEOMETRY;
1567
1568 strcpy(name[GEOMETRY_CIRCLE],"geometry_circle");
1569 type[GEOMETRY_CIRCLE] = DOUBLE_PRECISION;
1570 data_length[GEOMETRY_CIRCLE] = ndim+2;
1571 data_class[GEOMETRY_CIRCLE] = GEOMETRY;
1572
1573 strcpy(name[GEOMETRY_CIRCLE_SEGMENT],"geometry_circle_segment");
1574 type[GEOMETRY_CIRCLE_SEGMENT] = DOUBLE_PRECISION;
1575 data_length[GEOMETRY_CIRCLE_SEGMENT] = ndim+1+ndim+1;
1576 data_class[GEOMETRY_CIRCLE_SEGMENT] = GEOMETRY;
1577
1578 strcpy(name[GEOMETRY_CIRCLE_SMALLSEGMENT],"geometry_circle_smallsegment");
1579 type[GEOMETRY_CIRCLE_SMALLSEGMENT] = DOUBLE_PRECISION;
1580 data_length[GEOMETRY_CIRCLE_SMALLSEGMENT] = ndim+1+2*ndim+1;
1581 data_class[GEOMETRY_CIRCLE_SMALLSEGMENT] = GEOMETRY;
1582
1583 strcpy(name[GEOMETRY_ELLIPSE],"geometry_ellipse");
1584 type[GEOMETRY_ELLIPSE] = DOUBLE_PRECISION;
1585 data_length[GEOMETRY_ELLIPSE] = ndim+3;
1586 data_class[GEOMETRY_ELLIPSE] = GEOMETRY;
1587
1588 strcpy(name[GEOMETRY_CYLINDER],"geometry_cylinder");
1589 type[GEOMETRY_CYLINDER] = DOUBLE_PRECISION;
1590 data_length[GEOMETRY_CYLINDER] = 8;
1591 data_class[GEOMETRY_CYLINDER] = GEOMETRY;
1592
1593 strcpy(name[GEOMETRY_CYLINDER_SEGMENT],"geometry_cylinder_segment");
1594 type[GEOMETRY_CYLINDER_SEGMENT] = DOUBLE_PRECISION;
1595 data_length[GEOMETRY_CYLINDER_SEGMENT] = ndim+ndim+1+ndim+1;
1596 data_class[GEOMETRY_CYLINDER_SEGMENT] = GEOMETRY;
1597
1598 strcpy(name[GEOMETRY_LINE],"geometry_line");
1599 type[GEOMETRY_LINE] = DOUBLE_PRECISION;
1600 data_length[GEOMETRY_LINE] = 2*ndim+1;
1601 data_class[GEOMETRY_LINE] = GEOMETRY;
1602
1603 strcpy(name[GEOMETRY_NUMBER],"geometry_number");
1604 type[GEOMETRY_NUMBER] = INTEGER;
1605 data_length[GEOMETRY_NUMBER] = 1;
1606 data_class[GEOMETRY_NUMBER] = GEOMETRY;
1607
1608 strcpy(name[GEOMETRY_POINT],"geometry_point");
1609 type[GEOMETRY_POINT] = DOUBLE_PRECISION;
1610 data_length[GEOMETRY_POINT] = ndim+1;
1611 data_class[GEOMETRY_POINT] = GEOMETRY;
1612
1613 strcpy(name[GEOMETRY_POLYNOMIAL],"geometry_polynomial");
1614 type[GEOMETRY_POLYNOMIAL] = DOUBLE_PRECISION;
1615 data_length[GEOMETRY_POLYNOMIAL] = DATA_ITEM_SIZE;
1616 fixed_length[GEOMETRY_POLYNOMIAL] = 0;
1617 data_class[GEOMETRY_POLYNOMIAL] = GEOMETRY;
1618
1619 strcpy(name[GEOMETRY_QUADRILATERAL],"geometry_quadrilateral");
1620 type[GEOMETRY_QUADRILATERAL] = DOUBLE_PRECISION;
1621 data_length[GEOMETRY_QUADRILATERAL] = 4*ndim+1;
1622 data_class[GEOMETRY_QUADRILATERAL] = GEOMETRY;
1623
1624 strcpy(name[GEOMETRY_SET],"geometry_set");
1625 type[GEOMETRY_SET] = INTEGER;
1626 data_length[GEOMETRY_SET] = DATA_ITEM_SIZE;
1627 fixed_length[GEOMETRY_SET] = 0;
1628 data_class[GEOMETRY_SET] = GEOMETRY;
1629
1630 strcpy(name[GEOMETRY_SPHERE],"geometry_sphere");
1631 type[GEOMETRY_SPHERE] = DOUBLE_PRECISION;
1632 data_length[GEOMETRY_SPHERE] = ndim+2;
1633 data_class[GEOMETRY_SPHERE] = GEOMETRY;
1634
1635 strcpy(name[GEOMETRY_SPHERE_SEGMENT],"geometry_sphere_segment");
1636 type[GEOMETRY_SPHERE_SEGMENT] = DOUBLE_PRECISION;
1637 data_length[GEOMETRY_SPHERE_SEGMENT] = ndim+1+ndim+1;
1638 data_class[GEOMETRY_SPHERE_SEGMENT] = GEOMETRY;
1639
1640 strcpy(name[GEOMETRY_TRIANGLE],"geometry_triangle");
1641 type[GEOMETRY_TRIANGLE] = DOUBLE_PRECISION;
1642 data_length[GEOMETRY_TRIANGLE] = 3*ndim+1;
1643 data_class[GEOMETRY_TRIANGLE] = GEOMETRY;
1644
1645 strcpy(name[GEOMETRY_TRIANGLE_EPSISO],"geometry_triangle_epsiso");
1646 type[GEOMETRY_TRIANGLE_EPSISO] = DOUBLE_PRECISION;
1647 data_length[GEOMETRY_TRIANGLE_EPSISO] = 1;
1648 data_class[GEOMETRY_TRIANGLE_EPSISO] = GEOMETRY;
1649
1650 strcpy(name[GENERALIZED],"generalized");
1651
1652 strcpy(name[GET],"get");
1653
1654 strcpy(name[GLOBAL_ELEMENTS],"global_elements");
1655 type[GLOBAL_ELEMENTS] = INTEGER;
1656 data_length[GLOBAL_ELEMENTS] = 1;
1657 data_class[GLOBAL_ELEMENTS] = GLOBAL_ELEMENTS;
1658 no_index[GLOBAL_ELEMENTS] = 1;
1659 print_only[GLOBAL_ELEMENTS] = 1;
1660
1661 strcpy(name[GLOBAL_MASS],"global_mass");
1662 type[GLOBAL_MASS] = DOUBLE_PRECISION;
1663 data_length[GLOBAL_MASS] = 1;
1664 data_class[GLOBAL_MASS] = GLOBAL_MASS;
1665 no_index[GLOBAL_MASS] = 1;
1666 print_only[GLOBAL_MASS] = 1;
1667
1668 strcpy(name[GLOBAL_NODES],"global_nodes");
1669 type[GLOBAL_NODES] = INTEGER;
1670 data_length[GLOBAL_NODES] = 1;
1671 data_class[GLOBAL_NODES] = GLOBAL_NODES;
1672 no_index[GLOBAL_NODES] = 1;
1673 print_only[GLOBAL_NODES] = 1;
1674
1675 strcpy(name[GLOBAL_POINT_MATERI_DIFFUSION_LOST],"global_point_materi_diffusion_lost");
1676 type[GLOBAL_POINT_MATERI_DIFFUSION_LOST] = INTEGER;
1677 data_length[GLOBAL_POINT_MATERI_DIFFUSION_LOST] = 1;
1678 no_index[GLOBAL_POINT_MATERI_DIFFUSION_LOST] = 1;
1679
1680 strcpy(name[GLOBAL_POINT_MATERI_DIFFUSION_TOTAL],"global_point_materi_diffusion_total");
1681 type[GLOBAL_POINT_MATERI_DIFFUSION_TOTAL] = INTEGER;
1682 data_length[GLOBAL_POINT_MATERI_DIFFUSION_TOTAL] = 1;
1683 no_index[GLOBAL_POINT_MATERI_DIFFUSION_TOTAL] = 1;
1684
1685 strcpy(name[GLOBAL_SOLVER_ITERATIONS],"global_solver_iterations");
1686 type[GLOBAL_SOLVER_ITERATIONS] = INTEGER;
1687 data_length[GLOBAL_SOLVER_ITERATIONS] = 1;
1688 data_class[GLOBAL_SOLVER_ITERATIONS] = GLOBAL_SOLVER_ITERATIONS;
1689 no_index[GLOBAL_SOLVER_ITERATIONS] = 1;
1690 print_only[GLOBAL_SOLVER_ITERATIONS] = 1;
1691
1692 strcpy(name[GLOBAL_SOLVER_ERROR],"global_solver_error");
1693 type[GLOBAL_SOLVER_ERROR] = DOUBLE_PRECISION;
1694 data_length[GLOBAL_SOLVER_ERROR] = 1;
1695 data_class[GLOBAL_SOLVER_ERROR] = GLOBAL_SOLVER_ERROR;
1696 no_index[GLOBAL_SOLVER_ERROR] = 1;
1697 print_only[GLOBAL_SOLVER_ERROR] = 1;
1698
1699 strcpy(name[GLOBAL_STRAINENERGY],"global_strainenergy");
1700 type[GLOBAL_STRAINENERGY] = DOUBLE_PRECISION;
1701 data_length[GLOBAL_STRAINENERGY] = 1;
1702 data_class[GLOBAL_STRAINENERGY] = GLOBAL_STRAINENERGY;
1703 no_index[GLOBAL_STRAINENERGY] = 1;
1704 print_only[GLOBAL_STRAINENERGY] = 1;
1705
1706 strcpy(name[GLOBAL_UNKNOWN_AVERAGE],"global_unknown_average");
1707 type[GLOBAL_UNKNOWN_AVERAGE] = DOUBLE_PRECISION;
1708 data_length[GLOBAL_UNKNOWN_AVERAGE] = nuknwn;
1709 data_class[GLOBAL_UNKNOWN_AVERAGE] = GLOBAL_UNKNOWN_AVERAGE;
1710 no_index[GLOBAL_UNKNOWN_AVERAGE] = 1;
1711 print_only[GLOBAL_UNKNOWN_AVERAGE] = 1;
1712
1713 strcpy(name[GLOBAL_UNKNOWN_MIN],"global_unknown_min");
1714 type[GLOBAL_UNKNOWN_MIN] = DOUBLE_PRECISION;
1715 data_length[GLOBAL_UNKNOWN_MIN] = nuknwn;
1716 data_class[GLOBAL_UNKNOWN_MIN] = GLOBAL_UNKNOWN_MIN;
1717 no_index[GLOBAL_UNKNOWN_MIN] = 1;
1718 print_only[GLOBAL_UNKNOWN_MIN] = 1;
1719
1720 strcpy(name[GLOBAL_UNKNOWN_MAX],"global_unknown_max");
1721 type[GLOBAL_UNKNOWN_MAX] = DOUBLE_PRECISION;
1722 data_length[GLOBAL_UNKNOWN_MAX] = nuknwn;
1723 data_class[GLOBAL_UNKNOWN_MAX] = GLOBAL_UNKNOWN_MAX;
1724 no_index[GLOBAL_UNKNOWN_MAX] = 1;
1725 print_only[GLOBAL_UNKNOWN_MAX] = 1;
1726
1727 strcpy(name[GLOBAL_UNKNOWN_NUMBER],"global_unknown_number");
1728 type[GLOBAL_UNKNOWN_NUMBER] = INTEGER;
1729 data_length[GLOBAL_UNKNOWN_NUMBER] = 1;
1730 data_class[GLOBAL_UNKNOWN_NUMBER] = GLOBAL_UNKNOWN_NUMBER;
1731 no_index[GLOBAL_UNKNOWN_NUMBER] = 1;
1732 print_only[GLOBAL_UNKNOWN_NUMBER] = 1;
1733
1734 strcpy(name[GLOBAL_UNKNOWN_SUM],"global_unknown_sum");
1735 type[GLOBAL_UNKNOWN_SUM] = DOUBLE_PRECISION;
1736 data_length[GLOBAL_UNKNOWN_SUM] = nuknwn;
1737 data_class[GLOBAL_UNKNOWN_SUM] = GLOBAL_UNKNOWN_SUM;
1738 no_index[GLOBAL_UNKNOWN_SUM] = 1;
1739 print_only[GLOBAL_UNKNOWN_SUM] = 1;
1740
1741 strcpy(name[GLOBAL_VOLUME],"global_volume");
1742 type[GLOBAL_VOLUME] = DOUBLE_PRECISION;
1743 data_length[GLOBAL_VOLUME] = 1;
1744 data_class[GLOBAL_VOLUME] = GLOBAL_VOLUME;
1745 no_index[GLOBAL_VOLUME] = 1;
1746 print_only[GLOBAL_VOLUME] = 1;
1747
1748 strcpy(name[GMRES],"gmres");
1749
1750 strcpy(name[GROUND],"ground");
1751
1752 strcpy(name[GROUNDFLOW],"groundflow");
1753
1754 strcpy(name[GROUNDFLOW_ADDTOPRESSURE],"groundflow_addtopressure");
1755 type[GROUNDFLOW_ADDTOPRESSURE] = DOUBLE_PRECISION;
1756 data_length[GROUNDFLOW_ADDTOPRESSURE] = 1;
1757 no_index[GROUNDFLOW_ADDTOPRESSURE] = 1;
1758 data_class[GROUNDFLOW_ADDTOPRESSURE] = GROUNDFLOW;
1759
1760 strcpy(name[GROUNDFLOW_DENSITY],"groundflow_density");
1761 type[GROUNDFLOW_DENSITY] = DOUBLE_PRECISION;
1762 data_length[GROUNDFLOW_DENSITY] = 1;
1763 no_index[GROUNDFLOW_DENSITY] = 1;
1764 data_class[GROUNDFLOW_DENSITY] = GROUNDFLOW;
1765
1766 strcpy(name[GROUNDFLOW_PHREATICLEVEL],"groundflow_phreaticlevel");
1767 type[GROUNDFLOW_PHREATICLEVEL] = DOUBLE_PRECISION;
1768 data_length[GROUNDFLOW_PHREATICLEVEL] = DATA_ITEM_SIZE;
1769 fixed_length[GROUNDFLOW_PHREATICLEVEL] = 0;
1770 no_index[GROUNDFLOW_PHREATICLEVEL] = 1;
1771 data_class[GROUNDFLOW_PHREATICLEVEL] = GROUNDFLOW;
1772
1773 strcpy(name[GROUNDFLOW_PHREATICLEVEL_N],"groundflow_phreaticlevel_n");
1774 type[GROUNDFLOW_PHREATICLEVEL_N] = INTEGER;
1775 data_length[GROUNDFLOW_PHREATICLEVEL_N] = 2;
1776 no_index[GROUNDFLOW_PHREATICLEVEL_N] = 1;
1777 data_class[GROUNDFLOW_PHREATICLEVEL_N] = GROUNDFLOW;
1778 data_required[GROUNDFLOW_PHREATICLEVEL_N] = GROUNDFLOW_PHREATICLEVEL;
1779
1780 strcpy(name[GROUNDFLOW_PHREATICLEVEL_BOUNDA],"groundflow_phreaticlevel_bounda");
1781 type[GROUNDFLOW_PHREATICLEVEL_BOUNDA] = INTEGER;
1782 data_length[GROUNDFLOW_PHREATICLEVEL_BOUNDA] = 1;
1783 no_index[GROUNDFLOW_PHREATICLEVEL_BOUNDA] = 1;
1784 data_class[GROUNDFLOW_PHREATICLEVEL_BOUNDA] = GROUNDFLOW;
1785 data_required[GROUNDFLOW_PHREATICLEVEL_BOUNDA] = GROUNDFLOW_PHREATICLEVEL;
1786
1787 strcpy(name[GROUNDFLOW_PHREATICLEVEL_MINIMUM],"groundflow_phreaticlevel_minimum");
1788 type[GROUNDFLOW_PHREATICLEVEL_MINIMUM] = DOUBLE_PRECISION;
1789 data_length[GROUNDFLOW_PHREATICLEVEL_MINIMUM] = 1;
1790 no_index[GROUNDFLOW_PHREATICLEVEL_MINIMUM] = 1;
1791 data_class[GROUNDFLOW_PHREATICLEVEL_MINIMUM] = GROUNDFLOW;
1792
1793 strcpy(name[GROUNDFLOW_PRESSURE],"groundflow_pressure");
1794
1795 strcpy(name[GROUNDFLOW_PRESSURE_ATMOSPHERIC],"groundflow_pressure_atmospheric");
1796 type[GROUNDFLOW_PRESSURE_ATMOSPHERIC] = DOUBLE_PRECISION;
1797 data_length[GROUNDFLOW_PRESSURE_ATMOSPHERIC] = 1;
1798 no_index[GROUNDFLOW_PRESSURE_ATMOSPHERIC] = 1;
1799 data_class[GROUNDFLOW_PRESSURE_ATMOSPHERIC] = GROUNDFLOW;
1800
1801 strcpy(name[GROUNDFLOW_VELOCITY],"groundflow_velocity");
1802
1803 strcpy(name[GROUP_AXISYMMETRIC],"group_axisymmetric");
1804 type[GROUP_AXISYMMETRIC] = INTEGER;
1805 data_length[GROUP_AXISYMMETRIC] = 1;
1806 data_class[GROUP_AXISYMMETRIC] = GROUP_AXISYMMETRIC;
1807 data_required[GROUP_AXISYMMETRIC] = GROUP_TYPE;
1808
1809 strcpy(name[GROUP_BEAM_INERTIA],"group_beam_inertia");
1810 type[GROUP_BEAM_INERTIA] = DOUBLE_PRECISION;
1811 data_length[GROUP_BEAM_INERTIA] = 1;
1812 data_class[GROUP_BEAM_INERTIA] = BEAM;
1813 data_required[GROUP_BEAM_INERTIA] = GROUP_TYPE;
1814
1815 strcpy(name[GROUP_BEAM_MEMORY],"group_beam_memory");
1816 type[GROUP_BEAM_MEMORY] = INTEGER;
1817 data_length[GROUP_BEAM_MEMORY] = 1;
1818 data_class[GROUP_BEAM_MEMORY] = BEAM;
1819 data_required[GROUP_BEAM_MEMORY] = GROUP_TYPE;
1820
1821 strcpy(name[GROUP_BEAM_PLANE],"group_beam_plane");
1822 type[GROUP_BEAM_PLANE] = INTEGER;
1823 data_length[GROUP_BEAM_PLANE] = 2;
1824 data_class[GROUP_BEAM_PLANE] = BEAM;
1825 data_required[GROUP_BEAM_PLANE] = GROUP_TYPE;
1826
1827 strcpy(name[GROUP_BEAM_YOUNG],"group_beam_young");
1828 type[GROUP_BEAM_YOUNG] = DOUBLE_PRECISION;
1829 data_length[GROUP_BEAM_YOUNG] = 1;
1830 data_class[GROUP_BEAM_YOUNG] = BEAM;
1831 data_required[GROUP_BEAM_YOUNG] = GROUP_TYPE;
1832
1833 strcpy(name[GROUP_CONDIF_ABSORPTION],"group_condif_absorption");
1834 type[GROUP_CONDIF_ABSORPTION] = DOUBLE_PRECISION;
1835 data_length[GROUP_CONDIF_ABSORPTION] = 1;
1836 data_class[GROUP_CONDIF_ABSORPTION] = CONDIF;
1837 data_required[GROUP_CONDIF_ABSORPTION] = GROUP_TYPE;
1838
1839 strcpy(name[GROUP_CONDIF_DENSITY],"group_condif_density");
1840 type[GROUP_CONDIF_DENSITY] = DOUBLE_PRECISION;
1841 data_length[GROUP_CONDIF_DENSITY] = 1;
1842 data_class[GROUP_CONDIF_DENSITY] = CONDIF;
1843 data_required[GROUP_CONDIF_DENSITY] = GROUP_TYPE;
1844
1845 strcpy(name[GROUP_CONDIF_CAPACITY],"group_condif_capacity");
1846 type[GROUP_CONDIF_CAPACITY] = DOUBLE_PRECISION;
1847 data_length[GROUP_CONDIF_CAPACITY] = 1;
1848 data_class[GROUP_CONDIF_CAPACITY] = CONDIF;
1849 data_required[GROUP_CONDIF_CAPACITY] = GROUP_TYPE;
1850
1851 strcpy(name[GROUP_CONDIF_FLOW],"group_condif_flow");
1852 type[GROUP_CONDIF_FLOW] = DOUBLE_PRECISION;
1853 data_length[GROUP_CONDIF_FLOW] = ndim;
1854 data_class[GROUP_CONDIF_FLOW] = CONDIF;
1855 data_required[GROUP_CONDIF_FLOW] = GROUP_TYPE;
1856
1857 strcpy(name[GROUP_CONDIF_CONDUCTIVITY],"group_condif_conductivity");
1858 type[GROUP_CONDIF_CONDUCTIVITY] = DOUBLE_PRECISION;
1859 data_length[GROUP_CONDIF_CONDUCTIVITY] = 1;
1860 data_class[GROUP_CONDIF_CONDUCTIVITY] = CONDIF;
1861 data_required[GROUP_CONDIF_CONDUCTIVITY] = GROUP_TYPE;
1862
1863 strcpy(name[GROUP_CONTACTSPRING_COHESION],"group_contactspring_cohesion");
1864 type[GROUP_CONTACTSPRING_COHESION] = DOUBLE_PRECISION;
1865 data_length[GROUP_CONTACTSPRING_COHESION] = 1;
1866 data_class[GROUP_CONTACTSPRING_COHESION] = CONTACTSPRING;
1867 data_required[GROUP_CONTACTSPRING_COHESION] = GROUP_TYPE;
1868
1869 strcpy(name[GROUP_CONTACTSPRING_DIRECTION],"group_contactspring_direction");
1870 type[GROUP_CONTACTSPRING_DIRECTION] = DOUBLE_PRECISION;
1871 data_length[GROUP_CONTACTSPRING_DIRECTION] = MDIM;
1872 data_class[GROUP_CONTACTSPRING_DIRECTION] = CONTACTSPRING;
1873 data_required[GROUP_CONTACTSPRING_DIRECTION] = GROUP_TYPE;
1874
1875 strcpy(name[GROUP_CONTACTSPRING_FRICTION],"group_contactspring_friction");
1876 type[GROUP_CONTACTSPRING_FRICTION] = DOUBLE_PRECISION;
1877 data_length[GROUP_CONTACTSPRING_FRICTION] = 1;
1878 data_class[GROUP_CONTACTSPRING_FRICTION] = CONTACTSPRING;
1879 data_required[GROUP_CONTACTSPRING_FRICTION] = GROUP_TYPE;
1880
1881 strcpy(name[GROUP_CONTACTSPRING_FRICTION_AUTOMATIC],"group_contactspring_friction_automatic");
1882 type[GROUP_CONTACTSPRING_FRICTION_AUTOMATIC] = INTEGER;
1883 data_length[GROUP_CONTACTSPRING_FRICTION_AUTOMATIC] = 1;
1884 data_class[GROUP_CONTACTSPRING_FRICTION_AUTOMATIC] = CONTACTSPRING;
1885 data_required[GROUP_CONTACTSPRING_FRICTION_AUTOMATIC] = GROUP_TYPE;
1886
1887 strcpy(name[GROUP_CONTACTSPRING_MEMORY],"group_contactspring_memory");
1888 type[GROUP_CONTACTSPRING_MEMORY] = INTEGER;
1889 data_length[GROUP_CONTACTSPRING_MEMORY] = 1;
1890 data_class[GROUP_CONTACTSPRING_MEMORY] = CONTACTSPRING;
1891 data_required[GROUP_CONTACTSPRING_MEMORY] = GROUP_TYPE;
1892
1893 strcpy(name[GROUP_CONTACTSPRING_STIFFNESS],"group_contactspring_stiffness");
1894 type[GROUP_CONTACTSPRING_STIFFNESS] = DOUBLE_PRECISION;
1895 data_length[GROUP_CONTACTSPRING_STIFFNESS] = 2;
1896 data_class[GROUP_CONTACTSPRING_STIFFNESS] = CONTACTSPRING;
1897 data_required[GROUP_CONTACTSPRING_STIFFNESS] = GROUP_TYPE;
1898
1899 strcpy(name[GROUP_GROUNDFLOW_CAPACITY],"group_groundflow_capacity");
1900 type[GROUP_GROUNDFLOW_CAPACITY] = DOUBLE_PRECISION;
1901 data_length[GROUP_GROUNDFLOW_CAPACITY] = 1;
1902 data_class[GROUP_GROUNDFLOW_CAPACITY] = GROUNDFLOW;
1903 data_required[GROUP_GROUNDFLOW_CAPACITY] = GROUP_TYPE;
1904
1905 strcpy(name[GROUP_GROUNDFLOW_CAPACITY_NONLINEAR_METHOD],"group_groundflow_capacity_nonlinear_method");
1906 type[GROUP_GROUNDFLOW_CAPACITY_NONLINEAR_METHOD] = INTEGER;
1907 data_length[GROUP_GROUNDFLOW_CAPACITY_NONLINEAR_METHOD] = 1;
1908 data_class[GROUP_GROUNDFLOW_CAPACITY_NONLINEAR_METHOD] = GROUNDFLOW;
1909 data_required[GROUP_GROUNDFLOW_CAPACITY_NONLINEAR_METHOD] = GROUP_TYPE;
1910
1911 strcpy(name[GROUP_GROUNDFLOW_CAPACITY_NONLINEAR_PARAMETERS],"group_groundflow_capacity_nonlinear_parameters");
1912 type[GROUP_GROUNDFLOW_CAPACITY_NONLINEAR_PARAMETERS] = DOUBLE_PRECISION;
1913 data_length[GROUP_GROUNDFLOW_CAPACITY_NONLINEAR_PARAMETERS] = DATA_ITEM_SIZE;
1914 data_class[GROUP_GROUNDFLOW_CAPACITY_NONLINEAR_PARAMETERS] = GROUNDFLOW;
1915 data_required[GROUP_GROUNDFLOW_CAPACITY_NONLINEAR_PARAMETERS] = GROUP_TYPE;
1916 fixed_length[GROUP_GROUNDFLOW_CAPACITY_NONLINEAR_PARAMETERS] = 0;
1917
1918 strcpy(name[GROUP_GROUNDFLOW_MATERIDIVERGENCE],"group_groundflow_materidivergence");
1919 type[GROUP_GROUNDFLOW_MATERIDIVERGENCE] = INTEGER;
1920 data_length[GROUP_GROUNDFLOW_MATERIDIVERGENCE] = 1;
1921 data_class[GROUP_GROUNDFLOW_MATERIDIVERGENCE] = GROUNDFLOW;
1922 data_required[GROUP_GROUNDFLOW_MATERIDIVERGENCE] = GROUP_TYPE;
1923
1924 strcpy(name[GROUP_GROUNDFLOW_PERMEABILITY],"group_groundflow_permeability");
1925 type[GROUP_GROUNDFLOW_PERMEABILITY] = DOUBLE_PRECISION;
1926 data_length[GROUP_GROUNDFLOW_PERMEABILITY] = ndim;
1927 data_class[GROUP_GROUNDFLOW_PERMEABILITY] = GROUNDFLOW;
1928 data_required[GROUP_GROUNDFLOW_PERMEABILITY] = GROUP_TYPE;
1929
1930 strcpy(name[GROUP_GROUNDFLOW_PERMEABILITY_NONLINEAR_METHOD],"group_groundflow_permeability_nonlinear_method");
1931 type[GROUP_GROUNDFLOW_PERMEABILITY_NONLINEAR_METHOD] = INTEGER;
1932 data_length[GROUP_GROUNDFLOW_PERMEABILITY_NONLINEAR_METHOD] = 1;
1933 data_class[GROUP_GROUNDFLOW_PERMEABILITY_NONLINEAR_METHOD] = GROUNDFLOW;
1934 data_required[GROUP_GROUNDFLOW_PERMEABILITY_NONLINEAR_METHOD] = GROUP_TYPE;
1935
1936 strcpy(name[GROUP_GROUNDFLOW_PERMEABILITY_NONLINEAR_PARAMETERS],"group_groundflow_permeability_nonlinear_parameters");
1937 type[GROUP_GROUNDFLOW_PERMEABILITY_NONLINEAR_PARAMETERS] = DOUBLE_PRECISION;
1938 data_length[GROUP_GROUNDFLOW_PERMEABILITY_NONLINEAR_PARAMETERS] = DATA_ITEM_SIZE;
1939 data_class[GROUP_GROUNDFLOW_PERMEABILITY_NONLINEAR_PARAMETERS] = GROUNDFLOW;
1940 data_required[GROUP_GROUNDFLOW_PERMEABILITY_NONLINEAR_PARAMETERS] = GROUP_TYPE;
1941 fixed_length[GROUP_GROUNDFLOW_PERMEABILITY_NONLINEAR_PARAMETERS] = 0;
1942
1943 strcpy(name[GROUP_GROUNDFLOW_POROSITY],"group_groundflow_porosity");
1944 type[GROUP_GROUNDFLOW_POROSITY] = DOUBLE_PRECISION;
1945 data_length[GROUP_GROUNDFLOW_POROSITY] = 1;
1946 data_class[GROUP_GROUNDFLOW_POROSITY] = GROUNDFLOW;
1947 data_required[GROUP_GROUNDFLOW_POROSITY] = GROUP_TYPE;
1948
1949 strcpy(name[GROUP_INTEGRATION_METHOD],"group_integration_method");
1950 type[GROUP_INTEGRATION_METHOD] = INTEGER;
1951 data_length[GROUP_INTEGRATION_METHOD] = 1;
1952 version_all[GROUP_INTEGRATION_METHOD] = 1;
1953 data_class[GROUP_INTEGRATION_METHOD] = GROUP_INTEGRATION_METHOD;
1954 data_required[GROUP_INTEGRATION_METHOD] = GROUP_TYPE;
1955
1956 strcpy(name[GROUP_INTEGRATION_POINTS],"group_integration_points");
1957 type[GROUP_INTEGRATION_POINTS] = INTEGER;
1958 data_length[GROUP_INTEGRATION_POINTS] = 1;
1959 version_all[GROUP_INTEGRATION_POINTS] = 1;
1960 data_class[GROUP_INTEGRATION_POINTS] = GROUP_INTEGRATION_POINTS;
1961 data_required[GROUP_INTEGRATION_POINTS] = GROUP_TYPE;
1962
1963 strcpy(name[GROUP_MATERI_ELASTI_CAMCLAY_G],"group_materi_elasti_camclay_g");
1964 type[GROUP_MATERI_ELASTI_CAMCLAY_G] = DOUBLE_PRECISION;
1965 data_length[GROUP_MATERI_ELASTI_CAMCLAY_G] = 1;
1966 data_class[GROUP_MATERI_ELASTI_CAMCLAY_G] = MATERI;
1967 data_required[GROUP_MATERI_ELASTI_CAMCLAY_G] = GROUP_TYPE;
1968
1969 strcpy(name[GROUP_MATERI_ELASTI_CAMCLAY_POISSON],"group_materi_elasti_camclay_poisson");
1970 type[GROUP_MATERI_ELASTI_CAMCLAY_POISSON] = DOUBLE_PRECISION;
1971 data_length[GROUP_MATERI_ELASTI_CAMCLAY_POISSON] = 1;
1972 data_class[GROUP_MATERI_ELASTI_CAMCLAY_POISSON] = MATERI;
1973 data_required[GROUP_MATERI_ELASTI_CAMCLAY_POISSON] = GROUP_TYPE;
1974
1975 strcpy(name[GROUP_MATERI_ELASTI_TSKH],"group_materi_elasti_tskh");
1976 type[GROUP_MATERI_ELASTI_TSKH] = DOUBLE_PRECISION;
1977 data_length[GROUP_MATERI_ELASTI_TSKH] = DATA_ITEM_SIZE;
1978 data_class[GROUP_MATERI_ELASTI_TSKH] = MATERI;
1979 fixed_length[GROUP_MATERI_ELASTI_TSKH] = 0;
1980 data_required[GROUP_MATERI_ELASTI_TSKH] = GROUP_TYPE;
1981
1982 strcpy(name[GROUP_MATERI_DAMAGE_MAZARS],"group_materi_damage_mazars");
1983 type[GROUP_MATERI_DAMAGE_MAZARS] = DOUBLE_PRECISION;
1984 data_length[GROUP_MATERI_DAMAGE_MAZARS] = 6;
1985 data_required[GROUP_MATERI_DAMAGE_MAZARS] = GROUP_TYPE;
1986
1987 strcpy(name[GROUP_MATERI_DAMPING],"group_materi_damping");
1988 type[GROUP_MATERI_DAMPING] = DOUBLE_PRECISION;
1989 data_length[GROUP_MATERI_DAMPING] = 1;
1990 data_required[GROUP_MATERI_DAMPING] = GROUP_TYPE;
1991
1992 strcpy(name[GROUP_MATERI_DENSITY],"group_materi_density");
1993 type[GROUP_MATERI_DENSITY] = DOUBLE_PRECISION;
1994 data_length[GROUP_MATERI_DENSITY] = 1;
1995 data_required[GROUP_MATERI_DENSITY] = GROUP_TYPE;
1996
1997 strcpy(name[GROUP_MATERI_DENSITY_GROUNDFLOW],"group_materi_density_groundflow");
1998 type[GROUP_MATERI_DENSITY_GROUNDFLOW] = DOUBLE_PRECISION;
1999 data_length[GROUP_MATERI_DENSITY_GROUNDFLOW] = 2;
2000 data_required[GROUP_MATERI_DENSITY_GROUNDFLOW] = GROUP_TYPE;
2001
2002 strcpy(name[GROUP_MATERI_ELASTI_COMPRESSIBILITY],"group_materi_elasti_compressibility");
2003 type[GROUP_MATERI_ELASTI_COMPRESSIBILITY] = DOUBLE_PRECISION;
2004 data_length[GROUP_MATERI_ELASTI_COMPRESSIBILITY] = 1;
2005 data_class[GROUP_MATERI_ELASTI_COMPRESSIBILITY] = MATERI;
2006 data_required[GROUP_MATERI_ELASTI_COMPRESSIBILITY] = GROUP_TYPE;
2007
2008 strcpy(name[GROUP_MATERI_ELASTI_LADE],"group_materi_elasti_lade");
2009 type[GROUP_MATERI_ELASTI_LADE] = DOUBLE_PRECISION;
2010 data_length[GROUP_MATERI_ELASTI_LADE] = 3;
2011 data_class[GROUP_MATERI_ELASTI_LADE] = MATERI;
2012 data_required[GROUP_MATERI_ELASTI_LADE] = GROUP_TYPE;
2013
2014 strcpy(name[GROUP_MATERI_ELASTI_POISSON],"group_materi_elasti_poisson");
2015 type[GROUP_MATERI_ELASTI_POISSON] = DOUBLE_PRECISION;
2016 data_length[GROUP_MATERI_ELASTI_POISSON] = 1;
2017 data_class[GROUP_MATERI_ELASTI_POISSON] = MATERI;
2018 data_required[GROUP_MATERI_ELASTI_POISSON] = GROUP_TYPE;
2019
2020 strcpy(name[GROUP_MATERI_ELASTI_SMALLSTRAIN],"group_materi_elasti_smallstrain");
2021 type[GROUP_MATERI_ELASTI_SMALLSTRAIN] = DOUBLE_PRECISION;
2022 data_length[GROUP_MATERI_ELASTI_SMALLSTRAIN] = 6;
2023 data_class[GROUP_MATERI_ELASTI_SMALLSTRAIN] = MATERI;
2024 data_required[GROUP_MATERI_ELASTI_SMALLSTRAIN] = GROUP_TYPE;
2025
2026 strcpy(name[GROUP_MATERI_ELASTI_TRANSVERSE_ISOTROPY],"group_materi_elasti_transverse_isotropy");
2027 type[GROUP_MATERI_ELASTI_TRANSVERSE_ISOTROPY] = DOUBLE_PRECISION;
2028 data_length[GROUP_MATERI_ELASTI_TRANSVERSE_ISOTROPY] = 8;
2029 data_class[GROUP_MATERI_ELASTI_TRANSVERSE_ISOTROPY] = MATERI;
2030 data_required[GROUP_MATERI_ELASTI_TRANSVERSE_ISOTROPY] = GROUP_TYPE;
2031
2032 strcpy(name[GROUP_MATERI_ELASTI_TRANSVERSE_ISOTROPY_GRAHOUL],"group_materi_elasti_transverse_isotropy_grahoul");
2033 type[GROUP_MATERI_ELASTI_TRANSVERSE_ISOTROPY_GRAHOUL] = DOUBLE_PRECISION;
2034 data_length[GROUP_MATERI_ELASTI_TRANSVERSE_ISOTROPY_GRAHOUL] = 1;
2035 data_class[GROUP_MATERI_ELASTI_TRANSVERSE_ISOTROPY_GRAHOUL] = MATERI;
2036 data_required[GROUP_MATERI_ELASTI_TRANSVERSE_ISOTROPY_GRAHOUL] = GROUP_TYPE;
2037
2038 strcpy(name[GROUP_MATERI_ELASTI_VOLUMETRIC_YOUNG_ORDER],"group_materi_elasti_volumetric_young_order");
2039 type[GROUP_MATERI_ELASTI_VOLUMETRIC_YOUNG_ORDER] = INTEGER;
2040 data_length[GROUP_MATERI_ELASTI_VOLUMETRIC_YOUNG_ORDER] = 1;
2041 data_class[GROUP_MATERI_ELASTI_VOLUMETRIC_YOUNG_ORDER] = MATERI;
2042 data_required[GROUP_MATERI_ELASTI_VOLUMETRIC_YOUNG_ORDER] = GROUP_TYPE;
2043
2044 strcpy(name[GROUP_MATERI_ELASTI_VOLUMETRIC_POISSON],"group_materi_elasti_volumetric_poisson");
2045 type[GROUP_MATERI_ELASTI_VOLUMETRIC_POISSON] = DOUBLE_PRECISION;
2046 data_length[GROUP_MATERI_ELASTI_VOLUMETRIC_POISSON] = 1;
2047 data_class[GROUP_MATERI_ELASTI_VOLUMETRIC_POISSON] = MATERI;
2048 data_required[GROUP_MATERI_ELASTI_VOLUMETRIC_POISSON] = GROUP_TYPE;
2049
2050 strcpy(name[GROUP_MATERI_ELASTI_VOLUMETRIC_YOUNG_VALUES],"group_materi_elasti_volumetric_young_values");
2051 type[GROUP_MATERI_ELASTI_VOLUMETRIC_YOUNG_VALUES] = DOUBLE_PRECISION;
2052 data_length[GROUP_MATERI_ELASTI_VOLUMETRIC_YOUNG_VALUES] = DATA_ITEM_SIZE;
2053 data_class[GROUP_MATERI_ELASTI_VOLUMETRIC_YOUNG_VALUES] = MATERI;
2054 fixed_length[GROUP_MATERI_ELASTI_VOLUMETRIC_YOUNG_VALUES] = 0;
2055 data_required[GROUP_MATERI_ELASTI_VOLUMETRIC_YOUNG_VALUES] = GROUP_TYPE;
2056
2057 strcpy(name[GROUP_MATERI_ELASTI_YOUNG],"group_materi_elasti_young");
2058 type[GROUP_MATERI_ELASTI_YOUNG] = DOUBLE_PRECISION;
2059 data_length[GROUP_MATERI_ELASTI_YOUNG] = 1;
2060 data_class[GROUP_MATERI_ELASTI_YOUNG] = MATERI;
2061 data_required[GROUP_MATERI_ELASTI_YOUNG] = GROUP_TYPE;
2062
2063 strcpy(name[GROUP_MATERI_ELASTI_YOUNG_POLYNOMIAL],"group_materi_elasti_young_polynomial");
2064 type[GROUP_MATERI_ELASTI_YOUNG_POLYNOMIAL] = DOUBLE_PRECISION;
2065 data_length[GROUP_MATERI_ELASTI_YOUNG_POLYNOMIAL] = DATA_ITEM_SIZE;
2066 data_class[GROUP_MATERI_ELASTI_YOUNG_POLYNOMIAL] = MATERI;
2067 fixed_length[GROUP_MATERI_ELASTI_YOUNG_POLYNOMIAL] = 0;
2068 data_required[GROUP_MATERI_ELASTI_YOUNG_POLYNOMIAL] = GROUP_TYPE;
2069
2070 strcpy(name[GROUP_MATERI_ELASTI_YOUNG_POWER],"group_materi_elasti_young_power");
2071 type[GROUP_MATERI_ELASTI_YOUNG_POWER] = DOUBLE_PRECISION;
2072 data_length[GROUP_MATERI_ELASTI_YOUNG_POWER] = 3;
2073 data_class[GROUP_MATERI_ELASTI_YOUNG_POWER] = MATERI;
2074 data_required[GROUP_MATERI_ELASTI_YOUNG_POWER] = GROUP_TYPE;
2075
2076 strcpy(name[GROUP_MATERI_ELASTI_YOUNG_STRAINSTRESS],"group_materi_elasti_young_strainstress");
2077 type[GROUP_MATERI_ELASTI_YOUNG_STRAINSTRESS] = DOUBLE_PRECISION;
2078 data_length[GROUP_MATERI_ELASTI_YOUNG_STRAINSTRESS] = DATA_ITEM_SIZE;
2079 data_class[GROUP_MATERI_ELASTI_YOUNG_STRAINSTRESS] = MATERI;
2080 fixed_length[GROUP_MATERI_ELASTI_YOUNG_STRAINSTRESS] = 0;
2081 data_required[GROUP_MATERI_ELASTI_YOUNG_STRAINSTRESS] = GROUP_TYPE;
2082
2083 strcpy(name[GROUP_MATERI_EXPANSION_LINEAR],"group_materi_expansion_linear");
2084 type[GROUP_MATERI_EXPANSION_LINEAR] = DOUBLE_PRECISION;
2085 data_length[GROUP_MATERI_EXPANSION_LINEAR] = 1;
2086 data_class[GROUP_MATERI_EXPANSION_LINEAR] = MATERI;
2087 data_required[GROUP_MATERI_EXPANSION_LINEAR] = GROUP_TYPE;
2088
2089 strcpy(name[GROUP_MATERI_EXPANSION_VOLUME],"group_materi_expansion_volume");
2090 type[GROUP_MATERI_EXPANSION_VOLUME] = DOUBLE_PRECISION;
2091 data_length[GROUP_MATERI_EXPANSION_VOLUME] = 1;
2092 data_class[GROUP_MATERI_EXPANSION_VOLUME] = MATERI;
2093 data_required[GROUP_MATERI_EXPANSION_VOLUME] = GROUP_TYPE;
2094
2095 strcpy(name[GROUP_MATERI_FAILURE_CRUCHING],"group_materi_failure_cruching");
2096 type[GROUP_MATERI_FAILURE_CRUCHING] = DOUBLE_PRECISION;
2097 data_length[GROUP_MATERI_FAILURE_CRUCHING] = 2;
2098 data_class[GROUP_MATERI_FAILURE_CRUCHING] = MATERI;
2099 data_required[GROUP_MATERI_FAILURE_CRUCHING] = GROUP_TYPE;
2100
2101 strcpy(name[GROUP_MATERI_FAILURE_DAMAGE],"group_materi_failure_damage");
2102 type[GROUP_MATERI_FAILURE_DAMAGE] = DOUBLE_PRECISION;
2103 data_length[GROUP_MATERI_FAILURE_DAMAGE] = 2;
2104 data_class[GROUP_MATERI_FAILURE_DAMAGE] = MATERI;
2105 data_required[GROUP_MATERI_FAILURE_DAMAGE] = GROUP_TYPE;
2106
2107 strcpy(name[GROUP_MATERI_FAILURE_PLASTI_KAPPA],"group_materi_failure_plasti_kappa");
2108 type[GROUP_MATERI_FAILURE_PLASTI_KAPPA] = DOUBLE_PRECISION;
2109 data_length[GROUP_MATERI_FAILURE_PLASTI_KAPPA] = 2;
2110 data_class[GROUP_MATERI_FAILURE_PLASTI_KAPPA] = MATERI;
2111 data_required[GROUP_MATERI_FAILURE_PLASTI_KAPPA] = GROUP_TYPE;
2112
2113 strcpy(name[GROUP_MATERI_FAILURE_RUPTURE],"group_materi_failure_rupture");
2114 type[GROUP_MATERI_FAILURE_RUPTURE] = DOUBLE_PRECISION;
2115 data_length[GROUP_MATERI_FAILURE_RUPTURE] = 2;
2116 data_class[GROUP_MATERI_FAILURE_RUPTURE] = MATERI;
2117 data_required[GROUP_MATERI_FAILURE_RUPTURE] = GROUP_TYPE;
2118
2119 strcpy(name[GROUP_MATERI_FAILURE_VOIDFRACTION],"group_materi_failure_voidfraction");
2120 type[GROUP_MATERI_FAILURE_VOIDFRACTION] = DOUBLE_PRECISION;
2121 data_length[GROUP_MATERI_FAILURE_VOIDFRACTION] = 2;
2122 data_class[GROUP_MATERI_FAILURE_VOIDFRACTION] = MATERI;
2123 data_required[GROUP_MATERI_FAILURE_VOIDFRACTION] = GROUP_TYPE;
2124
2125 strcpy(name[GROUP_MATERI_HYPER_BESSELING],"group_materi_hyper_besseling");
2126 type[GROUP_MATERI_HYPER_BESSELING] = DOUBLE_PRECISION;
2127 data_length[GROUP_MATERI_HYPER_BESSELING] = 3;
2128 data_class[GROUP_MATERI_HYPER_BESSELING] = MATERI;
2129 data_required[GROUP_MATERI_HYPER_BESSELING] = GROUP_TYPE;
2130
2131 strcpy(name[GROUP_MATERI_HYPER_BLATZ_KO],"group_materi_hyper_blatz_ko");
2132 type[GROUP_MATERI_HYPER_BLATZ_KO] = DOUBLE_PRECISION;
2133 data_length[GROUP_MATERI_HYPER_BLATZ_KO] = 2;
2134 data_class[GROUP_MATERI_HYPER_BLATZ_KO] = MATERI;
2135 data_required[GROUP_MATERI_HYPER_BLATZ_KO] = GROUP_TYPE;
2136
2137 strcpy(name[GROUP_MATERI_HYPER_MOONEY_RIVLIN],"group_materi_hyper_mooney_rivlin");
2138 type[GROUP_MATERI_HYPER_MOONEY_RIVLIN] = DOUBLE_PRECISION;
2139 data_length[GROUP_MATERI_HYPER_MOONEY_RIVLIN] = 2;
2140 data_class[GROUP_MATERI_HYPER_MOONEY_RIVLIN] = MATERI;
2141 data_required[GROUP_MATERI_HYPER_MOONEY_RIVLIN] = GROUP_TYPE;
2142
2143 strcpy(name[GROUP_MATERI_HYPER_NEOHOOKEAN],"group_materi_hyper_neohookean");
2144 type[GROUP_MATERI_HYPER_NEOHOOKEAN] = DOUBLE_PRECISION;
2145 data_length[GROUP_MATERI_HYPER_NEOHOOKEAN] = 1;
2146 data_class[GROUP_MATERI_HYPER_NEOHOOKEAN] = MATERI;
2147 data_required[GROUP_MATERI_HYPER_NEOHOOKEAN] = GROUP_TYPE;
2148
2149 strcpy(name[GROUP_MATERI_HYPER_REDUCEDPOLYNOMIAL],"group_materi_hyper_reducedpolynomial");
2150 type[GROUP_MATERI_HYPER_REDUCEDPOLYNOMIAL] = DOUBLE_PRECISION;
2151 data_length[GROUP_MATERI_HYPER_REDUCEDPOLYNOMIAL] = DATA_ITEM_SIZE;
2152 data_class[GROUP_MATERI_HYPER_REDUCEDPOLYNOMIAL] = MATERI;
2153 fixed_length[GROUP_MATERI_HYPER_REDUCEDPOLYNOMIAL] = 0;
2154 data_required[GROUP_MATERI_HYPER_REDUCEDPOLYNOMIAL] = GROUP_TYPE;
2155
2156 strcpy(name[GROUP_MATERI_HYPER_STIFFNESS],"group_materi_hyper_stiffness");
2157 type[GROUP_MATERI_HYPER_STIFFNESS] = INTEGER;
2158 data_length[GROUP_MATERI_HYPER_STIFFNESS] = 1;
2159 data_class[GROUP_MATERI_HYPER_STIFFNESS] = MATERI;
2160 data_required[GROUP_MATERI_HYPER_STIFFNESS] = GROUP_TYPE;
2161
2162 strcpy(name[GROUP_MATERI_HYPER_VOLUMETRIC_LINEAR],"group_materi_hyper_volumetric_linear");
2163 type[GROUP_MATERI_HYPER_VOLUMETRIC_LINEAR] = DOUBLE_PRECISION;
2164 data_length[GROUP_MATERI_HYPER_VOLUMETRIC_LINEAR] = 1;
2165 data_class[GROUP_MATERI_HYPER_VOLUMETRIC_LINEAR] = MATERI;
2166 data_required[GROUP_MATERI_HYPER_VOLUMETRIC_LINEAR] = GROUP_TYPE;
2167
2168 strcpy(name[GROUP_MATERI_HYPER_VOLUMETRIC_MURNAGHAN],"group_materi_hyper_volumetric_murnaghan");
2169 type[GROUP_MATERI_HYPER_VOLUMETRIC_MURNAGHAN] = DOUBLE_PRECISION;
2170 data_length[GROUP_MATERI_HYPER_VOLUMETRIC_MURNAGHAN] = 2;
2171 data_class[GROUP_MATERI_HYPER_VOLUMETRIC_MURNAGHAN] = MATERI;
2172 data_required[GROUP_MATERI_HYPER_VOLUMETRIC_MURNAGHAN] = GROUP_TYPE;
2173
2174 strcpy(name[GROUP_MATERI_HYPER_VOLUMETRIC_OGDEN],"group_materi_hyper_volumetric_ogden");
2175 type[GROUP_MATERI_HYPER_VOLUMETRIC_OGDEN] = DOUBLE_PRECISION;
2176 data_length[GROUP_MATERI_HYPER_VOLUMETRIC_OGDEN] = 2;
2177 data_class[GROUP_MATERI_HYPER_VOLUMETRIC_OGDEN] = MATERI;
2178 data_required[GROUP_MATERI_HYPER_VOLUMETRIC_OGDEN] = GROUP_TYPE;
2179
2180 strcpy(name[GROUP_MATERI_HYPER_VOLUMETRIC_POLYNOMIAL],"group_materi_hyper_volumetric_polynomial");
2181 type[GROUP_MATERI_HYPER_VOLUMETRIC_POLYNOMIAL] = DOUBLE_PRECISION;
2182 data_length[GROUP_MATERI_HYPER_VOLUMETRIC_POLYNOMIAL] = DATA_ITEM_SIZE;
2183 data_class[GROUP_MATERI_HYPER_VOLUMETRIC_POLYNOMIAL] = MATERI;
2184 fixed_length[GROUP_MATERI_HYPER_VOLUMETRIC_POLYNOMIAL] = 0;
2185 data_required[GROUP_MATERI_HYPER_VOLUMETRIC_POLYNOMIAL] = GROUP_TYPE;
2186
2187 strcpy(name[GROUP_MATERI_HYPER_VOLUMETRIC_SIMOTAYLOR],"group_materi_hyper_volumetric_simotaylor");
2188 type[GROUP_MATERI_HYPER_VOLUMETRIC_SIMOTAYLOR] = DOUBLE_PRECISION;
2189 data_length[GROUP_MATERI_HYPER_VOLUMETRIC_SIMOTAYLOR] = 1;
2190 data_class[GROUP_MATERI_HYPER_VOLUMETRIC_SIMOTAYLOR] = MATERI;
2191 data_required[GROUP_MATERI_HYPER_VOLUMETRIC_SIMOTAYLOR] = GROUP_TYPE;
2192
2193 strcpy(name[GROUP_MATERI_MAXWELL_CHAIN],"group_materi_maxwell_chain");
2194 type[GROUP_MATERI_MAXWELL_CHAIN] = DOUBLE_PRECISION;
2195 data_length[GROUP_MATERI_MAXWELL_CHAIN] = materi_maxwell_stress*2;
2196 data_class[GROUP_MATERI_MAXWELL_CHAIN] = MATERI;
2197 data_required[GROUP_MATERI_MAXWELL_CHAIN] = GROUP_TYPE;
2198
2199 strcpy(name[GROUP_MATERI_MAXWELL_CHAIN_NONLINEAR],"group_materi_maxwell_chain_nonlinear");
2200 type[GROUP_MATERI_MAXWELL_CHAIN_NONLINEAR] = DOUBLE_PRECISION;
2201 data_length[GROUP_MATERI_MAXWELL_CHAIN_NONLINEAR] = materi_maxwell_stress;
2202 data_class[GROUP_MATERI_MAXWELL_CHAIN_NONLINEAR] = MATERI;
2203 data_required[GROUP_MATERI_MAXWELL_CHAIN_NONLINEAR] = GROUP_TYPE;
2204
2205 strcpy(name[GROUP_MATERI_MEMBRANE],"group_materi_membrane");
2206 type[GROUP_MATERI_MEMBRANE] = INTEGER;
2207 data_length[GROUP_MATERI_MEMBRANE] = 1;
2208 data_class[GROUP_MATERI_MEMBRANE] = MATERI;
2209 data_required[GROUP_MATERI_MEMBRANE] = GROUP_TYPE;
2210
2211 strcpy(name[GROUP_MATERI_MEMORY],"group_materi_memory");
2212 type[GROUP_MATERI_MEMORY] = INTEGER;
2213 data_length[GROUP_MATERI_MEMORY] = 1;
2214 data_class[GROUP_MATERI_MEMORY] = MATERI;
2215 data_required[GROUP_MATERI_MEMORY] = GROUP_TYPE;
2216
2217 strcpy(name[GROUP_MATERI_PLASTI_AITSKH],"group_materi_plasti_aitskh");
2218 type[GROUP_MATERI_PLASTI_AITSKH] = DOUBLE_PRECISION;
2219 data_length[GROUP_MATERI_PLASTI_AITSKH] = DATA_ITEM_SIZE;
2220 data_class[GROUP_MATERI_PLASTI_AITSKH] = MATERI;
2221 fixed_length[GROUP_MATERI_PLASTI_AITSKH] = 0;
2222 data_required[GROUP_MATERI_PLASTI_AITSKH] = GROUP_TYPE;
2223
2224 strcpy(name[GROUP_MATERI_PLASTI_BOUNDARY],"group_materi_plasti_boundary");
2225 type[GROUP_MATERI_PLASTI_BOUNDARY] = INTEGER;
2226 data_length[GROUP_MATERI_PLASTI_BOUNDARY] = DATA_ITEM_SIZE;
2227 data_class[GROUP_MATERI_PLASTI_BOUNDARY] = MATERI;
2228 fixed_length[GROUP_MATERI_PLASTI_BOUNDARY] = 0;
2229 data_required[GROUP_MATERI_PLASTI_BOUNDARY] = GROUP_TYPE;
2230
2231 strcpy(name[GROUP_MATERI_PLASTI_BOUNDARY_FACTOR],"group_materi_plasti_boundary_factor");
2232 type[GROUP_MATERI_PLASTI_BOUNDARY_FACTOR] = DOUBLE_PRECISION;
2233 data_length[GROUP_MATERI_PLASTI_BOUNDARY_FACTOR] = 1;
2234 data_class[GROUP_MATERI_PLASTI_BOUNDARY_FACTOR] = MATERI;
2235 data_required[GROUP_MATERI_PLASTI_BOUNDARY_FACTOR] = GROUP_TYPE;
2236
2237 strcpy(name[GROUP_MATERI_PLASTI_CAMCLAY],"group_materi_plasti_camclay");
2238 type[GROUP_MATERI_PLASTI_CAMCLAY] = DOUBLE_PRECISION;
2239 data_length[GROUP_MATERI_PLASTI_CAMCLAY] = 4;
2240 data_class[GROUP_MATERI_PLASTI_CAMCLAY] = MATERI;
2241 data_required[GROUP_MATERI_PLASTI_CAMCLAY] = GROUP_TYPE;
2242
2243 strcpy(name[GROUP_MATERI_PLASTI_CAMCLAY_INCREMENTAL],"group_materi_plasti_camclay_incremental");
2244 type[GROUP_MATERI_PLASTI_CAMCLAY_INCREMENTAL] = DOUBLE_PRECISION;
2245 data_length[GROUP_MATERI_PLASTI_CAMCLAY_INCREMENTAL] = 4;
2246 data_class[GROUP_MATERI_PLASTI_CAMCLAY_INCREMENTAL] = MATERI;
2247 data_required[GROUP_MATERI_PLASTI_CAMCLAY_INCREMENTAL] = GROUP_TYPE;
2248
2249 strcpy(name[GROUP_MATERI_PLASTI_CAP],"group_materi_plasti_cap");
2250 type[GROUP_MATERI_PLASTI_CAP] = DOUBLE_PRECISION;
2251 data_length[GROUP_MATERI_PLASTI_CAP] = DATA_ITEM_SIZE;
2252 data_class[GROUP_MATERI_PLASTI_CAP] = MATERI;
2253 fixed_length[GROUP_MATERI_PLASTI_CAP] = 0;
2254 data_required[GROUP_MATERI_PLASTI_CAP] = GROUP_TYPE;
2255
2256 strcpy(name[GROUP_MATERI_PLASTI_COMPRESSION],"group_materi_plasti_compression");
2257 type[GROUP_MATERI_PLASTI_COMPRESSION] = DOUBLE_PRECISION;
2258 data_length[GROUP_MATERI_PLASTI_COMPRESSION] = 1;
2259 data_class[GROUP_MATERI_PLASTI_COMPRESSION] = MATERI;
2260 data_required[GROUP_MATERI_PLASTI_COMPRESSION] = GROUP_TYPE;
2261
2262 strcpy(name[GROUP_MATERI_PLASTI_DIPRISCO],"group_materi_plasti_diprisco");
2263 type[GROUP_MATERI_PLASTI_DIPRISCO] = DOUBLE_PRECISION;
2264 data_length[GROUP_MATERI_PLASTI_DIPRISCO] = 10;
2265 data_class[GROUP_MATERI_PLASTI_DIPRISCO] = MATERI;
2266 data_required[GROUP_MATERI_PLASTI_DIPRISCO] = GROUP_TYPE;
2267
2268 strcpy(name[GROUP_MATERI_PLASTI_DIPRISCO_RT],"group_materi_plasti_diprisco_rt");
2269 type[GROUP_MATERI_PLASTI_DIPRISCO_RT] = DOUBLE_PRECISION;
2270 data_length[GROUP_MATERI_PLASTI_DIPRISCO_RT] = 1;
2271 data_class[GROUP_MATERI_PLASTI_DIPRISCO_RT] = MATERI;
2272 data_required[GROUP_MATERI_PLASTI_DIPRISCO_RT] = GROUP_TYPE;
2273
2274 strcpy(name[GROUP_MATERI_PLASTI_DRUCKPRAG],"group_materi_plasti_druckprag");
2275 type[GROUP_MATERI_PLASTI_DRUCKPRAG] = DOUBLE_PRECISION;
2276 data_length[GROUP_MATERI_PLASTI_DRUCKPRAG] = 3;
2277 data_class[GROUP_MATERI_PLASTI_DRUCKPRAG] = MATERI;
2278 data_required[GROUP_MATERI_PLASTI_DRUCKPRAG] = GROUP_TYPE;
2279
2280 strcpy(name[GROUP_MATERI_PLASTI_DRUCKPRAG_TENSIONCUTOFF],"group_materi_plasti_druckprag_tensioncutoff");
2281 type[GROUP_MATERI_PLASTI_DRUCKPRAG_TENSIONCUTOFF] = INTEGER;
2282 data_length[GROUP_MATERI_PLASTI_DRUCKPRAG_TENSIONCUTOFF] = 1;
2283 data_class[GROUP_MATERI_PLASTI_DRUCKPRAG_TENSIONCUTOFF] = MATERI;
2284 data_required[GROUP_MATERI_PLASTI_DRUCKPRAG_TENSIONCUTOFF] = GROUP_TYPE;
2285
2286 strcpy(name[GROUP_MATERI_PLASTI_DRUCKPRAG_TENSIONLIMIT],"group_materi_plasti_druckprag_tensionlimit");
2287 type[GROUP_MATERI_PLASTI_DRUCKPRAG_TENSIONLIMIT] = INTEGER;
2288 data_length[GROUP_MATERI_PLASTI_DRUCKPRAG_TENSIONLIMIT] = 1;
2289 data_class[GROUP_MATERI_PLASTI_DRUCKPRAG_TENSIONLIMIT] = MATERI;
2290 data_required[GROUP_MATERI_PLASTI_DRUCKPRAG_TENSIONLIMIT] = GROUP_TYPE;
2291
2292 strcpy(name[GROUP_MATERI_PLASTI_GURSON],"group_materi_plasti_gurson");
2293 type[GROUP_MATERI_PLASTI_GURSON] = DOUBLE_PRECISION;
2294 data_length[GROUP_MATERI_PLASTI_GURSON] = 4;
2295 data_class[GROUP_MATERI_PLASTI_GURSON] = MATERI;
2296 data_required[GROUP_MATERI_PLASTI_GURSON] = GROUP_TYPE;
2297
2298 strcpy(name[GROUP_MATERI_PLASTI_HLC],"group_materi_plasti_hlc");
2299 type[GROUP_MATERI_PLASTI_HLC] = DOUBLE_PRECISION;
2300 data_length[GROUP_MATERI_PLASTI_HLC] = 5;
2301 data_class[GROUP_MATERI_PLASTI_HLC] = MATERI;
2302 data_required[GROUP_MATERI_PLASTI_HLC] = GROUP_TYPE;
2303
2304 strcpy(name[GROUP_MATERI_PLASTI_HEATGENERATION], "group_materi_plasti_heatgeneration");
2305 type[GROUP_MATERI_PLASTI_HEATGENERATION] = DOUBLE_PRECISION;
2306 data_length[GROUP_MATERI_PLASTI_HEATGENERATION] = 1;
2307 data_class[GROUP_MATERI_PLASTI_HEATGENERATION] = MATERI;
2308 data_required[GROUP_MATERI_PLASTI_HEATGENERATION] = GROUP_TYPE;
2309
2310 strcpy(name[GROUP_MATERI_PLASTI_HYPO_LOWANGLES],"group_materi_plasti_hypo_lowangles");
2311 type[GROUP_MATERI_PLASTI_HYPO_LOWANGLES] = DOUBLE_PRECISION;
2312 data_length[GROUP_MATERI_PLASTI_HYPO_LOWANGLES] = 10;
2313 data_class[GROUP_MATERI_PLASTI_HYPO_LOWANGLES] = MATERI;
2314 data_required[GROUP_MATERI_PLASTI_HYPO_LOWANGLES] = GROUP_TYPE;
2315
2316 strcpy(name[GROUP_MATERI_PLASTI_HYPO_COHESION],"group_materi_plasti_hypo_cohesion");
2317 type[GROUP_MATERI_PLASTI_HYPO_COHESION] = DOUBLE_PRECISION;
2318 data_length[GROUP_MATERI_PLASTI_HYPO_COHESION] = 1;
2319 data_class[GROUP_MATERI_PLASTI_HYPO_COHESION] = MATERI;
2320 data_required[GROUP_MATERI_PLASTI_HYPO_COHESION] = GROUP_TYPE;
2321
2322 strcpy(name[GROUP_MATERI_PLASTI_HYPO_INTERGRANULARSTRAIN],"group_materi_plasti_hypo_intergranularstrain");
2323 type[GROUP_MATERI_PLASTI_HYPO_INTERGRANULARSTRAIN] = DOUBLE_PRECISION;
2324 data_length[GROUP_MATERI_PLASTI_HYPO_INTERGRANULARSTRAIN] = 5;
2325 data_class[GROUP_MATERI_PLASTI_HYPO_INTERGRANULARSTRAIN] = MATERI;
2326 data_required[GROUP_MATERI_PLASTI_HYPO_INTERGRANULARSTRAIN] = GROUP_TYPE;
2327
2328 strcpy(name[GROUP_MATERI_PLASTI_HYPO_PRESSUREDEPENDENTVOIDRATIO],
2329 "group_materi_plasti_hypo_pressuredependentvoidratio");
2330 type[GROUP_MATERI_PLASTI_HYPO_PRESSUREDEPENDENTVOIDRATIO] = INTEGER;
2331 data_length[GROUP_MATERI_PLASTI_HYPO_PRESSUREDEPENDENTVOIDRATIO] = 1;
2332 data_class[GROUP_MATERI_PLASTI_HYPO_PRESSUREDEPENDENTVOIDRATIO] = MATERI;
2333 data_required[GROUP_MATERI_PLASTI_HYPO_PRESSUREDEPENDENTVOIDRATIO] = GROUP_TYPE;
2334
2335 strcpy(name[GROUP_MATERI_PLASTI_HYPO_WOLFERSDORFF],"group_materi_plasti_hypo_wolfersdorff");
2336 type[GROUP_MATERI_PLASTI_HYPO_WOLFERSDORFF] = DOUBLE_PRECISION;
2337 data_length[GROUP_MATERI_PLASTI_HYPO_WOLFERSDORFF] = 8;
2338 data_class[GROUP_MATERI_PLASTI_HYPO_WOLFERSDORFF] = MATERI;
2339 data_required[GROUP_MATERI_PLASTI_HYPO_WOLFERSDORFF] = GROUP_TYPE;
2340
2341 strcpy(name[GROUP_MATERI_PLASTI_INCREMENTAL_ERASERECENTHISTORY], "group_materi_plasti_incremental_eraserecenthistory");
2342 type[GROUP_MATERI_PLASTI_INCREMENTAL_ERASERECENTHISTORY] = INTEGER;
2343 data_length[GROUP_MATERI_PLASTI_INCREMENTAL_ERASERECENTHISTORY] = 1;
2344 data_class[GROUP_MATERI_PLASTI_INCREMENTAL_ERASERECENTHISTORY] = MATERI;
2345 data_required[GROUP_MATERI_PLASTI_INCREMENTAL_ERASERECENTHISTORY] = GROUP_TYPE;
2346
2347 strcpy(name[GROUP_MATERI_PLASTI_INCREMENTAL_FEERROR],"group_materi_plasti_incremental_feerror");
2348 type[GROUP_MATERI_PLASTI_INCREMENTAL_FEERROR] = DOUBLE_PRECISION;
2349 data_length[GROUP_MATERI_PLASTI_INCREMENTAL_FEERROR] = 1;
2350 data_class[GROUP_MATERI_PLASTI_INCREMENTAL_FEERROR] = MATERI;
2351 data_required[GROUP_MATERI_PLASTI_INCREMENTAL_FEERROR] = GROUP_TYPE;
2352
2353 strcpy(name[GROUP_MATERI_PLASTI_INCREMENTAL_FESUBSTEPS],"group_materi_plasti_incremental_fesubsteps");
2354 type[GROUP_MATERI_PLASTI_INCREMENTAL_FESUBSTEPS] = DOUBLE_PRECISION;
2355 data_length[GROUP_MATERI_PLASTI_INCREMENTAL_FESUBSTEPS] = 1;
2356 data_class[GROUP_MATERI_PLASTI_INCREMENTAL_FESUBSTEPS] = MATERI;
2357 data_required[GROUP_MATERI_PLASTI_INCREMENTAL_FESUBSTEPS] = GROUP_TYPE;
2358
2359 strcpy(name[GROUP_MATERI_PLASTI_INCREMENTAL_MAXSUBSTEPS],"group_materi_plasti_incremental_maxsubsteps");
2360 type[GROUP_MATERI_PLASTI_INCREMENTAL_MAXSUBSTEPS] = DOUBLE_PRECISION;
2361 data_length[GROUP_MATERI_PLASTI_INCREMENTAL_MAXSUBSTEPS] = 1;
2362 data_class[GROUP_MATERI_PLASTI_INCREMENTAL_MAXSUBSTEPS] = MATERI;
2363 data_required[GROUP_MATERI_PLASTI_INCREMENTAL_MAXSUBSTEPS] = GROUP_TYPE;
2364
2365 strcpy(name[GROUP_MATERI_PLASTI_INCREMENTAL_MINSUBSTEPS],"group_materi_plasti_incremental_minsubsteps");
2366 type[GROUP_MATERI_PLASTI_INCREMENTAL_MINSUBSTEPS] = DOUBLE_PRECISION;
2367 data_length[GROUP_MATERI_PLASTI_INCREMENTAL_MINSUBSTEPS] = 1;
2368 data_class[GROUP_MATERI_PLASTI_INCREMENTAL_MINSUBSTEPS] = MATERI;
2369 data_required[GROUP_MATERI_PLASTI_INCREMENTAL_MINSUBSTEPS] = GROUP_TYPE;
2370
2371 strcpy(name[GROUP_MATERI_PLASTI_INCREMENTAL_PRINTF],"group_materi_plasti_incremental_printf");
2372 type[GROUP_MATERI_PLASTI_INCREMENTAL_PRINTF] = INTEGER;
2373 data_length[GROUP_MATERI_PLASTI_INCREMENTAL_PRINTF] = 1;
2374 data_class[GROUP_MATERI_PLASTI_INCREMENTAL_PRINTF] = MATERI;
2375 data_required[GROUP_MATERI_PLASTI_INCREMENTAL_PRINTF] = GROUP_TYPE;
2376
2377 strcpy(name[GROUP_MATERI_PLASTI_INCREMENTAL_USEMATRIX],"group_materi_plasti_incremental_usematrix");
2378 type[GROUP_MATERI_PLASTI_INCREMENTAL_USEMATRIX] = INTEGER;
2379 data_length[GROUP_MATERI_PLASTI_INCREMENTAL_USEMATRIX] = 1;
2380 data_class[GROUP_MATERI_PLASTI_INCREMENTAL_USEMATRIX] = MATERI;
2381 data_required[GROUP_MATERI_PLASTI_INCREMENTAL_USEMATRIX] = GROUP_TYPE;
2382
2383 strcpy(name[GROUP_MATERI_PLASTI_KINEMATIC_HARDENING],"group_materi_plasti_kinematic_hardening");
2384 type[GROUP_MATERI_PLASTI_KINEMATIC_HARDENING] = DOUBLE_PRECISION;
2385 data_length[GROUP_MATERI_PLASTI_KINEMATIC_HARDENING] = 1;
2386 data_class[GROUP_MATERI_PLASTI_KINEMATIC_HARDENING] = MATERI;
2387 data_required[GROUP_MATERI_PLASTI_KINEMATIC_HARDENING] = GROUP_TYPE;
2388
2389 strcpy(name[GROUP_MATERI_PLASTI_MATSUOKANAKAI],"group_materi_plasti_matsuokanakai");
2390 type[GROUP_MATERI_PLASTI_MATSUOKANAKAI] = DOUBLE_PRECISION;
2391 data_length[GROUP_MATERI_PLASTI_MATSUOKANAKAI] = 3;
2392 data_class[GROUP_MATERI_PLASTI_MATSUOKANAKAI] = MATERI;
2393 data_required[GROUP_MATERI_PLASTI_MATSUOKANAKAI] = GROUP_TYPE;
2394
2395 strcpy(name[GROUP_MATERI_PLASTI_MATSUOKANAKAI_TENSIONCUTOFF],"group_materi_plasti_matsuokanakai_tensioncutoff");
2396 type[GROUP_MATERI_PLASTI_MATSUOKANAKAI_TENSIONCUTOFF] = INTEGER;
2397 data_length[GROUP_MATERI_PLASTI_MATSUOKANAKAI_TENSIONCUTOFF] = 1;
2398 data_class[GROUP_MATERI_PLASTI_MATSUOKANAKAI_TENSIONCUTOFF] = MATERI;
2399 data_required[GROUP_MATERI_PLASTI_MATSUOKANAKAI_TENSIONCUTOFF] = GROUP_TYPE;
2400
2401 strcpy(name[GROUP_MATERI_PLASTI_MOHRCOUL],"group_materi_plasti_mohrcoul");
2402 type[GROUP_MATERI_PLASTI_MOHRCOUL] = DOUBLE_PRECISION;
2403 data_length[GROUP_MATERI_PLASTI_MOHRCOUL] = 3;
2404 data_class[GROUP_MATERI_PLASTI_MOHRCOUL] = MATERI;
2405 data_required[GROUP_MATERI_PLASTI_MOHRCOUL] = GROUP_TYPE;
2406
2407 strcpy(name[GROUP_MATERI_PLASTI_MOHRCOUL_SOFTENING],"group_materi_plasti_mohrcoul_softening");
2408 type[GROUP_MATERI_PLASTI_MOHRCOUL_SOFTENING] = DOUBLE_PRECISION;
2409 data_length[GROUP_MATERI_PLASTI_MOHRCOUL_SOFTENING] = 7;
2410 data_class[GROUP_MATERI_PLASTI_MOHRCOUL_SOFTENING] = MATERI;
2411 data_required[GROUP_MATERI_PLASTI_MOHRCOUL_SOFTENING] = GROUP_TYPE;
2412
2413 strcpy(name[GROUP_MATERI_PLASTI_MOHRCOUL_TENSIONCUTOFF],"group_materi_plasti_mohrcoul_tensioncutoff");
2414 type[GROUP_MATERI_PLASTI_MOHRCOUL_TENSIONCUTOFF] = INTEGER;
2415 data_length[GROUP_MATERI_PLASTI_MOHRCOUL_TENSIONCUTOFF] = 1;
2416 data_class[GROUP_MATERI_PLASTI_MOHRCOUL_TENSIONCUTOFF] = MATERI;
2417 data_required[GROUP_MATERI_PLASTI_MOHRCOUL_TENSIONCUTOFF] = GROUP_TYPE;
2418
2419 strcpy(name[GROUP_MATERI_PLASTI_STRESS],"group_materi_plasti_stress");
2420 type[GROUP_MATERI_PLASTI_STRESS] = DOUBLE_PRECISION;
2421 data_length[GROUP_MATERI_PLASTI_STRESS] = 1;
2422 data_class[GROUP_MATERI_PLASTI_STRESS] = MATERI;
2423 data_required[GROUP_MATERI_PLASTI_STRESS] = GROUP_TYPE;
2424
2425 strcpy(name[GROUP_MATERI_PLASTI_TENSION],"group_materi_plasti_tension");
2426 type[GROUP_MATERI_PLASTI_TENSION] = DOUBLE_PRECISION;
2427 data_length[GROUP_MATERI_PLASTI_TENSION] = 1;
2428 data_class[GROUP_MATERI_PLASTI_TENSION] = MATERI;
2429 data_required[GROUP_MATERI_PLASTI_TENSION] = GROUP_TYPE;
2430
2431 strcpy(name[GROUP_MATERI_PLASTI_TSKH],"group_materi_plasti_tskh");
2432 type[GROUP_MATERI_PLASTI_TSKH] = DOUBLE_PRECISION;
2433 data_length[GROUP_MATERI_PLASTI_TSKH] = DATA_ITEM_SIZE;
2434 data_class[GROUP_MATERI_PLASTI_TSKH] = MATERI;
2435 fixed_length[GROUP_MATERI_PLASTI_TSKH] = 0;
2436 data_required[GROUP_MATERI_PLASTI_TSKH] = GROUP_TYPE;
2437
2438 strcpy(name[GROUP_MATERI_PLASTI_USER],"group_materi_plasti_user");
2439 type[GROUP_MATERI_PLASTI_USER] = INTEGER;
2440 data_length[GROUP_MATERI_PLASTI_USER] = 1;
2441 data_class[GROUP_MATERI_PLASTI_USER] = MATERI;
2442 data_required[GROUP_MATERI_PLASTI_USER] = GROUP_TYPE;
2443
2444 strcpy(name[GROUP_MATERI_PLASTI_VISCO_ALWAYS],"group_materi_plasti_visco_always");
2445 type[GROUP_MATERI_PLASTI_VISCO_ALWAYS] = INTEGER;
2446 data_length[GROUP_MATERI_PLASTI_VISCO_ALWAYS] = 1;
2447 data_class[GROUP_MATERI_PLASTI_VISCO_ALWAYS] = MATERI;
2448 data_required[GROUP_MATERI_PLASTI_VISCO_ALWAYS] = GROUP_TYPE;
2449
2450 strcpy(name[GROUP_MATERI_PLASTI_VISCO_EXPONENTIAL],"group_materi_plasti_visco_exponential");
2451 type[GROUP_MATERI_PLASTI_VISCO_EXPONENTIAL] = DOUBLE_PRECISION;
2452 data_length[GROUP_MATERI_PLASTI_VISCO_EXPONENTIAL] = 2;
2453 data_class[GROUP_MATERI_PLASTI_VISCO_EXPONENTIAL] = MATERI;
2454 data_required[GROUP_MATERI_PLASTI_VISCO_EXPONENTIAL] = GROUP_TYPE;
2455
2456 strcpy(name[GROUP_MATERI_PLASTI_VISCO_POWER],"group_materi_plasti_visco_power");
2457 type[GROUP_MATERI_PLASTI_VISCO_POWER] = DOUBLE_PRECISION;
2458 data_length[GROUP_MATERI_PLASTI_VISCO_POWER] = 3;
2459 data_class[GROUP_MATERI_PLASTI_VISCO_POWER] = MATERI;
2460 data_required[GROUP_MATERI_PLASTI_VISCO_POWER] = GROUP_TYPE;
2461
2462 strcpy(name[GROUP_MATERI_PLASTI_VONMISES],"group_materi_plasti_vonmises");
2463 type[GROUP_MATERI_PLASTI_VONMISES] = DOUBLE_PRECISION;
2464 data_length[GROUP_MATERI_PLASTI_VONMISES] = 1;
2465 data_class[GROUP_MATERI_PLASTI_VONMISES] = MATERI;
2466 data_required[GROUP_MATERI_PLASTI_VONMISES] = GROUP_TYPE;
2467
2468 strcpy(name[GROUP_MATERI_PLASTI_VONMISES_NADAI],"group_materi_plasti_vonmises_nadai");
2469 type[GROUP_MATERI_PLASTI_VONMISES_NADAI] = DOUBLE_PRECISION;
2470 data_length[GROUP_MATERI_PLASTI_VONMISES_NADAI] = 3;
2471 data_class[GROUP_MATERI_PLASTI_VONMISES_NADAI] = MATERI;
2472 data_required[GROUP_MATERI_PLASTI_VONMISES_NADAI] = GROUP_TYPE;
2473
2474 strcpy(name[GROUP_MATERI_STOKES],"group_materi_stokes");
2475 type[GROUP_MATERI_STOKES] = INTEGER;
2476 data_length[GROUP_MATERI_STOKES] = 1;
2477 data_class[GROUP_MATERI_STOKES] = MATERI;
2478 data_required[GROUP_MATERI_STOKES] = GROUP_TYPE;
2479
2480 strcpy(name[GROUP_MATERI_VISCOSITY],"group_materi_viscosity");
2481 type[GROUP_MATERI_VISCOSITY] = DOUBLE_PRECISION;
2482 data_length[GROUP_MATERI_VISCOSITY] = 1;
2483 data_class[GROUP_MATERI_VISCOSITY] = MATERI;
2484 data_required[GROUP_MATERI_VISCOSITY] = GROUP_TYPE;
2485
2486 strcpy(name[GROUP_MATERI_VISCOSITY_HEATGENERATION],"group_materi_viscosity_heatgeneration");
2487 type[GROUP_MATERI_VISCOSITY_HEATGENERATION] = INTEGER;
2488 data_length[GROUP_MATERI_VISCOSITY_HEATGENERATION] = 1;
2489 data_class[GROUP_MATERI_VISCOSITY_HEATGENERATION] = MATERI;
2490 data_required[GROUP_MATERI_VISCOSITY_HEATGENERATION] = GROUP_TYPE;
2491
2492 strcpy(name[GROUP_MATERI_VISCOSITY_USER],"group_materi_viscosity_user");
2493 type[GROUP_MATERI_VISCOSITY_USER] = INTEGER;
2494 data_length[GROUP_MATERI_VISCOSITY_USER] = 1;
2495 data_class[GROUP_MATERI_VISCOSITY_USER] = MATERI;
2496 data_required[GROUP_MATERI_VISCOSITY_USER] = GROUP_TYPE;
2497
2498 strcpy(name[GROUP_MATRIX_SECOND_VALUES],"group_matrix_second_values");
2499 type[GROUP_MATRIX_SECOND_VALUES] = DOUBLE_PRECISION;
2500 data_length[GROUP_MATRIX_SECOND_VALUES] = 0; // set run-time
2501 fixed_length[GROUP_MATRIX_SECOND_VALUES] = 0;
2502 data_class[GROUP_MATRIX_SECOND_VALUES] = GROUP_MATRIX_SECOND_VALUES;
2503 external[GROUP_MATRIX_SECOND_VALUES] = 0;
2504 data_required[GROUP_MATRIX_SECOND_VALUES] = GROUP_TYPE;
2505
2506 strcpy(name[GROUP_MATRIX_UNKNOWNS],"group_matrix_unknowns");
2507 type[GROUP_MATRIX_UNKNOWNS] = INTEGER;
2508 data_length[GROUP_MATRIX_UNKNOWNS] = 0; // set run-time
2509 fixed_length[GROUP_MATRIX_UNKNOWNS] = 0;
2510 data_class[GROUP_MATRIX_UNKNOWNS] = GROUP_MATRIX_UNKNOWNS;
2511 external[GROUP_MATRIX_UNKNOWNS] = 0;
2512 data_required[GROUP_MATRIX_UNKNOWNS] = GROUP_TYPE;
2513
2514 strcpy(name[GROUP_MATRIX_VALUES],"group_matrix_values");
2515 type[GROUP_MATRIX_VALUES] = DOUBLE_PRECISION;
2516 data_length[GROUP_MATRIX_VALUES] = 0; // set run-time
2517 fixed_length[GROUP_MATRIX_VALUES] = 0;
2518 data_class[GROUP_MATRIX_VALUES] = GROUP_MATRIX_VALUES;
2519 external[GROUP_MATRIX_VALUES] = 0;
2520 data_required[GROUP_MATRIX_VALUES] = GROUP_TYPE;
2521
2522 strcpy(name[GROUP_MAXWELL_FREQUENCY_EIGEN],"group_maxwell_frequency_eigen");
2523 type[GROUP_MAXWELL_FREQUENCY_EIGEN] = INTEGER;
2524 data_length[GROUP_MAXWELL_FREQUENCY_EIGEN] = 1;
2525 data_class[GROUP_MAXWELL_FREQUENCY_EIGEN] = MAXWELL_FREQUENCY;
2526 data_required[GROUP_MAXWELL_FREQUENCY_EIGEN] = GROUP_TYPE;
2527
2528 strcpy(name[GROUP_MAXWELL_FREQUENCY_EPSILON],"group_maxwell_frequency_epsilon");
2529 type[GROUP_MAXWELL_FREQUENCY_EPSILON] = DOUBLE_PRECISION;
2530 data_length[GROUP_MAXWELL_FREQUENCY_EPSILON] = 2;
2531 data_class[GROUP_MAXWELL_FREQUENCY_EPSILON] = MAXWELL_FREQUENCY;
2532 data_required[GROUP_MAXWELL_FREQUENCY_EPSILON] = GROUP_TYPE;
2533
2534 strcpy(name[GROUP_MAXWELL_FREQUENCY_EPSILON_ANISOTROPIC],"group_maxwell_frequency_epsilon_anisotropic");
2535 type[GROUP_MAXWELL_FREQUENCY_EPSILON_ANISOTROPIC] = DOUBLE_PRECISION;
2536 data_length[GROUP_MAXWELL_FREQUENCY_EPSILON_ANISOTROPIC] = MDIM*2;
2537 data_class[GROUP_MAXWELL_FREQUENCY_EPSILON_ANISOTROPIC] = MAXWELL_FREQUENCY;
2538 data_required[GROUP_MAXWELL_FREQUENCY_EPSILON_ANISOTROPIC] = GROUP_TYPE;
2539
2540 strcpy(name[GROUP_MAXWELL_FREQUENCY_J],"group_maxwell_frequency_j");
2541 type[GROUP_MAXWELL_FREQUENCY_J] = DOUBLE_PRECISION;
2542 data_length[GROUP_MAXWELL_FREQUENCY_J] = 2*MDIM;
2543 data_class[GROUP_MAXWELL_FREQUENCY_J] = MAXWELL_FREQUENCY;
2544 data_required[GROUP_MAXWELL_FREQUENCY_J] = GROUP_TYPE;
2545
2546 strcpy(name[GROUP_MAXWELL_FREQUENCY_MU],"group_maxwell_frequency_mu");
2547 type[GROUP_MAXWELL_FREQUENCY_MU] = DOUBLE_PRECISION;
2548 data_length[GROUP_MAXWELL_FREQUENCY_MU] = 2;
2549 data_class[GROUP_MAXWELL_FREQUENCY_MU] = MAXWELL_FREQUENCY;
2550 data_required[GROUP_MAXWELL_FREQUENCY_MU] = GROUP_TYPE;
2551
2552 strcpy(name[GROUP_MAXWELL_FREQUENCY_PENALTY],"group_maxwell_frequency_penalty");
2553 type[GROUP_MAXWELL_FREQUENCY_PENALTY] = DOUBLE_PRECISION;
2554 data_length[GROUP_MAXWELL_FREQUENCY_PENALTY] = 1;
2555 data_class[GROUP_MAXWELL_FREQUENCY_PENALTY] = MAXWELL_FREQUENCY;
2556 data_required[GROUP_MAXWELL_FREQUENCY_PENALTY] = GROUP_TYPE;
2557
2558 strcpy(name[GROUP_MAXWELL_FREQUENCY_PML_EPSILONANDMU],
2559 "group_maxwell_frequency_pml_epsilonandmu");
2560 type[GROUP_MAXWELL_FREQUENCY_PML_EPSILONANDMU] = DOUBLE_PRECISION;
2561 data_length[GROUP_MAXWELL_FREQUENCY_PML_EPSILONANDMU] = 2;
2562 data_class[GROUP_MAXWELL_FREQUENCY_PML_EPSILONANDMU] = MAXWELL_FREQUENCY;
2563 data_required[GROUP_MAXWELL_FREQUENCY_PML_EPSILONANDMU] = GROUP_TYPE;
2564
2565 strcpy(name[GROUP_MAXWELL_FREQUENCY_PML_PLANES],
2566 "group_maxwell_frequency_pml_planes");
2567 type[GROUP_MAXWELL_FREQUENCY_PML_PLANES] = INTEGER;
2568 data_length[GROUP_MAXWELL_FREQUENCY_PML_PLANES] = 2;
2569 data_class[GROUP_MAXWELL_FREQUENCY_PML_PLANES] = MAXWELL_FREQUENCY;
2570 data_required[GROUP_MAXWELL_FREQUENCY_PML_PLANES] = GROUP_TYPE;
2571
2572 strcpy(name[GROUP_MAXWELL_TIME_EPSILON],"group_maxwell_time_epsilon");
2573 type[GROUP_MAXWELL_TIME_EPSILON] = DOUBLE_PRECISION;
2574 data_length[GROUP_MAXWELL_TIME_EPSILON] = 1;
2575 data_class[GROUP_MAXWELL_TIME_EPSILON] = MAXWELL_TIME;
2576 data_required[GROUP_MAXWELL_TIME_EPSILON] = GROUP_TYPE;
2577
2578 strcpy(name[GROUP_MAXWELL_TIME_EPSILON_ANISOTROPIC],"group_maxwell_time_epsilon_anisotropic");
2579 type[GROUP_MAXWELL_TIME_EPSILON_ANISOTROPIC] = DOUBLE_PRECISION;
2580 data_length[GROUP_MAXWELL_TIME_EPSILON_ANISOTROPIC] = MDIM;
2581 data_class[GROUP_MAXWELL_TIME_EPSILON_ANISOTROPIC] = MAXWELL_TIME;
2582 data_required[GROUP_MAXWELL_TIME_EPSILON_ANISOTROPIC] = GROUP_TYPE;
2583
2584 strcpy(name[GROUP_MAXWELL_TIME_J],"group_maxwell_time_j");
2585 type[GROUP_MAXWELL_TIME_J] = DOUBLE_PRECISION;
2586 data_length[GROUP_MAXWELL_TIME_J] = MDIM;
2587 data_class[GROUP_MAXWELL_TIME_J] = MAXWELL_TIME;
2588 data_required[GROUP_MAXWELL_TIME_J] = GROUP_TYPE;
2589
2590 strcpy(name[GROUP_MAXWELL_TIME_MU],"group_maxwell_time_mu");
2591 type[GROUP_MAXWELL_TIME_MU] = DOUBLE_PRECISION;
2592 data_length[GROUP_MAXWELL_TIME_MU] = 1;
2593 data_class[GROUP_MAXWELL_TIME_MU] = MAXWELL_TIME;
2594 data_required[GROUP_MAXWELL_TIME_MU] = GROUP_TYPE;
2595
2596 strcpy(name[GROUP_MAXWELL_TIME_PENALTY],"group_maxwell_time_penalty");
2597 type[GROUP_MAXWELL_TIME_PENALTY] = DOUBLE_PRECISION;
2598 data_length[GROUP_MAXWELL_TIME_PENALTY] = 1;
2599 data_class[GROUP_MAXWELL_TIME_PENALTY] = MAXWELL_TIME;
2600 data_required[GROUP_MAXWELL_TIME_PENALTY] = GROUP_TYPE;
2601
2602 strcpy(name[GROUP_SPRING_DIRECTION],"group_spring_direction");
2603 type[GROUP_SPRING_DIRECTION] = DOUBLE_PRECISION;
2604 data_length[GROUP_SPRING_DIRECTION] = ndim;
2605 data_class[GROUP_SPRING_DIRECTION] = SPRING;
2606 data_required[GROUP_SPRING_DIRECTION] = GROUP_TYPE;
2607
2608 strcpy(name[GROUP_SPRING_STIFFNESS],"group_spring_stiffness");
2609 type[GROUP_SPRING_STIFFNESS] = DOUBLE_PRECISION;
2610 data_length[GROUP_SPRING_STIFFNESS] = 1;
2611 data_class[GROUP_SPRING_STIFFNESS] = SPRING;
2612 data_required[GROUP_SPRING_STIFFNESS] = GROUP_TYPE;
2613
2614 strcpy(name[GROUP_SPRING_PLASTI],"group_spring_plasti");
2615 type[GROUP_SPRING_PLASTI] = DOUBLE_PRECISION;
2616 data_length[GROUP_SPRING_PLASTI] = 1;
2617 data_class[GROUP_SPRING_PLASTI] = SPRING;
2618 data_required[GROUP_SPRING_PLASTI] = GROUP_TYPE;
2619
2620 strcpy(name[GROUP_TIME],"group_time");
2621 type[GROUP_TIME] = DOUBLE_PRECISION;
2622 data_length[GROUP_TIME] = 2;
2623 data_class[GROUP_TIME] = GROUP_TIME;
2624 data_required[GROUP_TIME] = GROUP_TYPE;
2625
2626 strcpy(name[GROUP_TRUSS_AREA],"group_truss_area");
2627 type[GROUP_TRUSS_AREA] = DOUBLE_PRECISION;
2628 data_length[GROUP_TRUSS_AREA] = 1;
2629 data_class[GROUP_TRUSS_AREA] = TRUSS;
2630 data_required[GROUP_TRUSS_AREA] = GROUP_TYPE;
2631
2632 strcpy(name[GROUP_TRUSS_DENSITY],"group_truss_density");
2633 type[GROUP_TRUSS_DENSITY] = DOUBLE_PRECISION;
2634 data_length[GROUP_TRUSS_DENSITY] = 1;
2635 data_class[GROUP_TRUSS_DENSITY] = TRUSS;
2636 data_required[GROUP_TRUSS_DENSITY] = GROUP_TYPE;
2637
2638 strcpy(name[GROUP_TRUSS_MEMORY],"group_truss_memory");
2639 type[GROUP_TRUSS_MEMORY] = INTEGER;
2640 data_length[GROUP_TRUSS_MEMORY] = 1;
2641 data_class[GROUP_TRUSS_MEMORY] = TRUSS;
2642 data_required[GROUP_TRUSS_MEMORY] = GROUP_TYPE;
2643
2644 strcpy(name[GROUP_TRUSS_ROPE],"group_truss_rope");
2645 type[GROUP_TRUSS_ROPE] = INTEGER;
2646 data_length[GROUP_TRUSS_ROPE] = 1;
2647 data_class[GROUP_TRUSS_ROPE] = TRUSS;
2648 data_required[GROUP_TRUSS_ROPE] = GROUP_TYPE;
2649
2650 strcpy(name[GROUP_TRUSS_PLASTI],"group_truss_plasti");
2651 type[GROUP_TRUSS_PLASTI] = DOUBLE_PRECISION;
2652 data_length[GROUP_TRUSS_PLASTI] = 1;
2653 data_class[GROUP_TRUSS_PLASTI] = TRUSS;
2654 data_required[GROUP_TRUSS_PLASTI] = GROUP_TYPE;
2655
2656 strcpy(name[GROUP_TRUSS_YOUNG],"group_truss_young");
2657 type[GROUP_TRUSS_YOUNG] = DOUBLE_PRECISION;
2658 data_length[GROUP_TRUSS_YOUNG] = 1;
2659 data_class[GROUP_TRUSS_YOUNG] = TRUSS;
2660 data_required[GROUP_TRUSS_YOUNG] = GROUP_TYPE;
2661
2662 strcpy(name[GROUP_TYPE],"group_type");
2663 type[GROUP_TYPE] = INTEGER;
2664 data_length[GROUP_TYPE] = MTYPE;
2665 fixed_length[GROUP_TYPE] = 0;
2666 data_required[GROUP_TYPE] = GROUP_TYPE;
2667
2668 strcpy(name[GROUP_USER_DATA],"group_user_data");
2669 type[GROUP_USER_DATA] = DOUBLE_PRECISION;
2670 data_length[GROUP_USER_DATA] = DATA_ITEM_SIZE;
2671 fixed_length[GROUP_USER_DATA] = 0;
2672 data_required[GROUP_USER_DATA] = GROUP_TYPE;
2673
2674 strcpy(name[GROUP_USER_UMAT],"group_user_umat");
2675 type[GROUP_USER_UMAT] = INTEGER;
2676 data_length[GROUP_USER_UMAT] = 1;
2677 data_required[GROUP_USER_UMAT] = GROUP_TYPE;
2678
2679 strcpy(name[GROUP_VOLUME_FACTOR],"group_volume_factor");
2680 type[GROUP_VOLUME_FACTOR] = DOUBLE_PRECISION;
2681 data_length[GROUP_VOLUME_FACTOR] = 1;
2682 version_all[GROUP_VOLUME_FACTOR] = 1;
2683 data_class[GROUP_VOLUME_FACTOR] = VOLUME;
2684 data_required[GROUP_VOLUME_FACTOR] = GROUP_TYPE;
2685
2686 strcpy(name[GROUP_WAVE_SPEED_OF_SOUND],"group_wave_speed_of_sound");
2687 type[GROUP_WAVE_SPEED_OF_SOUND] = DOUBLE_PRECISION;
2688 data_length[GROUP_WAVE_SPEED_OF_SOUND] = 1;
2689 data_class[GROUP_WAVE_SPEED_OF_SOUND] = WAVE;
2690 data_required[GROUP_WAVE_SPEED_OF_SOUND] = GROUP_TYPE;
2691
2692 strcpy(name[GROWTH],"growth");
2693
2694 strcpy(name[HEX8],"hex8");
2695
2696 strcpy(name[HEX27],"hex27");
2697
2698 strcpy(name[HEX64],"hex64");
2699
2700 strcpy(name[H_REFINEMENT],"h_refinement");
2701
2702 strcpy(name[ICC],"icc");
2703
2704 strcpy(name[ILU],"ilu");
2705
2706 strcpy(name[ICONTROL],"icontrol");
2707 type[ICONTROL] = INTEGER;
2708 data_length[ICONTROL] = 1;
2709 no_index[ICONTROL] = 1;
2710 external[ICONTROL] = 0;
2711
2712 strcpy(name[INITIALIZE],"initialize");
2713
2714 strcpy(name[INITIALIZATION_VALUES],"initialization_values");
2715 type[INITIALIZATION_VALUES] = INTEGER;
2716 data_length[INITIALIZATION_VALUES] = DATA_ITEM_SIZE;
2717 no_index[INITIALIZATION_VALUES] = 1;
2718 external[INITIALIZATION_VALUES] = 0;
2719 fixed_length[INITIALIZATION_VALUES] = 0;
2720
2721 strcpy(name[INVERSE],"inverse");
2722
2723 strcpy(name[INVERSE_HISTORY],"inverse_history");
2724 type[INVERSE_HISTORY] = DOUBLE_PRECISION;
2725 data_length[INVERSE_HISTORY] = 2;
2726 no_index[INVERSE_HISTORY] = 1;
2727 external[INVERSE_HISTORY] = 0;
2728 data_class[INVERSE_HISTORY] = INVERSE;
2729
2730 strcpy(name[INVERSE_ITERATIONS],"inverse_iterations");
2731 type[INVERSE_ITERATIONS] = INTEGER;
2732 data_length[INVERSE_ITERATIONS] = 1;
2733 no_index[INVERSE_ITERATIONS] = 1;
2734 data_class[INVERSE_ITERATIONS] = INVERSE;
2735
2736 strcpy(name[INVERSE_ITERATION_NUMBER],"inverse_iteration_number");
2737 type[INVERSE_ITERATION_NUMBER] = INTEGER;
2738 data_length[INVERSE_ITERATION_NUMBER] = 1;
2739 no_index[INVERSE_ITERATION_NUMBER] = 1;
2740 data_class[INVERSE_ITERATION_NUMBER] = INVERSE;
2741
2742 strcpy(name[INVERSE_PARAMETER],"inverse_parameter");
2743 type[INVERSE_PARAMETER] = INTEGER;
2744 data_length[INVERSE_PARAMETER] = 3;
2745 data_class[INVERSE_PARAMETER] = INVERSE;
2746
2747 strcpy(name[INVERSE_PARAMETER_LIMITS],"inverse_parameter_limits");
2748 type[INVERSE_PARAMETER_LIMITS] = DOUBLE_PRECISION;
2749 data_length[INVERSE_PARAMETER_LIMITS] = 2;
2750 data_class[INVERSE_PARAMETER_LIMITS] = INVERSE;
2751 data_required[INVERSE_PARAMETER_LIMITS] = INVERSE_PARAMETER;
2752
2753 strcpy(name[INVERSE_PARAMETER_SENSITIVITY],"inverse_parameter_sensitivity");
2754 type[INVERSE_PARAMETER_SENSITIVITY] = DOUBLE_PRECISION;
2755 data_length[INVERSE_PARAMETER_SENSITIVITY] = 3;
2756 external[INVERSE_PARAMETER_SENSITIVITY] = 0;
2757 data_class[INVERSE_PARAMETER_SENSITIVITY] = INVERSE;
2758 data_required[INVERSE_PARAMETER_SENSITIVITY] = INVERSE_PARAMETER;
2759
2760 strcpy(name[INVERSE_PARAMETER_STEP],"inverse_parameter_step");
2761 type[INVERSE_PARAMETER_STEP] = DOUBLE_PRECISION;
2762 data_length[INVERSE_PARAMETER_STEP] = 1;
2763 data_class[INVERSE_PARAMETER_STEP] = INVERSE;
2764 data_required[INVERSE_PARAMETER_STEP] = INVERSE_PARAMETER;
2765
2766 strcpy(name[INVERSE_PARAMETER_VARIATION],"inverse_parameter_variation");
2767 type[INVERSE_PARAMETER_VARIATION] = DOUBLE_PRECISION;
2768 data_length[INVERSE_PARAMETER_VARIATION] = 1;
2769 data_class[INVERSE_PARAMETER_VARIATION] = INVERSE;
2770 data_required[INVERSE_PARAMETER_VARIATION] = INVERSE_PARAMETER;
2771
2772 strcpy(name[INVERSE_TARGET],"inverse_target");
2773 type[INVERSE_TARGET] = INTEGER;
2774 data_length[INVERSE_TARGET] = 3;
2775 data_class[INVERSE_TARGET] = INVERSE;
2776
2777 strcpy(name[INVERSE_TARGET_DATA],"inverse_target_data");
2778 type[INVERSE_TARGET_DATA] = DOUBLE_PRECISION;
2779 data_length[INVERSE_TARGET_DATA] = 3;
2780 fixed_length[INVERSE_TARGET_DATA] = 0;
2781 data_class[INVERSE_TARGET_DATA] = INVERSE;
2782 data_required[INVERSE_TARGET_DATA] = INVERSE_TARGET;
2783
2784 strcpy(name[INVERSE_TARGET_TIMESTEP],"inverse_target_timestep");
2785 type[INVERSE_TARGET_TIMESTEP] = INTEGER;
2786 data_length[INVERSE_TARGET_TIMESTEP] = 1;
2787 data_class[INVERSE_TARGET_TIMESTEP] = INVERSE;
2788 data_required[INVERSE_TARGET_TIMESTEP] = INVERSE_TARGET;
2789
2790 strcpy(name[JACOBI],"jacobi");
2791
2792 strcpy(name[LSQR],"lsqr");
2793
2794 strcpy(name[LOBATTO],"lobatto");
2795
2796 strcpy(name[LU],"lu");
2797
2798 strcpy(name[MACRO],"macro");
2799
2800 strcpy(name[MATERI],"materi");
2801
2802 strcpy(name[MATERI_DAMAGE],"materi_damage");
2803
2804 strcpy(name[MATERI_DENSITY],"materi_density");
2805
2806 strcpy(name[MATERI_DENSITY_MINIMUM],"materi_density_minimum");
2807 type[MATERI_DENSITY_MINIMUM] = DOUBLE_PRECISION;
2808 data_length[MATERI_DENSITY_MINIMUM] = 1;
2809 no_index[MATERI_DENSITY_MINIMUM] = 1;
2810
2811 strcpy(name[MATERI_DIFFUSION],"materi_diffusion");
2812
2813 strcpy(name[MATERI_DIFFUSION_MINIMUM],"materi_diffusion_minimum");
2814 type[MATERI_DIFFUSION_MINIMUM] = DOUBLE_PRECISION;
2815 data_length[MATERI_DIFFUSION_MINIMUM] = 1;
2816 no_index[MATERI_DIFFUSION_MINIMUM] = 1;
2817
2818 strcpy(name[MATERI_DIFFUSION_ADJUST_GEOMETRY],"materi_diffusion_adjust_geometry");
2819 type[MATERI_DIFFUSION_ADJUST_GEOMETRY] = INTEGER;
2820 data_length[MATERI_DIFFUSION_ADJUST_GEOMETRY] = 4;
2821 data_class[MATERI_DIFFUSION_ADJUST_GEOMETRY] = MATERI_DIFFUSION;
2822
2823 strcpy(name[MATERI_DIFFUSION_CORRECT],"materi_diffusion_correct");
2824 type[MATERI_DIFFUSION_CORRECT] = INTEGER;
2825 data_length[MATERI_DIFFUSION_CORRECT] = 1;
2826 data_class[MATERI_DIFFUSION_CORRECT] = MATERI_DIFFUSION;
2827 no_index[MATERI_DIFFUSION_CORRECT] = 1;
2828
2829 strcpy(name[MATERI_DIFFUSION_FILL_GEOMETRY],"materi_diffusion_fill_geometry");
2830 type[MATERI_DIFFUSION_FILL_GEOMETRY] = INTEGER;
2831 data_length[MATERI_DIFFUSION_FILL_GEOMETRY] = 2;
2832 data_class[MATERI_DIFFUSION_FILL_GEOMETRY] = MATERI_DIFFUSION;
2833
2834 strcpy(name[MATERI_DIFFUSION_FILL_EPSVELOCITY],"materi_diffusion_fill_epsvelocity");
2835 type[MATERI_DIFFUSION_FILL_EPSVELOCITY] = DOUBLE_PRECISION;
2836 data_length[MATERI_DIFFUSION_FILL_EPSVELOCITY] = 1;
2837 data_class[MATERI_DIFFUSION_FILL_EPSVELOCITY] = MATERI_DIFFUSION;
2838 no_index[MATERI_DIFFUSION_FILL_EPSVELOCITY] = 1;
2839
2840 strcpy(name[MATERI_DIFFUSION_SMOOTH],"materi_diffusion_smooth");
2841 type[MATERI_DIFFUSION_SMOOTH] = INTEGER;
2842 data_length[MATERI_DIFFUSION_SMOOTH] = 1;
2843 data_class[MATERI_DIFFUSION_SMOOTH] = MATERI_DIFFUSION;
2844 no_index[MATERI_DIFFUSION_SMOOTH] = 1;
2845
2846 strcpy(name[MATERI_DIFFUSION_TEMPERATURE],"materi_diffusion_temperature");
2847 type[MATERI_DIFFUSION_TEMPERATURE] = DOUBLE_PRECISION;
2848 data_length[MATERI_DIFFUSION_TEMPERATURE] = 1;
2849 data_class[MATERI_DIFFUSION_TEMPERATURE] = MATERI_DIFFUSION;
2850 no_index[MATERI_DIFFUSION_TEMPERATURE] = 1;
2851
2852 strcpy(name[MATERI_DISPLACEMENT],"materi_displacement");
2853
2854 strcpy(name[MATERI_HISTORY_VARIABLES],"materi_history_variables");
2855
2856 strcpy(name[MATERI_MAXWELL_STRESS],"materi_maxwell_stress");
2857
2858 strcpy(name[MATERI_PLASTI_F],"materi_plasti_f");
2859
2860 strcpy(name[MATERI_PLASTI_F_NONLOCAL],"materi_plasti_f_nonlocal");
2861
2862 strcpy(name[MATERI_PLASTI_INCREMENTAL_SUBSTEPS],"materi_plasti_incremental_substeps");
2863
2864 strcpy(name[MATERI_PLASTI_KAPPA],"materi_plasti_kappa");
2865
2866 strcpy(name[MATERI_PLASTI_RHO],"materi_plasti_rho");
2867
2868 strcpy(name[MATERI_PLASTI_SOFTVAR_LOCAL],"materi_plasti_softvar_local");
2869
2870 strcpy(name[MATERI_PLASTI_SOFTVAR_NONLOCAL],"materi_plasti_softvar_nonlocal");
2871
2872 strcpy(name[MATERI_ROTATION],"materi_rotation");
2873
2874 strcpy(name[MATERI_STRAINENERGY],"materi_strainenergy");
2875
2876 strcpy(name[MATERI_STRAIN_ELASTI],"materi_strain_elasti");
2877
2878 strcpy(name[MATERI_STRAIN_INTERGRANULAR],"materi_strain_intergranular");
2879
2880 strcpy(name[MATERI_STRAIN_PLASTI],"materi_strain_plasti");
2881
2882 strcpy(name[MATERI_STRAIN_TOTAL],"materi_strain_total" );
2883
2884 strcpy(name[MATERI_STRESS],"materi_stress");
2885
2886 strcpy(name[MATERI_VELOCITY],"materi_velocity");
2887
2888 strcpy(name[MATERI_VELOCITY_INTEGRATED],"materi_velocity_integrated");
2889
2890 strcpy(name[MATERI_VOID_FRACTION],"materi_void_fraction");
2891
2892 strcpy(name[MATERI_WORK],"materi_work");
2893
2894 strcpy(name[MATRIX],"matrix");
2895
2896 strcpy(name[MATRIX_ITERATIVE_BICG],"matrix_iterative_bicg");
2897
2898 strcpy(name[MATRIX_ITERATIVE_PETSC],"matrix_iterative_petsc");
2899
2900 strcpy(name[MATRIX_SUPERLU],"matrix_superlu");
2901
2902 strcpy(name[MATRIX_SUPERLU_DIST],"matrix_superlu_dist");
2903
2904 strcpy(name[MATRIX_SUPERLU_MT],"matrix_superlu_mt");
2905
2906 strcpy(name[MATRIX_LAPACK],"matrix_lapack");
2907
2908 strcpy(name[MAXFRE],"maxfre");
2909
2910 strcpy(name[MAXIMAL],"maximal");
2911
2912 strcpy(name[MAXTIM],"maxtim");
2913
2914 strcpy(name[MAXWELL],"maxwell");
2915
2916 strcpy(name[MAXWELL_ECOMPLEX],"maxwell_ecomplex");
2917
2918 strcpy(name[MAXWELL_E],"maxwell_e");
2919
2920 strcpy(name[MAXWELL_EI],"maxwell_ei");
2921
2922 strcpy(name[MAXWELL_ER],"maxwell_er");
2923
2924 strcpy(name[MAXWELL_FE],"maxwell_fe");
2925
2926 strcpy(name[MAXWELL_FREQUENCY],"maxwell_frequency");
2927
2928 strcpy(name[MAXWELL_FREQUENCY_EXCITATION],"maxwell_frequency_excitation");
2929 type[MAXWELL_FREQUENCY_EXCITATION] = DOUBLE_PRECISION;
2930 data_length[MAXWELL_FREQUENCY_EXCITATION] = 1;
2931 data_class[MAXWELL_FREQUENCY_EXCITATION] = MAXWELL_FREQUENCY;
2932 no_index[MAXWELL_FREQUENCY_EXCITATION] = 1;
2933
2934 strcpy(name[MAXWELL_SCATTER_ENERGYCONSERVATION],"maxwell_scatter_energyconservation");
2935 type[MAXWELL_SCATTER_ENERGYCONSERVATION] = INTEGER;
2936 data_length[MAXWELL_SCATTER_ENERGYCONSERVATION] = 1;
2937 data_class[MAXWELL_SCATTER_ENERGYCONSERVATION] = MAXWELL;
2938 no_index[MAXWELL_SCATTER_ENERGYCONSERVATION] = 1;
2939
2940 strcpy(name[MAXWELL_SCATTER_MATRIX_AMPLITUDE],"maxwell_scatter_matrix_amplitude");
2941 type[MAXWELL_SCATTER_MATRIX_AMPLITUDE] = DOUBLE_PRECISION;
2942 data_length[MAXWELL_SCATTER_MATRIX_AMPLITUDE] = DATA_ITEM_SIZE;
2943 data_class[MAXWELL_SCATTER_MATRIX_AMPLITUDE] = MAXWELL;
2944 fixed_length[MAXWELL_SCATTER_MATRIX_AMPLITUDE] = 0;
2945 no_index[MAXWELL_SCATTER_MATRIX_AMPLITUDE] = 1;
2946
2947 strcpy(name[MAXWELL_SCATTER_MATRIX_AMPLITUDEDB],"maxwell_scatter_matrix_amplitudedb");
2948 type[MAXWELL_SCATTER_MATRIX_AMPLITUDEDB] = DOUBLE_PRECISION;
2949 data_length[MAXWELL_SCATTER_MATRIX_AMPLITUDEDB] = DATA_ITEM_SIZE;
2950 data_class[MAXWELL_SCATTER_MATRIX_AMPLITUDEDB] = MAXWELL;
2951 fixed_length[MAXWELL_SCATTER_MATRIX_AMPLITUDEDB] = 0;
2952 no_index[MAXWELL_SCATTER_MATRIX_AMPLITUDEDB] = 1;
2953
2954 strcpy(name[MAXWELL_SCATTER_MATRIX_IMAGINARY],"maxwell_scatter_matrix_imaginary");
2955 type[MAXWELL_SCATTER_MATRIX_IMAGINARY] = DOUBLE_PRECISION;
2956 data_length[MAXWELL_SCATTER_MATRIX_IMAGINARY] = DATA_ITEM_SIZE;
2957 data_class[MAXWELL_SCATTER_MATRIX_IMAGINARY] = MAXWELL;
2958 fixed_length[MAXWELL_SCATTER_MATRIX_IMAGINARY] = 0;
2959 no_index[MAXWELL_SCATTER_MATRIX_IMAGINARY] = 1;
2960
2961 strcpy(name[MAXWELL_SCATTER_MATRIX_PHASE],"maxwell_scatter_matrix_phase");
2962 type[MAXWELL_SCATTER_MATRIX_PHASE] = DOUBLE_PRECISION;
2963 data_length[MAXWELL_SCATTER_MATRIX_PHASE] = DATA_ITEM_SIZE;
2964 data_class[MAXWELL_SCATTER_MATRIX_PHASE] = MAXWELL;
2965 fixed_length[MAXWELL_SCATTER_MATRIX_PHASE] = 0;
2966 no_index[MAXWELL_SCATTER_MATRIX_PHASE] = 1;
2967
2968 strcpy(name[MAXWELL_SCATTER_MATRIX_REAL],"maxwell_scatter_matrix_real");
2969 type[MAXWELL_SCATTER_MATRIX_REAL] = DOUBLE_PRECISION;
2970 data_length[MAXWELL_SCATTER_MATRIX_REAL] = DATA_ITEM_SIZE;
2971 data_class[MAXWELL_SCATTER_MATRIX_REAL] = MAXWELL;
2972 fixed_length[MAXWELL_SCATTER_MATRIX_REAL] = 0;
2973 no_index[MAXWELL_SCATTER_MATRIX_REAL] = 1;
2974
2975 strcpy(name[MAXWELL_SCATTER_PORT_INPUT],"maxwell_scatter_port_input");
2976 type[MAXWELL_SCATTER_PORT_INPUT] = INTEGER;
2977 data_length[MAXWELL_SCATTER_PORT_INPUT] = 2;
2978 data_class[MAXWELL_SCATTER_PORT_INPUT] = MAXWELL;
2979 no_index[MAXWELL_SCATTER_PORT_INPUT] = 1;
2980
2981 strcpy(name[MAXWELL_SCATTER_PORT_OUTPUT],"maxwell_scatter_port_output");
2982 type[MAXWELL_SCATTER_PORT_OUTPUT] = INTEGER;
2983 data_length[MAXWELL_SCATTER_PORT_OUTPUT] = DATA_ITEM_SIZE;
2984 data_class[MAXWELL_SCATTER_PORT_OUTPUT] = MAXWELL;
2985 no_index[MAXWELL_SCATTER_PORT_OUTPUT] = 1;
2986 fixed_length[MAXWELL_SCATTER_PORT_OUTPUT] = 0;
2987
2988 strcpy(name[MAXWELL_SCATTER_PARAMETERS],"maxwell_scatter_parameters");
2989 type[MAXWELL_SCATTER_PARAMETERS] = DOUBLE_PRECISION;
2990 data_length[MAXWELL_SCATTER_PARAMETERS] = 2;
2991 data_class[MAXWELL_SCATTER_PARAMETERS] = MAXWELL;
2992 no_index[MAXWELL_SCATTER_PARAMETERS] = 1;
2993
2994 strcpy(name[MAXWELL_TIME],"maxwell_time");
2995
2996 strcpy(name[MESH],"mesh");
2997
2998 strcpy(name[METHOD1],"method1");
2999
3000 strcpy(name[METHOD2],"method2");
3001
3002 strcpy(name[MINIMAL],"minimal");
3003
3004 strcpy(name[MINUS_ONE],"minus_one" );
3005
3006 strcpy(name[MOMENT],"moment");
3007
3008 strcpy(name[NEGATIVE],"negative");
3009
3010 strcpy(name[NO],"no");
3011
3012 strcpy(name[NODE],"node");
3013 type[NODE] = DOUBLE_PRECISION;
3014 data_length[NODE] = ndim;
3015 version_all[NODE] = 1;
3016 data_class[NODE] = NODE;
3017
3018 strcpy(name[NODE_ADJUST],"node_adjust");
3019 type[NODE_ADJUST] = INTEGER;
3020 data_length[NODE_ADJUST] = 1;
3021 version_all[NODE_ADJUST] = 1;
3022 data_class[NODE_ADJUST] = NODE;
3023 external[NODE_ADJUST] = 0;
3024 data_required[NODE_ADJUST] = NODE;
3025
3026 strcpy(name[NODE_BOUNDARY],"node_boundary");
3027 type[NODE_BOUNDARY] = INTEGER;
3028 data_length[NODE_BOUNDARY] = 1;
3029 version_all[NODE_BOUNDARY] = 1;
3030 data_class[NODE_BOUNDARY] = NODE;
3031 data_required[NODE_BOUNDARY] = NODE;
3032
3033 strcpy(name[NODE_BOUNDED],"node_bounded");
3034 type[NODE_BOUNDED] = INTEGER;
3035 data_length[NODE_BOUNDED] = npuknwn;
3036 external[NODE_BOUNDED] = 0;
3037 data_class[NODE_BOUNDED] = NODE;
3038 data_required[NODE_BOUNDED] = NODE;
3039
3040 strcpy(name[NODE_DAMPING],"node_damping");
3041 type[NODE_DAMPING] = DOUBLE_PRECISION;
3042 data_length[NODE_DAMPING] = ndim;
3043 version_all[NODE_DAMPING] = 1;
3044 data_class[NODE_DAMPING] = NODE;
3045 data_required[NODE_DAMPING] = NODE;
3046
3047 strcpy(name[NODE_DOF],"node_dof");
3048 type[NODE_DOF] = DOUBLE_PRECISION;
3049 data_length[NODE_DOF] = nuknwn;
3050 version_all[NODE_DOF] = 1;
3051 data_class[NODE_DOF] = NODE;
3052 data_required[NODE_DOF] = NODE;
3053
3054 strcpy(name[NODE_DOF_CALCUL],"node_dof_calcul");
3055 type[NODE_DOF_CALCUL] = DOUBLE_PRECISION;
3056 data_length[NODE_DOF_CALCUL] = MCALCUL;
3057 fixed_length[NODE_DOF_CALCUL] = 0;
3058 version_all[NODE_DOF_CALCUL] = 1;
3059 data_class[NODE_DOF_CALCUL] = NODE;
3060 data_required[NODE_DOF_CALCUL] = NODE;
3061
3062 strcpy(name[NODE_DOF_START_REFINED],"node_dof_start_refined");
3063 type[NODE_DOF_START_REFINED] = DOUBLE_PRECISION;
3064 data_length[NODE_DOF_START_REFINED] = nuknwn;
3065 version_all[NODE_DOF_START_REFINED] = 1;
3066 data_class[NODE_DOF_START_REFINED] = NODE;
3067 data_required[NODE_DOF_START_REFINED] = NODE;
3068
3069 strcpy(name[NODE_DOF_TMP],"node_dof_tmp");
3070 type[NODE_DOF_TMP] = DOUBLE_PRECISION;
3071 data_length[NODE_DOF_TMP] = nuknwn;
3072 external[NODE_DOF_TMP] = 0;
3073 data_class[NODE_DOF_TMP] = NODE;
3074 data_required[NODE_DOF_TMP] = NODE;
3075
3076 strcpy(name[NODE_EIGEN],"node_eigen");
3077 type[NODE_EIGEN] = DOUBLE_PRECISION;
3078 data_length[NODE_EIGEN] = DATA_ITEM_SIZE;
3079 fixed_length[NODE_EIGEN] = 0;
3080 version_all[NODE_EIGEN] = 1;
3081 data_class[NODE_EIGEN] = NODE;
3082 data_required[NODE_EIGEN] = NODE;
3083
3084 strcpy(name[NODE_ELEMENT],"node_element");
3085 type[NODE_ELEMENT] = INTEGER;
3086 data_length[NODE_ELEMENT] = 0; // set run-time
3087 external[NODE_ELEMENT] = 0;
3088 fixed_length[NODE_ELEMENT] = 0;
3089 version_all[NODE_ELEMENT] = 1;
3090 data_class[NODE_ELEMENT] = NODE;
3091 data_required[NODE_ELEMENT] = NODE;
3092
3093 strcpy(name[NODE_LHSIDE],"node_lhside");
3094 type[NODE_LHSIDE] = DOUBLE_PRECISION;
3095 data_length[NODE_LHSIDE] = npuknwn;
3096 external[NODE_LHSIDE] = 0;
3097 data_class[NODE_LHSIDE] = NODE;
3098 data_required[NODE_LHSIDE] = NODE;
3099
3100 strcpy(name[NODE_MACRO_GENERATE],"node_macro_generate");
3101 type[NODE_MACRO_GENERATE] = INTEGER;
3102 data_length[NODE_MACRO_GENERATE] = 1;
3103 version_all[NODE_MACRO_GENERATE] = 1;
3104 data_class[NODE_MACRO_GENERATE] = NODE;
3105 data_required[NODE_MACRO_GENERATE] = NODE;
3106 external[NODE_MACRO_GENERATE] = 0;
3107
3108 strcpy(name[NODE_MASS],"node_mass");
3109 type[NODE_MASS] = DOUBLE_PRECISION;
3110 data_length[NODE_MASS] = 1;
3111 version_all[NODE_MASS] = 1;
3112 data_class[NODE_MASS] = NODE;
3113 data_required[NODE_MASS] = NODE;
3114
3115 strcpy(name[NODE_REMESH_ALLOWED],"node_remesh_allowed");
3116 strcpy(name[NODE_NEL],"node_nel");
3117 type[NODE_NEL] = INTEGER;
3118 data_length[NODE_NEL] = 1;
3119 external[NODE_NEL] = 0;
3120 version_all[NODE_NEL] = 1;
3121 data_class[NODE_NEL] = NODE;
3122 data_required[NODE_NEL] = NODE;
3123
3124 strcpy(name[NODE_NODE],"node_node");
3125 type[NODE_NODE] = INTEGER;
3126 data_length[NODE_NODE] = 0; // set run-time
3127 external[NODE_NODE] = 0;
3128 fixed_length[NODE_NODE] = 0;
3129 version_all[NODE_NODE] = 1;
3130 data_class[NODE_NODE] = NODE;
3131 data_required[NODE_NODE] = NODE;
3132
3133 strcpy(name[NODE_NONLOCAL],"node_nonlocal");
3134 type[NODE_NONLOCAL] = INTEGER;
3135 data_length[NODE_NONLOCAL] = NONLOCAL_ITEM_SIZE;
3136 external[NODE_NONLOCAL] = 0;
3137 version_all[NODE_NONLOCAL] = 1;
3138 fixed_length[NODE_NONLOCAL] = 0;
3139 data_class[NODE_NONLOCAL] = NODE;
3140 data_required[NODE_NONLOCAL] = NODE;
3141
3142 strcpy(name[NODE_NONLOCAL_WEIGHT],"node_nonlocal_weight");
3143 type[NODE_NONLOCAL_WEIGHT] = DOUBLE_PRECISION;
3144 data_length[NODE_NONLOCAL_WEIGHT] = NONLOCAL_ITEM_SIZE;
3145 external[NODE_NONLOCAL_WEIGHT] = 0;
3146 version_all[NODE_NONLOCAL_WEIGHT] = 1;
3147 fixed_length[NODE_NONLOCAL_WEIGHT] = 0;
3148 data_class[NODE_NONLOCAL_WEIGHT] = NODE;
3149 data_required[NODE_NONLOCAL_WEIGHT] = NODE;
3150
3151 strcpy(name[NODE_PHREATICLEVEL],"node_phreaticlevel");
3152 type[NODE_PHREATICLEVEL] = INTEGER;
3153 data_length[NODE_PHREATICLEVEL] = 1;
3154 version_all[NODE_PHREATICLEVEL] = 1;
3155 data_class[NODE_PHREATICLEVEL] = NODE;
3156 data_required[NODE_PHREATICLEVEL] = NODE;
3157 external[NODE_PHREATICLEVEL] = 0;
3158
3159 strcpy(name[NODE_PRINT],"node_node_print");
3160 type[NODE_PRINT] = DOUBLE_PRECISION;
3161 data_length[NODE_PRINT] = ndim;
3162 version_all[NODE_PRINT] = 1;
3163 data_class[NODE_PRINT] = NODE;
3164 external[NODE_PRINT] = 0;
3165
3166 strcpy(name[NODE_REMESH_ALLOWED],"node_remesh_allowed");
3167 type[NODE_REMESH_ALLOWED] = INTEGER;
3168 data_length[NODE_REMESH_ALLOWED] = ndim;
3169 version_all[NODE_REMESH_ALLOWED] = 1;
3170 external[NODE_REMESH_ALLOWED] = 0;
3171 data_class[NODE_REMESH_ALLOWED] = NODE;
3172 data_required[NODE_REMESH_ALLOWED] = NODE;
3173
3174 strcpy(name[NODE_REMESH_VELOCITY],"node_remesh_velocity");
3175 type[NODE_REMESH_VELOCITY] = DOUBLE_PRECISION;
3176 data_length[NODE_REMESH_VELOCITY] = ndim;
3177 version_all[NODE_REMESH_VELOCITY] = 1;
3178 external[NODE_REMESH_VELOCITY] = 0;
3179 data_class[NODE_REMESH_VELOCITY] = NODE;
3180 data_required[NODE_REMESH_VELOCITY] = NODE;
3181
3182 strcpy(name[NODE_RHSIDE],"node_rhside");
3183 type[NODE_RHSIDE] = DOUBLE_PRECISION;
3184 data_length[NODE_RHSIDE] = npuknwn;
3185 data_class[NODE_RHSIDE] = NODE;
3186 data_required[NODE_RHSIDE] = NODE;
3187
3188 strcpy(name[NODE_RHSIDE_PRINT],"node_rhside_print");
3189 type[NODE_RHSIDE_PRINT] = DOUBLE_PRECISION;
3190 data_length[NODE_RHSIDE_PRINT] = npuknwn;
3191 version_all[NODE_RHSIDE_PRINT] = 1;
3192 external[NODE_RHSIDE_PRINT] = 0;
3193 data_required[NODE_RHSIDE_PRINT] = NODE;
3194
3195 strcpy(name[NODE_START_REFINED],"node_start_refined");
3196 type[NODE_START_REFINED] = DOUBLE_PRECISION;
3197 data_length[NODE_START_REFINED] = ndim;
3198 version_all[NODE_START_REFINED] = 1;
3199 data_class[NODE_START_REFINED] = NODE;
3200 data_required[NODE_START_REFINED] = NODE;
3201
3202 strcpy(name[NODE_SET],"node_set");
3203 type[NODE_SET] = INTEGER;
3204 data_length[NODE_SET] = 1;
3205 version_all[NODE_SET] = 1;
3206 data_class[NODE_SET] = NODE;
3207
3208 strcpy(name[NODE_STIFFNESS],"node_stiffness");
3209 type[NODE_STIFFNESS] = DOUBLE_PRECISION;
3210 data_length[NODE_STIFFNESS] = ndim;
3211 version_all[NODE_STIFFNESS] = 1;
3212 data_class[NODE_STIFFNESS] = NODE;
3213 data_required[NODE_STIFFNESS] = NODE;
3214
3215 strcpy(name[NONE],"none" );
3216
3217 strcpy(name[NONLOCAL_ELEMENT_INFO],"nonlocal_element_info");
3218 type[NONLOCAL_ELEMENT_INFO] = DOUBLE_PRECISION;
3219 data_length[NONLOCAL_ELEMENT_INFO] = 1+npointmax*ndim+npointmax+2;
3220 version_all[NONLOCAL_ELEMENT_INFO] = 0;
3221 external[NONLOCAL_ELEMENT_INFO] = 0;
3222 data_class[NONLOCAL_ELEMENT_INFO] = ELEMENT;
3223 data_required[NONLOCAL_ELEMENT_INFO] = ELEMENT;
3224
3225 strcpy(name[NORMAL],"normal");
3226
3227 strcpy(name[NOTHING],"nothing");
3228
3229 strcpy(name[NUMBER_ITERATIONS],"number_iterations");
3230 type[NUMBER_ITERATIONS] = INTEGER;
3231 version_all[NUMBER_ITERATIONS] = 1;
3232 data_length[NUMBER_ITERATIONS] = 1;
3233 no_index[NUMBER_ITERATIONS] = 1;
3234 external[NUMBER_ITERATIONS] = 0;
3235 data_class[NUMBER_ITERATIONS] = NUMBER_ITERATIONS;
3236
3237 strcpy(name[OPTIONS_CONVECTION],"options_convection");
3238 type[OPTIONS_CONVECTION] = INTEGER;
3239 data_length[OPTIONS_CONVECTION] = 1;
3240 no_index[OPTIONS_CONVECTION] = 1;
3241
3242 strcpy(name[OPTIONS_ELEMENT_DOF],"options_element_dof");
3243 type[OPTIONS_ELEMENT_DOF] = INTEGER;
3244 data_length[OPTIONS_ELEMENT_DOF] = 1;
3245 no_index[OPTIONS_ELEMENT_DOF] = 1;
3246
3247 strcpy(name[OPTIONS_ELEMENTLOOP],"options_elementloop");
3248 type[OPTIONS_ELEMENTLOOP] = INTEGER;
3249 data_length[OPTIONS_ELEMENTLOOP] = 1;
3250 no_index[OPTIONS_ELEMENTLOOP] = 1;
3251
3252 strcpy(name[OPTIONS_INERTIA],"options_inertia");
3253 type[OPTIONS_INERTIA] = INTEGER;
3254 data_length[OPTIONS_INERTIA] = 1;
3255 no_index[OPTIONS_INERTIA] = 1;
3256
3257 strcpy(name[OPTIONS_MATRIX_GROUP],"options_matrix_group");
3258 type[OPTIONS_MATRIX_GROUP] = INTEGER;
3259 data_length[OPTIONS_MATRIX_GROUP] = 1;
3260 no_index[OPTIONS_MATRIX_GROUP] = 1;
3261 external[OPTIONS_MATRIX_GROUP] = 0;
3262
3263 strcpy(name[OPTIONS_MATRIX_LENGTH],"options_matrix_length");
3264 type[OPTIONS_MATRIX_LENGTH] = INTEGER;
3265 data_length[OPTIONS_MATRIX_LENGTH] = 1;
3266 no_index[OPTIONS_MATRIX_LENGTH] = 1;
3267
3268 strcpy(name[OPTIONS_MESH],"options_mesh");
3269 type[OPTIONS_MESH] = INTEGER;
3270 data_length[OPTIONS_MESH] = ndim;
3271 no_index[OPTIONS_MESH] = 1;
3272
3273 strcpy(name[OPTIONS_NONLOCAL],"options_nonlocal");
3274 type[OPTIONS_NONLOCAL] = DOUBLE_PRECISION;
3275 data_length[OPTIONS_NONLOCAL] = 1;
3276 no_index[OPTIONS_NONLOCAL] = 1;
3277
3278 strcpy(name[OPTIONS_NONLOCAL_SOFTVAR],"options_nonlocal_softvar");
3279 type[OPTIONS_NONLOCAL_SOFTVAR] = DOUBLE_PRECISION;
3280 data_length[OPTIONS_NONLOCAL_SOFTVAR] = 1;
3281 no_index[OPTIONS_NONLOCAL_SOFTVAR] = 1;
3282
3283 strcpy(name[OPTIONS_PROCESSORS],"options_processors");
3284 type[OPTIONS_PROCESSORS] = INTEGER;
3285 data_length[OPTIONS_PROCESSORS] = 1;
3286 no_index[OPTIONS_PROCESSORS] = 1;
3287
3288 strcpy(name[OPTIONS_RELAXATION],"options_relaxation");
3289 type[OPTIONS_RELAXATION] = DOUBLE_PRECISION;
3290 data_length[OPTIONS_RELAXATION] = nprinc;
3291 no_index[OPTIONS_RELAXATION] = 1;
3292
3293 strcpy(name[OPTIONS_RESIDUEFACTOR],"options_residuefactor");
3294 type[OPTIONS_RESIDUEFACTOR] = DOUBLE_PRECISION;
3295 data_length[OPTIONS_RESIDUEFACTOR] = nprinc;
3296 no_index[OPTIONS_RESIDUEFACTOR] = 1;
3297
3298 strcpy(name[OPTIONS_SKIP_GRAVITY],"options_skip_gravity");
3299 type[OPTIONS_SKIP_GRAVITY] = INTEGER;
3300 data_length[OPTIONS_SKIP_GRAVITY] = 1;
3301 no_index[OPTIONS_SKIP_GRAVITY] = 1;
3302
3303 strcpy(name[OPTIONS_SKIP_GROUNDFLOW_NONLINEAR],"options_skip_groundflow_nonlinear");
3304 type[OPTIONS_SKIP_GROUNDFLOW_NONLINEAR] = INTEGER;
3305 data_length[OPTIONS_SKIP_GROUNDFLOW_NONLINEAR] = 1;
3306 no_index[OPTIONS_SKIP_GROUNDFLOW_NONLINEAR] = 1;
3307
3308 strcpy(name[OPTIONS_SKIP_PLASTICITY],"options_skip_plasticity");
3309 type[OPTIONS_SKIP_PLASTICITY] = INTEGER;
3310 data_length[OPTIONS_SKIP_PLASTICITY] = 1;
3311 no_index[OPTIONS_SKIP_PLASTICITY] = 1;
3312
3313 strcpy(name[OPTIONS_SOLVER],"options_solver");
3314 type[OPTIONS_SOLVER] = INTEGER;
3315 data_length[OPTIONS_SOLVER] = 1;
3316 no_index[OPTIONS_SOLVER] = 1;
3317
3318 strcpy(name[OPTIONS_SOLVER_BICG_ERROR],"options_solver_bicg_error");
3319 type[OPTIONS_SOLVER_BICG_ERROR] = DOUBLE_PRECISION;
3320 data_length[OPTIONS_SOLVER_BICG_ERROR] = 1;
3321 no_index[OPTIONS_SOLVER_BICG_ERROR] = 1;
3322
3323 strcpy(name[OPTIONS_SOLVER_BICG_ERROR_MINIMUM],"options_solver_bicg_error_minimum");
3324 type[OPTIONS_SOLVER_BICG_ERROR_MINIMUM] = DOUBLE_PRECISION;
3325 data_length[OPTIONS_SOLVER_BICG_ERROR_MINIMUM] = 1;
3326 no_index[OPTIONS_SOLVER_BICG_ERROR_MINIMUM] = 1;
3327
3328 strcpy(name[OPTIONS_STABILIZATION],"options_stabilization");
3329 type[OPTIONS_STABILIZATION] = INTEGER;
3330 data_length[OPTIONS_STABILIZATION] = 1;
3331 no_index[OPTIONS_STABILIZATION] = 1;
3332
3333 strcpy(name[PHIMOB],"phimob" );
3334
3335 strcpy(name[POINT_MATERI_DIFFUSION],"point_materi_diffusion");
3336 type[POINT_MATERI_DIFFUSION] = DOUBLE_PRECISION;
3337 data_length[POINT_MATERI_DIFFUSION] = ndim;
3338 version_all[POINT_MATERI_DIFFUSION] = 1;
3339 external[POINT_MATERI_DIFFUSION] = 0;
3340
3341 strcpy(name[POINT_MATERI_DIFFUSION_PREVIOUS],"point_materi_diffusion_previous");
3342 type[POINT_MATERI_DIFFUSION_PREVIOUS] = DOUBLE_PRECISION;
3343 data_length[POINT_MATERI_DIFFUSION_PREVIOUS] = ndim;
3344 version_all[POINT_MATERI_DIFFUSION_PREVIOUS] = 1;
3345 external[POINT_MATERI_DIFFUSION_PREVIOUS] = 0;
3346
3347 strcpy(name[POSITIVE],"positive");
3348
3349 strcpy(name[POST],"post");
3350
3351 strcpy(name[POST_CALCUL],"post_calcul");
3352 type[POST_CALCUL] = INTEGER;
3353 data_length[POST_CALCUL] = DATA_ITEM_SIZE;
3354 no_index[POST_CALCUL] = 1;
3355 fixed_length[POST_CALCUL] = 0;
3356 data_class[POST_CALCUL] = POST;
3357
3358 strcpy(name[POST_CALCUL_SCAL_VEC_MAT],"post_calcul_scal_vec_mat");
3359 type[POST_CALCUL_SCAL_VEC_MAT] = INTEGER;
3360 data_length[POST_CALCUL_SCAL_VEC_MAT] = DATA_ITEM_SIZE;
3361 fixed_length[POST_CALCUL_SCAL_VEC_MAT] = 0;
3362 no_index[POST_CALCUL_SCAL_VEC_MAT] = 1;
3363 external[POST_CALCUL_SCAL_VEC_MAT] = 0;
3364 data_class[POST_CALCUL_SCAL_VEC_MAT] = POST;
3365
3366 strcpy(name[POST_CALCUL_UNKNOWN_OPERAT],"post_calcul_unknown_operat");
3367 type[POST_CALCUL_UNKNOWN_OPERAT] = INTEGER;
3368 data_length[POST_CALCUL_UNKNOWN_OPERAT] = DATA_ITEM_SIZE;
3369 fixed_length[POST_CALCUL_UNKNOWN_OPERAT] = 0;
3370 no_index[POST_CALCUL_UNKNOWN_OPERAT] = 1;
3371 external[POST_CALCUL_UNKNOWN_OPERAT] = 0;
3372 data_class[POST_CALCUL_UNKNOWN_OPERAT] = POST;
3373
3374 strcpy(name[POST_ERROR_ITEM],"post_error_item");
3375 type[POST_ERROR_ITEM] = INTEGER;
3376 data_length[POST_ERROR_ITEM] = 3;
3377 data_class[POST_ERROR_ITEM] = POST;
3378
3379 strcpy(name[POST_ERROR_MESH1],"post_error_mesh1");
3380 type[POST_ERROR_MESH1] = DOUBLE_PRECISION;
3381 data_length[POST_ERROR_MESH1] = 1;
3382 external[POST_ERROR_MESH1] = 0;
3383 data_class[POST_ERROR_MESH1] = POST;
3384
3385 strcpy(name[POST_ERROR_MESH2],"post_error_mesh2");
3386 type[POST_ERROR_MESH2] = DOUBLE_PRECISION;
3387 data_length[POST_ERROR_MESH2] = 1;
3388 external[POST_ERROR_MESH2] = 0;
3389 data_class[POST_ERROR_MESH2] = POST;
3390
3391 strcpy(name[POST_ERROR_RESULT],"post_error_result");
3392 type[POST_ERROR_RESULT] = DOUBLE_PRECISION;
3393 data_length[POST_ERROR_RESULT] = 1;
3394 data_class[POST_ERROR_RESULT] = POST;
3395
3396 strcpy(name[POST_GLOBAL],"post_global");
3397 type[POST_GLOBAL] = INTEGER;
3398 data_length[POST_GLOBAL] = DATA_ITEM_SIZE;
3399 data_class[POST_GLOBAL] = POST;
3400 fixed_length[POST_GLOBAL] = 0;
3401 no_index[POST_GLOBAL] = 1;
3402
3403 strcpy(name[POST_INTEGRATE],"post_integrate");
3404 type[POST_INTEGRATE] = INTEGER;
3405 data_length[POST_INTEGRATE] = 3;
3406 data_class[POST_INTEGRATE] = POST;
3407
3408 strcpy(name[POST_INTEGRATE_RESULT],"post_integrate_result");
3409 type[POST_INTEGRATE_RESULT] = DOUBLE_PRECISION;
3410 data_length[POST_INTEGRATE_RESULT] = 1;
3411 data_class[POST_INTEGRATE_RESULT] = POST;
3412
3413 strcpy(name[POST_LINE],"post_line");
3414 type[POST_LINE] = DOUBLE_PRECISION;
3415 data_length[POST_LINE] = 2*ndim;
3416 data_class[POST_LINE] = POST;
3417
3418 strcpy(name[POST_LINE_DOF],"post_line_dof");
3419 type[POST_LINE_DOF] = DOUBLE_PRECISION;
3420 data_length[POST_LINE_DOF] = nuknwn;
3421 data_class[POST_LINE_DOF] = POST;
3422
3423 strcpy(name[POST_LINE_DOF_CALCUL],"post_line_dof_calcul");
3424 type[POST_LINE_DOF_CALCUL] = DOUBLE_PRECISION;
3425 data_length[POST_LINE_DOF_CALCUL] = MCALCUL;
3426 fixed_length[POST_LINE_DOF_CALCUL] = 0;
3427 data_class[POST_LINE_DOF_CALCUL] = POST;
3428
3429 strcpy(name[POST_LINE_MOMENT],"post_line_moment");
3430 type[POST_LINE_MOMENT] = INTEGER;
3431 data_length[POST_LINE_MOMENT] = 1;
3432 data_class[POST_LINE_MOMENT] = POST;
3433
3434 strcpy(name[POST_LINE_N],"post_line_n");
3435 type[POST_LINE_N] = INTEGER;
3436 data_length[POST_LINE_N] = 1;
3437 data_class[POST_LINE_N] = POST;
3438
3439 strcpy(name[POST_LINE_OPERAT],"post_line_operat");
3440 type[POST_LINE_OPERAT] = INTEGER;
3441 data_length[POST_LINE_OPERAT] = 1;
3442 data_class[POST_LINE_OPERAT] = POST;
3443
3444 strcpy(name[POST_NODE],"post_node");
3445 type[POST_NODE] = INTEGER;
3446 data_length[POST_NODE] = 4;
3447 fixed_length[POST_NODE] = 0;
3448 data_class[POST_NODE] = POST;
3449
3450 strcpy(name[POST_NODE_RESULT],"post_node_result");
3451 type[POST_NODE_RESULT] = DOUBLE_PRECISION;
3452 data_length[POST_NODE_RESULT] = DATA_ITEM_SIZE;
3453 fixed_length[POST_NODE_RESULT] = 0;
3454 data_class[POST_NODE_RESULT] = POST;
3455
3456 strcpy(name[POST_NODE_RHSIDE_FIXED],"post_node_rhside_fixed");
3457 type[POST_NODE_RHSIDE_FIXED] = DOUBLE_PRECISION;
3458 data_length[POST_NODE_RHSIDE_FIXED] = npuknwn;
3459 data_class[POST_NODE_RHSIDE_FIXED] = POST;
3460 no_index[POST_NODE_RHSIDE_FIXED] = 1;
3461
3462 strcpy(name[POST_NODE_RHSIDE_FREE],"post_node_rhside_free");
3463 type[POST_NODE_RHSIDE_FREE] = DOUBLE_PRECISION;
3464 data_length[POST_NODE_RHSIDE_FREE] = npuknwn;
3465 data_class[POST_NODE_RHSIDE_FREE] = POST;
3466 no_index[POST_NODE_RHSIDE_FREE] = 1;
3467
3468 strcpy(name[POST_NODE_RHSIDE_RATIO],"post_node_rhside_ratio");
3469 type[POST_NODE_RHSIDE_RATIO] = DOUBLE_PRECISION;
3470 data_length[POST_NODE_RHSIDE_RATIO] = 1;
3471 data_class[POST_NODE_RHSIDE_RATIO] = POST;
3472 no_index[POST_NODE_RHSIDE_RATIO] = 1;
3473
3474 strcpy(name[POST_NODE_RHSIDE_RATIO_UNKNOWNTYPES],"post_node_rhside_ratio_unknowntypes");
3475 type[POST_NODE_RHSIDE_RATIO_UNKNOWNTYPES] = INTEGER;
3476 data_length[POST_NODE_RHSIDE_RATIO_UNKNOWNTYPES] = DATA_ITEM_SIZE;
3477 data_class[POST_NODE_RHSIDE_RATIO_UNKNOWNTYPES] = POST;
3478 fixed_length[POST_NODE_RHSIDE_RATIO_UNKNOWNTYPES] = 0;
3479 no_index[POST_NODE_RHSIDE_RATIO_UNKNOWNTYPES] = 1;
3480
3481 strcpy(name[POST_POINT],"post_point");
3482 type[POST_POINT] = DOUBLE_PRECISION;
3483 data_length[POST_POINT] = ndim;
3484 data_class[POST_POINT] = POST;
3485
3486 strcpy(name[POST_POINT_DOF],"post_point_dof");
3487 type[POST_POINT_DOF] = DOUBLE_PRECISION;
3488 data_length[POST_POINT_DOF] = nuknwn;
3489 data_class[POST_POINT_DOF] = POST;
3490
3491 strcpy(name[POST_POINT_DOF_CALCUL],"post_point_dof_calcul");
3492 type[POST_POINT_DOF_CALCUL] = DOUBLE_PRECISION;
3493 data_length[POST_POINT_DOF_CALCUL] = MCALCUL;
3494 fixed_length[POST_POINT_DOF_CALCUL] = 0;
3495 data_class[POST_POINT_DOF_CALCUL] = POST;
3496
3497 strcpy(name[POST_QUADRILATERAL],"post_quadrilateral");
3498 type[POST_QUADRILATERAL] = DOUBLE_PRECISION;
3499 data_length[POST_QUADRILATERAL] = 4*ndim;
3500 data_class[POST_QUADRILATERAL] = POST;
3501
3502 strcpy(name[POST_QUADRILATERAL_DOF],"post_quadrilateral_dof");
3503 type[POST_QUADRILATERAL_DOF] = DOUBLE_PRECISION;
3504 data_length[POST_QUADRILATERAL_DOF] = nuknwn;
3505 data_class[POST_QUADRILATERAL_DOF] = POST;
3506
3507 strcpy(name[POST_QUADRILATERAL_DOF_CALCUL],"post_quadrilateral_dof_calcul");
3508 type[POST_QUADRILATERAL_DOF_CALCUL] = DOUBLE_PRECISION;
3509 data_length[POST_QUADRILATERAL_DOF_CALCUL] = DATA_ITEM_SIZE;
3510 fixed_length[POST_QUADRILATERAL_DOF_CALCUL] = 0;
3511 data_class[POST_QUADRILATERAL_DOF_CALCUL] = POST;
3512
3513 strcpy(name[POST_QUADRILATERAL_N],"post_quadrilateral_n");
3514 type[POST_QUADRILATERAL_N] = INTEGER;
3515 data_length[POST_QUADRILATERAL_N] = 1;
3516 data_class[POST_QUADRILATERAL_N] = POST;
3517
3518 strcpy(name[PREONLY],"preonly");
3519
3520 strcpy(name[PRINT],"print");
3521
3522 strcpy(name[PRINT_ARITHMETIC],"print_arithmetic");
3523 type[PRINT_ARITHMETIC] = INTEGER;
3524 data_length[PRINT_ARITHMETIC] = 1;
3525 no_index[PRINT_ARITHMETIC] = 1;
3526
3527 strcpy(name[PRINT_CONTROL],"print_control");
3528 type[PRINT_CONTROL] = INTEGER;
3529 data_length[PRINT_CONTROL] = 1;
3530 no_index[PRINT_CONTROL] = 1;
3531
3532 strcpy(name[PRINT_DEFINE],"print_define");
3533 type[PRINT_DEFINE] = INTEGER;
3534 data_length[PRINT_DEFINE] = 1;
3535 no_index[PRINT_DEFINE] = 1;
3536
3537 strcpy(name[PRINT_FAILURE],"print_failure");
3538 type[PRINT_FAILURE] = INTEGER;
3539 data_length[PRINT_FAILURE] = 1;
3540 data_class[PRINT_FAILURE] = PRINT;
3541 no_index[PRINT_FAILURE] = 1;
3542
3543 strcpy(name[PRINT_FILTER],"print_filter");
3544 type[PRINT_FILTER] = INTEGER;
3545 data_length[PRINT_FILTER] = DATA_ITEM_SIZE;
3546 fixed_length[PRINT_FILTER] = 0;
3547 data_class[PRINT_FILTER] = PRINT;
3548
3549 strcpy(name[PRINT_LASTDATABASE],"print_lastdatabase");
3550 type[PRINT_LASTDATABASE] = INTEGER;
3551 data_length[PRINT_LASTDATABASE] = 1;
3552 data_class[PRINT_LASTDATABASE] = PRINT;
3553 no_index[PRINT_LASTDATABASE] = 1;
3554
3555 strcpy(name[PRINT_SOLVER],"print_solver");
3556 type[PRINT_SOLVER] = INTEGER;
3557 data_length[PRINT_SOLVER] = 1;
3558 no_index[PRINT_SOLVER] = 1;
3559
3560 strcpy(name[PRINT_WHERE],"print_where");
3561 type[PRINT_WHERE] = INTEGER;
3562 data_length[PRINT_WHERE] = 1;
3563 data_class[PRINT_WHERE] = PRINT;
3564 no_index[PRINT_WHERE] = 1;
3565
3566 strcpy(name[PRISM6],"prism6");
3567
3568 strcpy(name[PRIVAL],"prival");
3569
3570 strcpy(name[PRIVEC],"privec");
3571
3572 strcpy(name[P_COARSEN],"p_coarsen");
3573
3574 strcpy(name[P_REFINEMENT],"p_refinement");
3575
3576 strcpy(name[PUT],"put");
3577
3578 strcpy(name[QUAD4],"quad4");
3579
3580 strcpy(name[QUAD9],"quad9");
3581
3582 strcpy(name[QUAD16],"quad16");
3583
3584 strcpy(name[RA],"ra");
3585
3586 strcpy(name[RECTANGLE],"rectangle" );
3587
3588 strcpy(name[RESIDUE],"residue");
3589
3590 strcpy(name[RESTART],"restart");
3591
3592 strcpy(name[RICHARDSON],"richardson");
3593
3594 strcpy(name[ROTATION_X_AXIS],"rotation_x_axis");
3595
3596 strcpy(name[ROTATION_Y_AXIS],"rotation_y_axis");
3597
3598 strcpy(name[ROTATION_Z_AXIS],"rotation_z_axis");
3599
3600 strcpy(name[SCALAR],"scalar" );
3601
3602 strcpy(name[SEPARATE],"separate");
3603
3604 strcpy(name[SEPARATE_INDEX],"separate_index");
3605
3606 strcpy(name[SEPARATE_SEQUENTIAL],"separate_sequential");
3607
3608 strcpy(name[SHELL],"shell");
3609
3610 strcpy(name[SIZEDEV],"sizedev");
3611
3612 strcpy(name[MISES],"mises");
3613
3614 strcpy(name[SIZETOT],"sizetot");
3615
3616 strcpy(name[SLES],"sles");
3617
3618 strcpy(name[SLIDE_FRICTION],"slide_friction");
3619 type[SLIDE_FRICTION] = DOUBLE_PRECISION;
3620 data_length[SLIDE_FRICTION] = 1;
3621 data_class[SLIDE_FRICTION] = SLIDE;
3622
3623 strcpy(name[SLIDE_GEOMETRY],"slide_geometry");
3624 type[SLIDE_GEOMETRY] = INTEGER;
3625 data_length[SLIDE_GEOMETRY] = 2;
3626 data_class[SLIDE_GEOMETRY] = SLIDE;
3627
3628 strcpy(name[SLIDE_PENALTY],"slide_penalty");
3629 type[SLIDE_PENALTY] = DOUBLE_PRECISION;
3630 data_length[SLIDE_PENALTY] = 1;
3631 data_class[SLIDE_PENALTY] = SLIDE;
3632
3633 strcpy(name[SOR],"sor");
3634
3635 strcpy(name[SPHERE],"sphere");
3636
3637 strcpy(name[SPRING],"spring");
3638
3639 strcpy(name[SPRING1],"spring1");
3640
3641 strcpy(name[SPRING2],"spring2");
3642
3643 strcpy(name[STATIC],"static" );
3644
3645 strcpy(name[STEP],"step");
3646
3647 strcpy(name[STRESS],"stress");
3648
3649 strcpy(name[SUM],"sum");
3650
3651 strcpy(name[TARGET],"target");
3652
3653 strcpy(name[TARGET_ITEM],"target_item");
3654 type[TARGET_ITEM] = INTEGER;
3655 data_length[TARGET_ITEM] = 3;
3656 data_class[TARGET_ITEM] = TARGET;
3657 data_required[TARGET_ITEM] = TARGET_VALUE;
3658
3659 strcpy(name[TARGET_VALUE],"target_value");
3660 type[TARGET_VALUE] = DOUBLE_PRECISION;
3661 data_length[TARGET_VALUE] = 2;
3662 data_class[TARGET_VALUE] = TARGET;
3663 data_required[TARGET_VALUE] = TARGET_ITEM;
3664
3665 strcpy(name[TCQMR],"tcqmr");
3666
3667 strcpy(name[TENDON],"tendon");
3668 type[TENDON] = DOUBLE_PRECISION;
3669 data_length[TENDON] = 2*ndim + 1;
3670 data_class[TENDON] = TENDON;
3671
3672 strcpy(name[TENDON_ELASTI],"tendon_elasti");
3673 type[TENDON_ELASTI] = DOUBLE_PRECISION;
3674 data_length[TENDON_ELASTI] = 1;
3675 data_class[TENDON_ELASTI] = TENDON;
3676 data_required[TENDON_ELASTI] = TENDON;
3677
3678 strcpy(name[TENDON_EXPANSION],"tendon_expansion");
3679 type[TENDON_EXPANSION] = DOUBLE_PRECISION;
3680 data_length[TENDON_EXPANSION] = 1;
3681 data_class[TENDON_EXPANSION] = TENDON;
3682 data_required[TENDON_EXPANSION] = TENDON;
3683
3684 strcpy(name[TENDON_PLASTI],"tendon_plasti");
3685 type[TENDON_PLASTI] = DOUBLE_PRECISION;
3686 data_length[TENDON_PLASTI] = 1;
3687 data_class[TENDON_PLASTI] = TENDON;
3688 data_required[TENDON_PLASTI] = TENDON;
3689
3690 strcpy(name[TENDON_SPLIT],"tendon_split");
3691 type[TENDON_SPLIT] = DOUBLE_PRECISION;
3692 data_length[TENDON_SPLIT] = 2;
3693 external[TENDON_SPLIT] = 0;
3694 data_class[TENDON_SPLIT] = TENDON;
3695 data_required[TENDON_SPLIT] = TENDON;
3696
3697 strcpy(name[TENDON_SPLIT_ELEMENT],"tendon_split_element");
3698 type[TENDON_SPLIT_ELEMENT] = INTEGER;
3699 data_length[TENDON_SPLIT_ELEMENT] = MTENDON;
3700 fixed_length[TENDON_SPLIT_ELEMENT] = 0;
3701 external[TENDON_SPLIT_ELEMENT] = 0;
3702 data_class[TENDON_SPLIT_ELEMENT] = TENDON;
3703 data_required[TENDON_SPLIT_ELEMENT] = TENDON;
3704
3705 strcpy(name[TENDON_STRESS],"tendon_stress");
3706 type[TENDON_STRESS] = DOUBLE_PRECISION;
3707 data_length[TENDON_STRESS] = 1;
3708 data_class[TENDON_STRESS] = TENDON;
3709 data_required[TENDON_STRESS] = TENDON;
3710
3711 strcpy(name[TENDON_STRESS_TIME],"tendon_stress_time");
3712 type[TENDON_STRESS_TIME] = DOUBLE_PRECISION;
3713 data_length[TENDON_STRESS_TIME] = DATA_ITEM_SIZE;
3714 fixed_length[TENDON_STRESS_TIME] = 0;
3715 data_class[TENDON_STRESS_TIME] = TENDON;
3716 data_required[TENDON_STRESS_TIME] = TENDON;
3717
3718 strcpy(name[TET4],"tet4");
3719
3720 strcpy(name[TET10],"tet10");
3721
3722 strcpy(name[TFQMR],"tfqmr");
3723
3724 strcpy(name[THERMAL],"thermal");
3725
3726 strcpy(name[TIME],"time");
3727
3728 strcpy(name[TIME_AT_START],"time_at_start");
3729 type[TIME_AT_START] = INTEGER;
3730 data_length[TIME_AT_START] = 1;
3731 external[TIME_AT_START] = 0;
3732 data_class[TIME_AT_START] = TIME;
3733
3734 strcpy(name[TIME_CURRENT],"time_current");
3735 type[TIME_CURRENT] = DOUBLE_PRECISION;
3736 data_length[TIME_CURRENT] = 1;
3737 no_index[TIME_CURRENT] = 1;
3738 version_all[TIME_CURRENT] = 1;
3739 data_class[TIME_CURRENT] = TIME;
3740
3741 strcpy(name[TIME_CALCULATION],"time_calculation");
3742 type[TIME_CALCULATION] = INTEGER;
3743 data_length[TIME_CALCULATION] = 1;
3744 no_index[TIME_CALCULATION] = 1;
3745 data_class[TIME_CALCULATION] = TIME;
3746
3747 strcpy(name[TIME_NEW],"time_new");
3748 type[TIME_NEW] = DOUBLE_PRECISION;
3749 external[TIME_NEW] = 0;
3750 data_length[TIME_NEW] = 1;
3751 no_index[TIME_NEW] = 1;
3752 version_all[TIME_NEW] = 1;
3753 data_class[TIME_NEW] = TIME;
3754
3755 strcpy(name[TIME_OLD],"time_old");
3756 type[TIME_OLD] = DOUBLE_PRECISION;
3757 external[TIME_OLD] = 0;
3758 data_length[TIME_OLD] = 1;
3759 no_index[TIME_OLD] = 1;
3760 version_all[TIME_OLD] = 1;
3761 data_class[TIME_OLD] = TIME;
3762
3763 strcpy(name[TO],"to");
3764
3765 strcpy(name[TOTAL],"total");
3766
3767 strcpy(name[TOTAL_LINEAR],"total_linear");
3768
3769 strcpy(name[TOTAL_PIOLA],"total_piola");
3770
3771 strcpy(name[TRIA3],"tria3");
3772
3773 strcpy(name[TRIA6],"tria6");
3774
3775 strcpy(name[TRUSS],"truss");
3776
3777 strcpy(name[TRUSSBEAM],"trussbeam");
3778
3779 strcpy(name[UNIFORM],"uniform");
3780
3781 strcpy(name[UPDATED],"updated");
3782
3783 strcpy(name[UPDATED_WITHOUT_ROTATION],"updated_without_rotation");
3784
3785 strcpy(name[USE],"use" );
3786
3787 strcpy(name[USER],"user" );
3788
3789 strcpy(name[VALUE],"value");
3790
3791 strcpy(name[VECTOR],"vector");
3792
3793 strcpy(name[VOLUME_FACTOR],"volume_factor");
3794 type[VOLUME_FACTOR] = DOUBLE_PRECISION;
3795 data_length[VOLUME_FACTOR] = DATA_ITEM_SIZE;
3796 fixed_length[VOLUME_FACTOR] = 0;
3797 no_index[VOLUME_FACTOR] = 1;
3798 data_class[VOLUME_FACTOR] = VOLUME;
3799
3800 strcpy(name[WAVE],"wave");
3801
3802 strcpy(name[WAVE_SCALAR],"wave_scalar");
3803
3804 strcpy(name[WAVE_FSCALAR],"wave_fscalar");
3805
3806 strcpy(name[YES],"yes");
3807
3808 strcpy(name[X],"x");
3809
3810 strcpy(name[Y],"y");
3811
3812 strcpy(name[Z],"z");
3813
3814 for ( idat=0; idat<MDAT; idat++ ) {
3815 if ( data_length[idat]<1 ) data_length[idat] = 1;
3816 }
3817
3818 idat = LAST_DUMMY;
3819 for ( ipuknwn=0; ipuknwn<npuknwn; ipuknwn++ ) {
3820 iuknwn = ipuknwn*nder;
3821 if ( dof_type[iuknwn]==-BEAM_ROTATION ) {
3822 if ( iuknwn==rot_indx ) n = 0;
3823 n++;
3824 if ( ndim==2 ) {
3825 assert( n==1 );
3826 strcpy( basename, "rotz" );
3827 }
3828 else {
3829 assert( ndim==3 );
3830 if ( n==1 ) strcpy( basename, "rotx" );
3831 else if ( n==2 ) strcpy( basename, "roty" );
3832 else if ( n==3 ) strcpy( basename, "rotz" );
3833 }
3834 }
3835 else if ( dof_type[iuknwn]==-CONDIF_TEMPERATURE )
3836 strcpy( basename, "temp" );
3837 else if ( dof_type[iuknwn]==-GROUNDFLOW_PRESSURE )
3838 strcpy( basename, "pres" );
3839 else if ( dof_type[iuknwn]==-GROUNDFLOW_VELOCITY ) {
3840 if ( iuknwn==gvel_indx ) n = 0;
3841 n++;
3842 if ( n==1 ) strcpy( basename, "gvelx" );
3843 else if ( n==2 ) strcpy( basename, "gvely" );
3844 else if ( n==3 ) strcpy( basename, "gvelz" );
3845 }
3846 else if ( dof_type[iuknwn]==-MATERI_DAMAGE )
3847 strcpy( basename, "dam" );
3848 else if ( dof_type[iuknwn]==-MATERI_DENSITY )
3849 strcpy( basename, "dens" );
3850 else if ( dof_type[iuknwn]==-MATERI_DIFFUSION )
3851 strcpy( basename, "diff" );
3852 else if ( dof_type[iuknwn]==-MATERI_DISPLACEMENT ) {
3853 if ( iuknwn==dis_indx ) n = 0;
3854 n++;
3855 if ( n==1 ) strcpy( basename, "disx" );
3856 else if ( n==2 ) strcpy( basename, "disy" );
3857 else if ( n==3 ) strcpy( basename, "disz" );
3858 }
3859 else if ( dof_type[iuknwn]==-MATERI_HISTORY_VARIABLES ) {
3860 if ( iuknwn==hisv_indx ) n = 0;
3861 strcpy( basename, "hisv" );
3862 long_to_a( n, str );
3863 strcat( basename, str );
3864 n++;
3865 }
3866 else if ( dof_type[iuknwn]==-MATERI_MAXWELL_STRESS ) {
3867 if ( iuknwn==mstres_indx ) {
3868 m = 1;
3869 n = 0;
3870 }
3871 n++;
3872 if ( n>6 ) {
3873 m++;
3874 n = 1;
3875 }
3876 if ( n==1 ) strcpy( tmpname, "msigxx" );
3877 else if ( n==2 ) strcpy( tmpname, "msigxy" );
3878 else if ( n==3 ) strcpy( tmpname, "msigxz" );
3879 else if ( n==4 ) strcpy( tmpname, "msigyy" );
3880 else if ( n==5 ) strcpy( tmpname, "msigyz" );
3881 else if ( n==6 ) strcpy( tmpname, "msigzz" );
3882 long_to_a( m, basename );
3883 strcat( basename, tmpname );
3884 }
3885 else if ( dof_type[iuknwn]==-MATERI_PLASTI_F )
3886 strcpy( basename, "f" );
3887 else if ( dof_type[iuknwn]==-MATERI_PLASTI_F_NONLOCAL )
3888 strcpy( basename, "fn" );
3889 else if ( dof_type[iuknwn]==-MATERI_PLASTI_INCREMENTAL_SUBSTEPS )
3890 strcpy( basename, "substeps" );
3891 else if ( dof_type[iuknwn]==-MATERI_PLASTI_KAPPA )
3892 strcpy( basename, "kap" );
3893 else if ( dof_type[iuknwn]==-MATERI_PLASTI_RHO ) {
3894 if ( iuknwn==rho_indx ) n = 0;
3895 n++;
3896 if ( n==1 ) strcpy( basename, "rhoxx" );
3897 else if ( n==2 ) strcpy( basename, "rhoxy" );
3898 else if ( n==3 ) strcpy( basename, "rhoxz" );
3899 else if ( n==4 ) strcpy( basename, "rhoyy" );
3900 else if ( n==5 ) strcpy( basename, "rhoyz" );
3901 else if ( n==6 ) strcpy( basename, "rhozz" );
3902 }
3903 else if ( dof_type[iuknwn]==-MATERI_PLASTI_SOFTVAR_LOCAL )
3904 strcpy( basename, "softvar_loc" );
3905 else if ( dof_type[iuknwn]==-MATERI_PLASTI_SOFTVAR_NONLOCAL )
3906 strcpy( basename, "softvar_nonloc" );
3907 else if ( dof_type[iuknwn]==-MATERI_STRAINENERGY )
3908 strcpy( basename, "ener" );
3909 else if ( dof_type[iuknwn]==-MATERI_STRAIN_ELASTI ) {
3910 if ( iuknwn==epe_indx ) n = 0;
3911 n++;
3912 if ( n==1 ) strcpy( basename, "epexx" );
3913 else if ( n==2 ) strcpy( basename, "epexy" );
3914 else if ( n==3 ) strcpy( basename, "epexz" );
3915 else if ( n==4 ) strcpy( basename, "epeyy" );
3916 else if ( n==5 ) strcpy( basename, "epeyz" );
3917 else if ( n==6 ) strcpy( basename, "epezz" );
3918 }
3919 else if ( dof_type[iuknwn]==-MATERI_STRAIN_INTERGRANULAR ) {
3920 if ( iuknwn==epi_indx ) n = 0;
3921 n++;
3922 if ( n==1 ) strcpy( basename, "epixx" );
3923 else if ( n==2 ) strcpy( basename, "epixy" );
3924 else if ( n==3 ) strcpy( basename, "epixz" );
3925 else if ( n==4 ) strcpy( basename, "epiyy" );
3926 else if ( n==5 ) strcpy( basename, "epiyz" );
3927 else if ( n==6 ) strcpy( basename, "epizz" );
3928 }
3929 else if ( dof_type[iuknwn]==-MATERI_STRAIN_PLASTI ) {
3930 if ( iuknwn==epp_indx ) n = 0;
3931 n++;
3932 if ( n==1 ) strcpy( basename, "eppxx" );
3933 else if ( n==2 ) strcpy( basename, "eppxy" );
3934 else if ( n==3 ) strcpy( basename, "eppxz" );
3935 else if ( n==4 ) strcpy( basename, "eppyy" );
3936 else if ( n==5 ) strcpy( basename, "eppyz" );
3937 else if ( n==6 ) strcpy( basename, "eppzz" );
3938 }
3939 else if ( dof_type[iuknwn]==-MATERI_STRAIN_TOTAL ) {
3940 if ( iuknwn==ept_indx ) n = 0;
3941 n++;
3942 if ( n==1 ) strcpy( basename, "eptxx" );
3943 else if ( n==2 ) strcpy( basename, "eptxy" );
3944 else if ( n==3 ) strcpy( basename, "eptxz" );
3945 else if ( n==4 ) strcpy( basename, "eptyy" );
3946 else if ( n==5 ) strcpy( basename, "eptyz" );
3947 else if ( n==6 ) strcpy( basename, "eptzz" );
3948 }
3949 else if ( dof_type[iuknwn]==-MATERI_STRESS ) {
3950 if ( iuknwn==stres_indx ) n = 0;
3951 n++;
3952 if ( n==1 ) strcpy( basename, "sigxx" );
3953 else if ( n==2 ) strcpy( basename, "sigxy" );
3954 else if ( n==3 ) strcpy( basename, "sigxz" );
3955 else if ( n==4 ) strcpy( basename, "sigyy" );
3956 else if ( n==5 ) strcpy( basename, "sigyz" );
3957 else if ( n==6 ) strcpy( basename, "sigzz" );
3958 }
3959 else if ( dof_type[iuknwn]==-MATERI_VELOCITY ) {
3960 if ( iuknwn==vel_indx ) n = 0;
3961 n++;
3962 if ( n==1 ) strcpy( basename, "velx" );
3963 else if ( n==2 ) strcpy( basename, "vely" );
3964 else if ( n==3 ) strcpy( basename, "velz" );
3965 }
3966 else if ( dof_type[iuknwn]==-MATERI_VELOCITY_INTEGRATED ) {
3967 if ( iuknwn==veli_indx ) n = 0;
3968 n++;
3969 if ( n==1 ) strcpy( basename, "velix" );
3970 else if ( n==2 ) strcpy( basename, "veliy" );
3971 else if ( n==3 ) strcpy( basename, "veliz" );
3972 }
3973 else if ( dof_type[iuknwn]==-MATERI_VOID_FRACTION )
3974 strcpy( basename, "void" );
3975 else if ( dof_type[iuknwn]==-MATERI_WORK )
3976 strcpy( basename, "work" );
3977 else if ( dof_type[iuknwn]==-MAXWELL_E ) {
3978 if ( iuknwn==maxe_indx ) n = 0;
3979 n++;
3980 if ( n==1 ) strcpy( basename, "ex" );
3981 else if ( n==2 ) strcpy( basename, "ey" );
3982 else if ( n==3 ) strcpy( basename, "ez" );
3983 }
3984 else if ( dof_type[iuknwn]==-MAXWELL_EI ) {
3985 if ( iuknwn==maxei_indx ) n = 0;
3986 n++;
3987 if ( n==1 ) strcpy( basename, "eix" );
3988 else if ( n==2 ) strcpy( basename, "eiy" );
3989 else if ( n==3 ) strcpy( basename, "eiz" );
3990 }
3991 else if ( dof_type[iuknwn]==-MAXWELL_ER ) {
3992 if ( iuknwn==maxer_indx ) n = 0;
3993 n++;
3994 if ( n==1 ) strcpy( basename, "erx" );
3995 else if ( n==2 ) strcpy( basename, "ery" );
3996 else if ( n==3 ) strcpy( basename, "erz" );
3997 }
3998 else if ( dof_type[iuknwn]==-MAXWELL_FE ) {
3999 if ( iuknwn==maxfe_indx ) n = 0;
4000 n++;
4001 if ( n==1 ) strcpy( basename, "fex" );
4002 else if ( n==2 ) strcpy( basename, "fey" );
4003 else if ( n==3 ) strcpy( basename, "fez" );
4004 }
4005 else if ( dof_type[iuknwn]==-RESIDUE )
4006 strcpy( basename, "res" );
4007 else if ( dof_type[iuknwn]==-WAVE_SCALAR )
4008 strcpy( basename, "scal" );
4009 else if ( dof_type[iuknwn]==-WAVE_FSCALAR )
4010 strcpy( basename, "fscal" );
4011
4012 idat++; assert( idat<MDAT );
4013 strcpy( name[idat], basename );
4014 dof_label[iuknwn] = -idat;
4015
4016 if ( derivatives ) {
4017 for ( idim=0; idim<ndim; idim++ ) {
4018 iuknwn++;
4019 if ( idim==0 ) strcpy( str, "x" );
4020 else if ( idim==1 ) strcpy( str, "y" );
4021 else if ( idim==2 ) strcpy( str, "z" );
4022 strcat( str, basename );
4023 idat++; strcpy( name[idat], str );
4024 dof_label[iuknwn] = -idat;
4025 }
4026 iuknwn++;
4027 strcpy( str, "t" );
4028 strcat( str, basename );
4029 idat++; strcpy( name[idat], str );
4030 dof_label[iuknwn] = -idat;
4031 }
4032 }
4033
4034 }
4035
db(long int idat,long int index,long int * ival,double * dval,long int & length,long int version,long int task)4036 long int db( long int idat, long int index, long int *ival,
4037 double *dval, long int &length, long int version, long int task )
4038
4039 {
4040 long int i=0, l=0, data_ptr=0, data_number=0;
4041
4042 data_number = labs(idat);
4043 if ( version<0 || version>=MVERSION ||
4044 (!version_all[data_number]&&version!=VERSION_NORMAL) ) {
4045 pri( "Version failure for version ", version );
4046 db_error( idat, index );
4047 }
4048
4049 if ( task==GET ) {
4050 if ( !db_active_index(data_number,index,version) ) db_error( idat, index );
4051 length = db_len( data_number, index, version );
4052 }
4053 else if ( task==GET_IF_EXISTS ) {
4054 if ( !db_active_index(data_number,index,version) ) {
4055 length = 0;
4056 return 0;
4057 }
4058 length = db_len( data_number, index, version );
4059 }
4060 else if ( task==GET_AND_CHECK ) {
4061 if ( !db_active_index(data_number,index,version) ) db_error( idat, index );
4062 l = db_len( data_number, index, version );
4063 if ( l!=length ) db_error( idat, index );
4064 }
4065 else if ( task==PUT ) {
4066 if ( index<0 )
4067 db_error( idat, index );
4068 if ( index>0 && db_no_index(idat) )
4069 db_error( idat, index );
4070 if ( length<1 )
4071 db_error( idat, index );
4072 if ( length>db_data_length(data_number) ) {
4073 pri( "Length too small of ", db_name(data_number) );
4074 pri( "The length is ", db_data_length(data_number) );
4075 pri( "It should become at least", length );
4076 pri( "Increase it and recompile." );
4077 exit(TN_EXIT_STATUS);
4078 }
4079 if ( db_fixed_length( idat ) && length!=db_data_length(data_number) )
4080 db_error( idat, index );
4081 db_allocate( data_number, index, version, MAXIMAL );
4082 }
4083 data_ptr = db_data_length(data_number) * index;
4084
4085 if ( db_type(data_number)==INTEGER ) {
4086 for ( i=0; i<length; i++ ) {
4087 if ( task==PUT )
4088 int_data[data_number][version][data_ptr+i] = ival[i];
4089 else
4090 ival[i] = int_data[data_number][version][data_ptr+i];
4091 }
4092 }
4093 else {
4094 for ( i=0; i<length; i++ ) {
4095 if ( task==PUT )
4096 dbl_data[data_number][version][data_ptr+i] = dval[i];
4097 else
4098 dval[i] = dbl_data[data_number][version][data_ptr+i];
4099 }
4100 }
4101
4102 if ( task==PUT ) {
4103 if ( length<db_data_length(data_number) ) {
4104 if ( db_type(data_number)==INTEGER )
4105 int_data[data_number][version][data_ptr+length] = LONG_MIN;
4106 else
4107 dbl_data[data_number][version][data_ptr+length] = DBL_MAX;
4108 }
4109 }
4110
4111 return 1;
4112
4113 }
4114
4115
db_active_index(long int idat,long int index,long int version)4116 long int db_active_index( long int idat, long int index, long int version )
4117
4118 {
4119 long int result=1, max=-1, data_number=0, data_ptr=0;
4120
4121 data_number = labs(idat);
4122 max = max_index[data_number][version];
4123 data_ptr = db_data_length(data_number) * index;
4124
4125 if ( index<0 || index>max )
4126 result = 0;
4127 else if ( type[data_number]==DOUBLE_PRECISION )
4128 result = (dbl_data[data_number][version][data_ptr]!=DBL_MAX);
4129 else {
4130 result = (int_data[data_number][version][data_ptr]!=LONG_MIN);
4131 }
4132 return result;
4133
4134 }
4135
db_allocate(long int idat,long int index,long int version,long int task)4136 void db_allocate( long int idat, long int index, long int version, long int task )
4137
4138 {
4139 long int n=0, n_old=0, max_old=0, data_number=0,
4140 max=0, length=0, increase=0, *int_old=0;
4141 double *dbl_old=0;
4142
4143 data_number = labs(idat);
4144 if ( version<0 || version>=MVERSION ||
4145 (!version_all[data_number]&&version!=VERSION_NORMAL) ) {
4146 pri( "Version failure for version ", version );
4147 db_error( idat, index );
4148 }
4149
4150 db_max_index( data_number, max_old, version, GET );
4151 if ( index<=max_old ) return;
4152
4153 if ( parallel_active ) {
4154 pri( "Program error detected for data", -idat );
4155 pri( "Data is allocated in a parallel loop.");
4156 pri( "Please report this error with the input file.");
4157 exit_tn_on_error();
4158 }
4159
4160 max = index;
4161 if ( task==MAXIMAL && !db_no_index(data_number) ) {
4162 increase = index/10; // a bit extra for future use, heuristic
4163 if ( increase<1 ) increase = 1;
4164 max += increase;
4165 }
4166 db_max_index( data_number, max, version, PUT );
4167
4168 length = db_data_length( data_number );
4169 n = (1+max ) * length;
4170 n_old = (1+max_old) * length;
4171 if ( db_type(data_number)==INTEGER ) {
4172 if ( max_old>=0 ) int_old = int_data[data_number][version];
4173 int_data[data_number][version] = get_new_int(n);
4174 array_set( int_data[data_number][version], LONG_MIN, n );
4175 if ( max_old>=0 ) {
4176 array_move( int_old, int_data[data_number][version], n_old );
4177 delete[] int_old;
4178 }
4179 }
4180 else if ( db_type(data_number)==DOUBLE_PRECISION ) {
4181 if ( max_old>=0 ) dbl_old = dbl_data[data_number][version];
4182 dbl_data[data_number][version] = get_new_dbl(n);
4183 array_set( dbl_data[data_number][version], DBL_MAX, n );
4184 if ( max_old>=0 ) {
4185 array_move( dbl_old, dbl_data[data_number][version], n_old );
4186 delete[] dbl_old;
4187 }
4188 }
4189 else {
4190 db_error( data_number, version );
4191 }
4192
4193 }
4194
db_allocate_class(long int cl,long int index,long int version)4195 void db_allocate_class( long int cl, long int index, long int version )
4196
4197 {
4198 long int idat=0, ic=0;
4199
4200 ic = labs( cl );
4201
4202 for ( idat=0; idat<MDAT; idat++ ) {
4203 if ( db_data_class(idat)==ic && db_version( idat, version ) )
4204 db_allocate( idat, index, version, -MINIMAL );
4205 }
4206 }
4207
db_partialname(long int idat,char * str)4208 long int db_partialname( long int idat, char *str )
4209
4210 {
4211 long int return_value=0;
4212 char *name;
4213
4214 name = db_name( idat );
4215 if ( strstr(name,str)!=NULL ) return_value = 1;
4216
4217 return return_value;
4218 }
4219
db_partialname_any(const char * str)4220 long int db_partialname_any( const char *str )
4221
4222 {
4223 long int idat=0, max=0, return_value=0;
4224 char *name;
4225
4226 for ( idat=0; idat<MDAT; idat++ ) {
4227 name = db_name( idat );
4228 if ( strstr(name,str)!=NULL ) {
4229 db_highest_index( idat, max, VERSION_NORMAL );
4230 if ( max>=0 ) return_value = 1;
4231 }
4232 }
4233
4234 return return_value;
4235 }
4236
db_partialname_any_index(const char * str,long int index)4237 long int db_partialname_any_index( const char *str, long int index )
4238
4239 {
4240 long int idat=0, return_value=0;
4241 char *name;
4242
4243 for ( idat=0; idat<MDAT; idat++ ) {
4244 name = db_name( idat );
4245 if ( strstr(name,str)!=NULL ) {
4246 if ( db_active_index( idat, index, VERSION_NORMAL ) )
4247 return_value = 1;
4248 }
4249 }
4250
4251 return return_value;
4252 }
4253
db_data_class(long int idat)4254 long int db_data_class( long int idat )
4255
4256 {
4257 long int data_number=0;
4258
4259 data_number = labs(idat);
4260 return data_class[data_number];
4261 }
4262
db_data_required(long int idat)4263 long int db_data_required( long int idat )
4264
4265 {
4266 long int data_number=0;
4267
4268 data_number = labs(idat);
4269 return data_required[data_number];
4270 }
4271
db_close()4272 void db_close( )
4273
4274 {
4275 long int idat=0, version=0, data_number=0;
4276
4277 for ( version=0; version<MVERSION; version++ ) {
4278 for ( idat=0; idat<MDAT; idat++ ) {
4279 data_number = labs(idat);
4280 if ( version==0 || version_all[data_number] ) db_delete( idat, version );
4281 }
4282 }
4283 }
4284
db_copy(long int idat,long int jdat,long int version)4285 void db_copy( long int idat, long int jdat, long int version )
4286
4287 {
4288 long int n=0, max=0, data_numberi=0, data_numberj=0;
4289
4290 data_numberi = labs(idat);
4291 data_numberj = labs(jdat);
4292 if ( version<0 || version>=MVERSION ||
4293 (!version_all[data_numberi]&&version!=VERSION_NORMAL) ) {
4294 pri( "Version failure for version ", version );
4295 db_error( idat, -1 );
4296 }
4297 if ( version<0 || version>=MVERSION ||
4298 (!version_all[data_numberj]&&version!=VERSION_NORMAL) ) {
4299 pri( "Version failure for version ", version );
4300 db_error( jdat, -1 );
4301 }
4302
4303 db_max_index( data_numberi, max, version, GET );
4304 if ( max>=0 ) {
4305 if ( db_data_length(data_numberi)!=db_data_length(data_numberj) )
4306 db_error( data_numberj, -1 );
4307 db_delete( data_numberj, version );
4308 db_allocate( data_numberj, max, version, MINIMAL );
4309 n = (1+max)*db_data_length(data_numberi);
4310 if ( db_type(data_numberi)==INTEGER )
4311 array_move( int_data[data_numberi][version], int_data[data_numberj][version], n );
4312 else
4313 array_move( dbl_data[data_numberi][version], dbl_data[data_numberj][version], n );
4314 }
4315
4316 }
4317
db_data_length(long int idat)4318 long int db_data_length( long int idat )
4319
4320 {
4321
4322 long int data_number=0;
4323
4324 data_number = labs(idat);
4325
4326 return data_length[data_number];
4327
4328 }
4329
db_data_length_put(long int idat,long int length)4330 void db_data_length_put( long int idat, long int length )
4331
4332 {
4333
4334 long int data_number=0, version=0;
4335
4336 data_number = labs(idat);
4337
4338 for ( version=0; version<MVERSION; version++ ) {
4339 if ( db_version( idat, version ) ) db_delete( idat, version );
4340 }
4341 data_length[data_number] = length;
4342
4343 }
4344
db_dbl(long int idat,long int version)4345 double *db_dbl( long int idat, long int version )
4346
4347 {
4348 long int data_number=0, ldum=0;
4349 double *ptr=NULL;
4350
4351 data_number = labs(idat);
4352 if ( version<0 || version>=MVERSION ||
4353 (!version_all[data_number]&&version!=VERSION_NORMAL) ) {
4354 pri( "Version failure for version ", version );
4355 db_error( idat, -1 );
4356 }
4357
4358 if ( db_max_index(data_number,ldum,version,GET)<0 ) db_error( idat, -1 );
4359 if ( db_type(data_number)!=DOUBLE_PRECISION ) db_error( idat, -1 );
4360
4361 ptr = &dbl_data[data_number][version][0];
4362
4363 return ptr;
4364
4365 }
4366
db_dbl(long int idat,long int index,long int version)4367 double *db_dbl( long int idat, long int index, long int version )
4368
4369 {
4370 long int data_ptr=0, data_number=0;
4371 double *ptr=NULL;
4372
4373 data_number = labs(idat);
4374 if ( version<0 || version>=MVERSION ||
4375 (!version_all[data_number]&&version!=VERSION_NORMAL) ) {
4376 pri( "Version failure for version ", version );
4377 db_error( idat, index );
4378 }
4379
4380 if ( !db_active_index(data_number,index,version) ) db_error( idat, index );
4381 if ( db_type(data_number)!=DOUBLE_PRECISION ) db_error( idat, index );
4382
4383 data_ptr = data_length[data_number] * index;
4384 ptr = &dbl_data[data_number][version][data_ptr];
4385
4386 return ptr;
4387
4388 }
4389
db_delete(long int idat,long int version)4390 void db_delete( long int idat, long int version )
4391
4392 {
4393 long int data_number=0, max=-1, ldum=0;
4394
4395 data_number = labs(idat);
4396 if ( version<0 || version>=MVERSION ||
4397 (!version_all[data_number]&&version!=VERSION_NORMAL) ) {
4398 pri( "Version failure for version ", version );
4399 db_error( idat, -1 );
4400 }
4401
4402 if ( db_max_index(idat,ldum,version,GET)>=0 ) {
4403 if ( db_type(data_number)==INTEGER )
4404 delete[] int_data[data_number][version];
4405 else
4406 delete[] dbl_data[data_number][version];
4407 db_max_index(idat,max,version,PUT);
4408 }
4409
4410 }
4411
db_delete_index(long int idat,long int index,long int version)4412 void db_delete_index( long int idat, long int index, long int version )
4413
4414 {
4415 long int length=0, data_number=0;
4416
4417 data_number = labs(idat);
4418 if ( version<0 || version>=MVERSION ||
4419 (!version_all[data_number]&&version!=VERSION_NORMAL) ) {
4420 pri( "Version failure for version ", version );
4421 db_error( idat, index );
4422 }
4423
4424 if ( db_active_index(idat,index,version) ) {
4425 length = db_data_length( idat );
4426 if ( db_type(idat)==INTEGER )
4427 array_set( db_int(idat,index,version), LONG_MIN, length );
4428 else
4429 array_set( db_dbl(idat,index,version), DBL_MAX, length );
4430 }
4431 }
4432
db_error(long int idat,long int index)4433 void db_error( long int idat, long int index )
4434
4435 {
4436 pri( "Error detected for data item ", db_name(idat) );
4437 if ( index>=0 && !db_no_index(idat) )
4438 pri( "Error detected for record ", index );
4439
4440 exit(TN_EXIT_STATUS);
4441 }
4442
4443
db_external(long int idat)4444 long int db_external( long int idat )
4445
4446 {
4447 long int data_number = 0;
4448
4449 data_number = labs(idat);
4450
4451 return external[data_number];
4452
4453 }
4454
db_fixed_length(long int idat)4455 long int db_fixed_length( long int idat )
4456
4457 {
4458 long int data_number=0;
4459
4460 data_number = labs(idat);
4461
4462 return fixed_length[data_number];
4463
4464 }
4465
db_highest_index(long int idat,long int & max,long int version)4466 void db_highest_index( long int idat, long int &max, long int version )
4467
4468 {
4469 long int index=0, data_number=0;
4470
4471 data_number = labs(idat);
4472 if ( version<0 || version>=MVERSION ||
4473 (!version_all[data_number]&&version!=VERSION_NORMAL) ) {
4474 pri( "Version failure for version ", version );
4475 db_error( idat, -1 );
4476 }
4477
4478 db_max_index( idat, max, version, GET );
4479
4480 index = max;
4481 while ( index>=0 && !db_active_index(idat,index,version) ) index--;
4482 max = index;
4483
4484 }
4485
db_int(long int idat,long int version)4486 long int *db_int( long int idat, long int version )
4487
4488 {
4489 long int data_number=0, ldum=0, *ptr=NULL;
4490
4491 data_number = labs(idat);
4492 if ( version<0 || version>=MVERSION ||
4493 (!version_all[data_number]&&version!=VERSION_NORMAL) ) {
4494 pri( "Version failure for version ", version );
4495 db_error( idat, -1 );
4496 }
4497
4498 if ( db_max_index(data_number,ldum,version,GET)<0 ) db_error( idat, -1 );
4499 if ( db_type(data_number)!=INTEGER ) db_error( idat, -1 );
4500
4501 ptr = &int_data[data_number][version][0];
4502
4503 return ptr;
4504
4505 }
4506
db_int(long int idat,long int index,long int version)4507 long int *db_int( long int idat, long int index, long int version )
4508
4509 {
4510 long int data_ptr=0, data_number=0, *ptr=NULL;
4511
4512 data_number = labs(idat);
4513 if ( version<0 || version>=MVERSION ||
4514 (!version_all[data_number]&&version!=VERSION_NORMAL) ) {
4515 pri( "Version failure for version ", version );
4516 db_error( idat, index );
4517 }
4518
4519 if ( !db_active_index(data_number,index,version) ) db_error( idat, index );
4520 if ( db_type(data_number)!=INTEGER ) db_error( idat, index );
4521
4522 data_ptr = data_length[data_number] * index;
4523 ptr = &int_data[data_number][version][data_ptr];
4524
4525 return ptr;
4526
4527 }
4528
db_len(long int idat,long int index,long int version)4529 long int db_len( long int idat, long int index, long int version )
4530
4531 {
4532 long int i=0, l=0, data_ptr=0, data_number=0, length=0, left=0, right=0;
4533
4534 data_number = labs( idat );
4535 if ( version<0 || version>=MVERSION ||
4536 (!version_all[data_number]&&version!=VERSION_NORMAL) ) {
4537 pri( "Version failure for version ", version );
4538 db_error( idat, index );
4539 }
4540
4541 l = data_length[data_number];
4542 if ( fixed_length[data_number] )
4543 length = l;
4544 else if ( db_active_index( idat, index, version ) ) {
4545 data_ptr = l * index;
4546 length = -1;
4547 left = 0;
4548 right = l;
4549 do {
4550 i = ( left + right ) / 2;
4551 if ( left==right-1 )
4552 length = right;
4553 else if ( type[data_number]==INTEGER ) {
4554 if ( int_data[data_number][version][data_ptr+i]==LONG_MIN )
4555 right = i;
4556 else
4557 left = i;
4558 }
4559 else {
4560 if ( dbl_data[data_number][version][data_ptr+i]==DBL_MAX )
4561 right = i;
4562 else
4563 left = i;
4564 }
4565 }
4566 while ( length<0 );
4567 }
4568 else {
4569 db_error( idat, index );
4570 }
4571
4572 return length;
4573 }
4574
4575
db_max_index(long int idat,long int & max,long int version,long int task)4576 long int db_max_index( long int idat, long int &max, long int version, long int task )
4577
4578 {
4579 long int data_number=0;
4580
4581 data_number = labs(idat);
4582 if ( version<0 || version>=MVERSION ||
4583 (!version_all[data_number]&&version!=VERSION_NORMAL) ) {
4584 pri( "Version failure for version ", version );
4585 db_error( idat, -1 );
4586 }
4587
4588 assert( data_number>=0 || data_number<MDAT );
4589
4590 if ( task==GET )
4591 max = max_index[data_number][version];
4592 else {
4593 assert( task==PUT );
4594 max_index[data_number][version] = max;
4595 }
4596
4597 return max;
4598 }
4599
db_name(long int idat)4600 char *db_name( long int idat )
4601
4602 {
4603 long int data_number=0;
4604
4605 data_number = labs(idat);
4606 return name[data_number];
4607 }
4608
db_no_index(long int idat)4609 long int db_no_index( long int idat )
4610 {
4611 long int data_number=0;
4612
4613 data_number = labs(idat);
4614 return no_index[data_number];
4615 }
4616
db_number(char str[])4617 long int db_number( char str[] )
4618
4619 {
4620 long int data_number=0, found=-1;
4621
4622 for ( data_number=0; data_number<MDAT && found<0; data_number++ ) {
4623 if ( !strcmp(str,db_name(data_number)) ) found = data_number;
4624 }
4625
4626 return found;
4627
4628 }
4629
db_print_only(long int idat)4630 long int db_print_only( long int idat )
4631
4632 {
4633 long int data_number=0, return_value=0;
4634
4635 data_number = labs(idat);
4636
4637 return_value = print_only[data_number];
4638 return return_value;
4639 }
4640
db_set_dbl(long int jdat,long int version)4641 void db_set_dbl( long int jdat, long int version )
4642
4643 {
4644 long int k=0, max=0, length=0, index=0, data_ptr=0, data_numberi=0,
4645 data_numberj=0, idat=0, ldum=0;
4646
4647 assert( db_type(jdat)==DOUBLE_PRECISION );
4648
4649 assert( version>=0 && version<MVERSION );
4650 idat = db_data_class( jdat );
4651 if ( db_max_index(idat,ldum,version,GET)<0 ) return;
4652
4653 data_numberi = labs(idat);
4654 data_numberj = labs(jdat);
4655 if ( !version_all[data_numberi] ) assert( version==VERSION_NORMAL );
4656
4657 db_max_index( data_numberi, max, version, GET );
4658 db_delete( data_numberj, version );
4659 db_allocate( data_numberj, max, version, MINIMAL );
4660
4661 length = db_data_length(data_numberj);
4662 for ( index=0; index<=max; index++ ) {
4663 data_ptr = length * index;
4664 if ( db_active_index(data_numberi,index,version) ) {
4665 for ( k=0; k<length; k++ )
4666 dbl_data[data_numberj][version][data_ptr+k] = 0.;
4667 }
4668 else {
4669 for ( k=0; k<length; k++ ) {
4670 dbl_data[data_numberj][version][data_ptr+k] = DBL_MAX;
4671 }
4672 }
4673 }
4674
4675 }
4676
db_set_int(long int jdat,long int version)4677 void db_set_int( long int jdat, long int version )
4678
4679 {
4680 long int k=0, max=0, length=0, index=0, data_ptr=0, data_numberi=0,
4681 data_numberj=0, idat=0, ldum=0;
4682
4683 assert( db_type(jdat)==INTEGER );
4684
4685 assert( version>=0 && version<MVERSION );
4686 idat = db_data_class( jdat );
4687 if ( db_max_index(idat,ldum,version,GET)<0 ) return;
4688
4689 data_numberi = labs(idat);
4690 data_numberj = labs(jdat);
4691 if ( !version_all[data_numberi] ) assert( version==VERSION_NORMAL );
4692
4693 db_max_index( data_numberi, max, version, GET );
4694 db_delete( data_numberj, version );
4695 db_allocate( data_numberj, max, version, MINIMAL );
4696
4697 length = db_data_length(data_numberj);
4698 for ( index=0; index<=max; index++ ) {
4699 data_ptr = length * index;
4700 if ( db_active_index(data_numberi,index,version) ) {
4701 for ( k=0; k<length; k++ )
4702 int_data[data_numberj][version][data_ptr+k] = 0;
4703 }
4704 else {
4705 for ( k=0; k<length; k++ )
4706 int_data[data_numberj][version][data_ptr+k] = LONG_MIN;
4707 }
4708 }
4709
4710 }
4711
db_type(long int idat)4712 long int db_type( long int idat )
4713
4714 {
4715 long int data_number=0;
4716
4717 data_number = labs(idat);
4718
4719 return type[data_number];
4720
4721 }
4722
db_version(long int idat,long int version)4723 long int db_version( long int idat, long int version )
4724
4725 {
4726 long int data_number=0, return_value=0;
4727
4728 data_number = labs(idat);
4729 assert( version>=0 && version<MVERSION );
4730
4731 if ( version_all[data_number] )
4732 return_value = 1;
4733 else
4734 return_value = (version==VERSION_NORMAL);
4735
4736 return return_value;
4737 }
4738
db_version_copy(long int version_from,long int version_to)4739 void db_version_copy( long int version_from, long int version_to )
4740
4741 {
4742 long int idat=0;
4743
4744 for ( idat=0; idat<MDAT; idat++ ) {
4745 if ( version_all[idat] )
4746 db_version_copy_data( idat, version_from, version_to );
4747 }
4748
4749 }
4750
db_version_copy_data(long int idat,long int version_from,long int version_to)4751 void db_version_copy_data( long int idat, long int version_from, long int version_to )
4752
4753 {
4754 long int max_from=0, max_to=0, max=0, n=0, *int_ptr_from=NULL, *int_ptr_to=NULL;
4755 double *dbl_ptr_from=NULL, *dbl_ptr_to=NULL;
4756
4757 assert( version_all[idat] );
4758 assert( version_from>=0 && version_from<MVERSION );
4759 assert( version_to>=0 && version_to<MVERSION );
4760
4761 db_max_index( idat, max_from, version_from, GET );
4762 db_max_index( idat, max_to, version_to, GET );
4763 if ( max_from>max_to )
4764 max = max_from;
4765 else
4766 max = max_to;
4767
4768 if ( max_from>=0 ) {
4769 db_delete( idat, version_to );
4770 if ( db_type(idat)==INTEGER ) {
4771 int_ptr_from = db_int( idat, version_from );
4772 db_allocate( idat, max, version_to, MINIMAL );
4773 int_ptr_to = db_int( idat, version_to );
4774 n = (1+max_from)*db_data_length(idat);
4775 array_move( int_ptr_from, int_ptr_to, n );
4776 }
4777 else {
4778 assert( db_type(idat)==DOUBLE_PRECISION );
4779 dbl_ptr_from = db_dbl( idat, version_from );
4780 db_allocate( idat, max, version_to, MINIMAL );
4781 dbl_ptr_to = db_dbl( idat, version_to );
4782 n = (1+max_from)*db_data_length(idat);
4783 array_move( dbl_ptr_from, dbl_ptr_to, n );
4784 }
4785 db_max_index( idat, max, version_to, PUT );
4786 }
4787
4788 }
4789
db_version_delete(long int version)4790 void db_version_delete( long int version )
4791
4792 {
4793 long int idat=0;
4794
4795 assert( version>=0 && version<MVERSION );
4796 for ( idat=0; idat<MDAT; idat++ ) {
4797 if ( db_version(idat,version) ) db_delete( idat, version );
4798 }
4799
4800 }
4801
4802