34
35
36
40 USE multi_fvm_mod
41
42
43
44#include "implicit_f.inc"
45
46
47
48 TYPE (H3D_KEYWORD) H3D_KEYWORD_QUAD_SCALAR(*)
50 INTEGER IGEO(NPROPGI,NUMGEO)
51 TYPE(MULTI_FVM_STRUCT), INTENT(IN) :: MULTI_FVM
52 INTEGER, INTENT(INOUT) :: NKEY
53
54
55
56#include "com04_c.inc"
57#include "param_c.inc"
58
59
60
61 INTEGER I,II,J,NIPMAX,IPLYMAX,CPTPLY,IPTMAX
62
63
64
65 i = 0
66
67 i = i + 1
68 h3d_keyword_quad_scalar(i)%KEY3 = 'MASS'
69 h3d_keyword_quad_scalar(i)%TEXT1 = 'Mass'
70
71 i = i + 1
72 h3d_keyword_quad_scalar(i)%KEY3 = 'DENS'
73 h3d_keyword_quad_scalar(i)%TEXT1 = 'Density'
74
75 i = i + 1
76 h3d_keyword_quad_scalar(i)%KEY3 = 'ENER'
77 h3d_keyword_quad_scalar(i)%TEXT1 = 'Internal Energy per unit mass'
78
79 i = i + 1
80 h3d_keyword_quad_scalar(i)%KEY3 = 'TEMP'
81 h3d_keyword_quad_scalar(i)%TEXT1 = 'Temperature'
82
83 i = i + 1
84 h3d_keyword_quad_scalar(i)%KEY3 = 'THICK'
85 h3d_keyword_quad_scalar(i)%TEXT1 = 'Thickness'
86
87 i = i + 1
88 h3d_keyword_quad_scalar(i)%KEY3 = 'P'
89 h3d_keyword_quad_scalar(i)%TEXT1 = 'Pressure'
90
91 i = i + 1
92 h3d_keyword_quad_scalar(i)%KEY3 = 'VONM'
93 h3d_keyword_quad_scalar(i)%TEXT1 = 'Von Mises'
94
95 i = i
96 h3d_keyword_quad_scalar(i)%KEY3 = 'K'
97 h3d_keyword_quad_scalar(i)%TEXT1 = 'Turbulent Energy'
98
99 i = i + 1
100 h3d_keyword_quad_scalar(i)%KEY3 = 'TVIS'
101 h3d_keyword_quad_scalar(i)%TEXT1 = 'Turbulent Viscosity'
102
103 i = i + 1
104 h3d_keyword_quad_scalar(i)%KEY3 = 'VORTX'
105 h3d_keyword_quad_scalar(i)%TEXT1 = 'Vorticity'
106
107 i = i + 1
108 h3d_keyword_quad_scalar(i)%KEY3 = 'DAM1'
109 h3d_keyword_quad_scalar(i)%TEXT1 = 'damage 1'
110
111 I = I + 1
112 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'dam2'
113 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'damage 2'
114
115 I = I + 1
116 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'dam3'
117 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'damage 3'
118
119 I = I + 1
120 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'sigx'
121 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'stress x'
122
123 I = I + 1
124 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'sigy'
125 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'stress y'
126
127 I = I + 1
128 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'sigz'
129 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'stress z'
130
131 I = I + 1
132 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'sigxy'
133 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'stress xy'
134
135 I = I + 1
136 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'sigyz'
137 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'stress yz'
138
139 I = I + 1
140 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'sigzx'
141 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'stress zx'
142
143 I = I + 1
144 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'user'
145 H3D_KEYWORD_QUAD_SCALAR(I)%IS_UVAR = 1
146 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'user var'
147
148 I = I + 1
149 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'hourglass'
150 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'hourglass energy per unit mass'
151
152 IF (MULTI_FVM%IS_USED) THEN
153
154
155
156
157 DO II = 1, MULTI_FVM%NBMAT
158
159 I = I + 1
160 WRITE(H3D_KEYWORD_QUAD_SCALAR(I)%KEY3, '(a9,i0)') 'm151vfrac', II
161 WRITE(H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1, '(a17,i0)') 'volume fraction ', II
162 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'volume fractions(
for ale multi-material law151)
'
163
164 I = I + 1
165 WRITE(H3D_KEYWORD_QUAD_SCALAR(I)%KEY3, '(a8,i0)') 'm151dens', II
166 WRITE(H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1, '(a8,i0)') 'density ', II
167 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'density(
for ale multi-material law151)
'
168
169 I = I + 1
170 WRITE(H3D_KEYWORD_QUAD_SCALAR(I)%KEY3, '(a8,i0)') 'm151ener', II
171 WRITE(H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1, '(a7,i0)') 'energy ', II
172 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'energy(
for ale multi-material law151)
'
173
174 I = I + 1
175 WRITE(H3D_KEYWORD_QUAD_SCALAR(I)%KEY3, '(a8,i0)') 'm151pres', II
176 WRITE(H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1, '(a10,i0)') 'pressure ', II
177 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'pressure(
for ale multi-material law151)
'
178
179 ENDDO
180 ELSE
181
182 I = I + 1
183 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vfrac1'
184 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric fraction 1'
185 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'volumetric fractions(
for ale multi-material laws: law20, law37 and law51)
'
186
187 I = I + 1
188 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vfrac2'
189 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric fraction 2'
190 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'volumetric fractions(
for ale multi-material laws: law20, law37 and law51)
'
191
192 I = I + 1
193 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vfrac3'
194 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric fraction 3'
195 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'volumetric fractions (
for ale multi-material laws: law20, law37 and law51)
'
196
197 I = I + 1
198 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vfrac4'
199 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric fraction 4'
200 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'volumetric fractions(
for ale multi-material laws: law20, law37 and law51)
'
201
202 ENDIF ! MULTI_FVM%IS_USED
203
204 I = I + 1
205 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'bfrac'
206 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'burn fraction'
207
208 I = I + 1
209 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'ssp'
210 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'sound speed'
211
212 I = I + 1
213 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'epsd'
214 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'strain rate'
215
216 I = I + 1
217 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'epsp'
218 H3D_KEYWORD_QUAD_SCALAR(I)%IS_LAYER = 1
219 H3D_KEYWORD_QUAD_SCALAR(I)%IS_LAYER_ALL = 1
220 H3D_KEYWORD_QUAD_SCALAR(I)%IS_IPT = 1
221 H3D_KEYWORD_QUAD_SCALAR(I)%IS_IPT_ALL = 1
222 H3D_KEYWORD_QUAD_SCALAR(I)%IS_PLY = 1
223 H3D_KEYWORD_QUAD_SCALAR(I)%IS_PLY_ALL = 1
224 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'plastic strain '
225
226 I = I + 1
227 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'tsaiwu'
228 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'tsai-wu criterion'
229
230 I = I + 1
231 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'fail'
232 H3D_KEYWORD_QUAD_SCALAR(I)%IS_PLY = 1
233 H3D_KEYWORD_QUAD_SCALAR(I)%IS_IPT = 1
234 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'nb of failed layers'
235
236 I = I + 1
237 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'crmas'
238 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'airbag crossing mass'
239
240 I = I + 1
241 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'crvel'
242 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'airbag crossing velocity'
243
244 I = I + 1
245 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'thin'
246 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = '%Thinning'
247
248 I = I + 1
249 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'error/thick'
250 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'estimated error on thickness'
251
252 I = I + 1
253 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'phi'
254 H3D_KEYWORD_QUAD_SCALAR(I)%IS_PLY = 1
255 H3D_KEYWORD_QUAD_SCALAR(I)%IS_PLY_ALL = 1
256 H3D_KEYWORD_QUAD_SCALAR(I)%IS_LAYER = 1
257 H3D_KEYWORD_QUAD_SCALAR(I)%IS_LAYER_ALL = 1
258 H3D_KEYWORD_QUAD_SCALAR(I)%IS_IPT = 1
259 H3D_KEYWORD_QUAD_SCALAR(I)%IS_IPT_ALL = 1
260 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'phi'
261
262 I = I + 1
263 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'dama'
264 H3D_KEYWORD_QUAD_SCALAR(I)%IS_PLY = 1
265 H3D_KEYWORD_QUAD_SCALAR(I)%IS_PLY_ALL = 1
266 H3D_KEYWORD_QUAD_SCALAR(I)%IS_LAYER = 1
267 H3D_KEYWORD_QUAD_SCALAR(I)%IS_LAYER_ALL = 1
268 H3D_KEYWORD_QUAD_SCALAR(I)%IS_IPT = 1
269 H3D_KEYWORD_QUAD_SCALAR(I)%IS_IPT_ALL = 1
270 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'damage'
271
272 I = I + 1
273 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'failure'
274 H3D_KEYWORD_QUAD_SCALAR(I)%IS_PLY = 1
275 H3D_KEYWORD_QUAD_SCALAR(I)%IS_PLY_ALL = 1
276 H3D_KEYWORD_QUAD_SCALAR(I)%IS_LAYER = 1
277 H3D_KEYWORD_QUAD_SCALAR(I)%IS_LAYER_ALL = 1
278 H3D_KEYWORD_QUAD_SCALAR(I)%IS_IPT = 1
279 H3D_KEYWORD_QUAD_SCALAR(I)%IS_IPT_ALL = 1
280 H3D_KEYWORD_QUAD_SCALAR(I)%IS_ID = 1
281 H3D_KEYWORD_QUAD_SCALAR(I)%IS_MODE = 1
282 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'failure'
283 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'damage of'
284
285 I = I + 1
286 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'dama/memb'
287 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'max damage membrane
'
288
289 I = I + 1
290 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'nxtf'
291 H3D_KEYWORD_QUAD_SCALAR(I)%IS_LAYER = 1
292 H3D_KEYWORD_QUAD_SCALAR(I)%IS_LAYER_ALL = 1
293 H3D_KEYWORD_QUAD_SCALAR(I)%IS_IPT = 1
294 H3D_KEYWORD_QUAD_SCALAR(I)%IS_IPT_ALL = 1
295 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'nxt failure factor'
296
297 I = I + 1
298 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'nxtf/memb'
299 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'nxt failure factor membrane'
300
301 I = I + 1
302 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'tdel'
303 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'time deletion element'
304
305 I = I + 1
306 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'schlieren'
307 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'schlieren'
308 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT =
309 .'schlieren image(optical method widely used in cfd field). ale material laws'
310
311 I = I + 1
312 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'phi/memb'
313 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'phi membrane'
314
315 I = I + 1
316 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'domain'
317 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'domain'
318
319 I = I + 1
320 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'sigeq'
321 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'equiv stress'
322
323 I = I + 1
324 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'bulk'
325 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'artificial viscosity'
326
327 I = I + 1
328 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/dens1'
329 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'density-1'
330
331 I = I + 1
332 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/dens2'
333 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'density-2'
334
335 I = I + 1
336 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/ener1'
337 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'specific energy-1'
338
339 I = I + 1
340 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/ener2'
341 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'specific energy-2'
342
343 I = I + 1
344 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/temp1'
345 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'temperature-1'
346
347 I = I + 1
348 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/temp2'
349 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'temperature-2'
350
351 I = I + 1
352 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/p1'
353 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'pressure-1'
354
355 I = I + 1
356 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/p2'
357 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'pressure-2'
358
359 I = I + 1
360 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/epsp1'
361 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'plastic strain-1'
362
363 I = I + 1
364 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/epsp1'
365 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'plastic strain-2'
366
367 I = I + 1
368 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/ssp1'
369 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'sound speed-1'
370
371 I = I + 1
372 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/ssp2'
373 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'sound speed-2'
374
375 I = I + 1
376 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/volum1'
377 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volume-1'
378
379 I = I + 1
380 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/volum2'
381 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volume-2'
382
383 I = I + 1
384 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/qvis1'
385 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'artificial viscosity-1'
386
387 I = I + 1
388 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'law20/qvis2'
389 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'artificial viscosity-2'
390
391 I = I + 1
392 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'tdet'
393 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'detonation time'
394
395 I = I + 1
396 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'dt'
397 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'time step'
398
399 i = i + 1
400 h3d_keyword_quad_scalar(i)%KEY3 = 'AMS'
401 h3d_keyword_quad_scalar(i)%TEXT1 = 'AMS selection'
402
403 i = i + 1
404 h3d_keyword_quad_scalar(i)%KEY3 = 'ENTH'
405 h3d_keyword_quad_scalar(i)%TEXT1 = 'Enthalpy'
406
407 i = i + 1
408 h3d_keyword_quad_scalar(i)%KEY3 = 'ENTHM'
409 h3d_keyword_quad_scalar(i)%TEXT1 = 'Enthalpy per unit mass'
410
411 i = i + 1
412 h3d_keyword_quad_scalar(i)%KEY3 = 'ENTHV'
413 h3d_keyword_quad_scalar(i)%TEXT1 = 'Enthalpy per unit volume'
414
415 i = i + 1
416 h3d_keyword_quad_scalar(i)%KEY3 = 'EINTM'
417 h3d_keyword_quad_scalar(i)%TEXT1 = 'Internal Energy per unit mass'
418
419 i = i + 1
420 h3d_keyword_quad_scalar(i)%KEY3 = 'EINTV'
421 h3d_keyword_quad_scalar(i)%TEXT1 = 'Internal Energy per unit volume'
422
423 i = i + 1
424 h3d_keyword_quad_scalar(i)%KEY3 = 'EINT'
425 h3d_keyword_quad_scalar(i)%TEXT1 = 'Internal Energy'
426
427 i = i + 1
428 h3d_keyword_quad_scalar(i)%KEY3 = 'OFF'
429 h3d_keyword_quad_scalar(i)%TEXT1 = 'Element status'
430 h3d_keyword_quad_scalar(i)%COMMENT = '0.0:deleted >0.&<1.:under failure process 1.0:activated <0:Standby'
431
432 i = i + 1
433 h3d_keyword_quad_scalar(i)%KEY3 = 'mach'
434 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'mach number'
435 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'mach number. only available with ale material law 151'
436
437 I = I + 1
438 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'color'
439 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'color function'
440 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'color
function for multimaterial and multifluid ale laws
'
441
442 I = I + 1
443 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'volu'
444 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volume'
445 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'element volume'
446
447 I = I + 1
448 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'group'
449 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'group identifier'
450
451 I = I + 1
452 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'internal.
id'
453 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'internal identifier'
454
455 I = I + 1
456 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'local.
id'
457 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'local identifier within
the group
'
458
459 I = I + 1
460 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'tillotson'
461 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'region identifier in p,v diagram
'
462 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = '1:compressed, 2:expanded cold, 3:transition, 4:hot expansion'
463
464 I = I + 1
465 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'div(U)'
466 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric dilatation rate'
467 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'div(u)'
468
469 I = I + 1
470 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vstrain'
471 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric strain'
472 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'mu=rho/rho0-1'
473
474
475 I = I + 1
476 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vstrain/1'
477 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric strain 1'
478 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'mu=rho/rho0-1'
479
480 I = I + 1
481 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vstrain/2'
482 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric strain 2'
483 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'mu=rho/rho0-1'
484
485 I = I + 1
486 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vstrain/3'
487 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric strain 3'
488 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'mu=rho/rho0-1'
489
490 I = I + 1
491 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vstrain/4'
492 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric strain 4'
493 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'mu=rho/rho0-1'
494
495 I = I + 1
496 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vstrain/5'
497 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric strain 5'
498 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'mu=rho/rho0-1'
499
500 I = I + 1
501 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vstrain/6'
502 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric strain 6'
503 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'mu=rho/rho0-1'
504
505 I = I + 1
506 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vstrain/7'
507 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric strain 7'
508 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'mu=rho/rho0-1'
509
510 I = I + 1
511 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vstrain/8'
512 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric strain 8'
513 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'mu=rho/rho0-1'
514
515 I = I + 1
516 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vstrain/9'
517 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric strain 9'
518 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'mu=rho/rho0-1'
519
520 I = I + 1
521 H3D_KEYWORD_QUAD_SCALAR(I)%KEY3 = 'vstrain/10'
522 H3D_KEYWORD_QUAD_SCALAR(I)%TEXT1 = 'volumetric strain 10'
523 H3D_KEYWORD_QUAD_SCALAR(I)%COMMENT = 'mu'
524
525
526 NKEY=I
527
end diagonal values have been computed in the(sparse) matrix id.SOL
for(i8=*sizetab-1;i8 >=0;i8--)
subroutine tillotson(iflag, nel, pm, off, eint, mu, mu2, espe, dvol, df, vnew, mat, psh, pnew, dpdm, dpde, vareos, nvareos)