34 SUBROUTINE h3d_gene_keyword(KEY2_READ,KEY2,KEY3_READ,KEY3_GLOB,NB_KEY,CPT_KEY,MULTI_FVM,
35 . IS_MODEL_NPT,IS_MODEL_LAYER,IS_MODEL_PLY,IS_MDSVAR,IS_MDSVAR_DEF,
36 . IS_PLY_ALL,IS_LAYER_ALL,IS_IPT,IS_LAYER,IS_PLY,IS_ID)
47#include "implicit_f.inc"
52 CHARACTER(LEN=NCHARKEY) :: KEY2,KEY2_READ
53 CHARACTER(LEN=NCHARLINE100) :: KEY3_READ,KEY3_GLOB
54 TYPE(multi_fvm_struct),
INTENT(IN) :: MULTI_FVM
58 INTEGER I,J,NIPMAX,I1,I2,II,IS_MODEL_NPT,IS_MODEL_LAYER,IS_MODEL_PLY,
59 . IS_MDSVAR,IS_MDSVAR_DEF,IS_PLY_ALL,IS_LAYER_ALL,IS_IPT,
60 . is_layer,is_ply,is_id
61 CHARACTER(LEN=2) :: CH_OPTION
63 IF (key2_read ==
'MASS')
THEN
66 IF (cpt_key == 1) key2 =
'NODA'
67 IF (cpt_key == 1) key3_glob =
'MASS'
68 IF (cpt_key == 2) key2 =
'SHELL'
69 IF (cpt_key == 2) key3_glob =
'MASS'
70 IF (cpt_key == 3) key2 =
'SOLID'
71 IF (cpt_key == 3) key3_glob =
'MASS'
72 IF (cpt_key == 4) key2 =
'SPH'
73 IF (cpt_key == 4) key3_glob =
'MASS'
74 IF (cpt_key == 5) key2 =
'BEAM'
75 IF (cpt_key == 5) key3_glob =
'MASS'
76 IF (cpt_key == 6) key2 =
'SPRING'
77 IF (cpt_key == 6) key3_glob =
'MASS'
78 IF (cpt_key == 7) key2 =
'TRUSS'
79 IF (cpt_key == 7) key3_glob =
'MASS'
80 IF (cpt_key == 8) key2 =
'QUAD'
81 IF (cpt_key == 8) key3_glob =
'MASS'
83 ELSEIF (key2_read ==
'SOLID')
THEN
85 IF (key3_read ==
'ORTHD')
THEN
87 IF (cpt_key == 1) key3_glob =
'ORTHD/PSI'
88 IF (cpt_key == 2) key3_glob =
'ORTHD/THETA'
89 IF (cpt_key == 3) key3_glob =
'ORTHD/PHI'
90 ELSEIF (key3_read ==
'MOM')
THEN
92 IF (cpt_key == 1) key3_glob =
'MOMX'
93 IF (cpt_key == 2) key3_glob =
'MOMY'
94 IF (cpt_key == 3) key3_glob =
'MOMZ'
95 IF (cpt_key == 4) key3_glob =
'MOMXY'
96 IF (cpt_key == 5) key3_glob =
'MOMYZ'
97 IF (cpt_key == 6) key3_glob =
'MOMXZ'
98 IF (cpt_key == 7) key3_glob =
'|MOM|'
99 ELSEIF (key3_read ==
'VEL')
THEN
101 IF (cpt_key == 1) key3_glob =
'VELX'
102 IF (cpt_key == 2) key3_glob =
'VELY'
103 IF (cpt_key == 3) key3_glob =
'VELZ'
104 IF (cpt_key == 4) key3_glob =
'VELXY'
105 IF (cpt_key == 5) key3_glob =
'VELYZ'
106 IF (cpt_key == 6) key3_glob =
'VELXZ'
107 IF (cpt_key == 7) key3_glob =
'|VEL|'
108 ELSEIF (key3_read ==
'MDS' .AND. is_mdsvar == 0 .AND.
109 . is_ipt ==0 .AND. is_layer == 0 .AND. is_ply == 0)
THEN
110 nb_key = is_ply_all+is_layer_all+1
111 IF (cpt_key == 1)
THEN
115 IF(is_model_ply == 1 .OR. is_model_layer == 1 )is_layer_all = 1
117 ELSEIF (key3_read ==
'VFRAC')
THEN
120 IF (multi_fvm%IS_USED)
THEN
121 nb_key = multi_fvm%NBMAT
123 IF (cpt_key == ii)
THEN
124 WRITE(key3_glob,
'(A,I0)')
'M151VFRAC', ii
129 IF (cpt_key == 1) key3_glob =
'VFRAC/1'
130 IF (cpt_key == 2) key3_glob =
'VFRAC/2'
131 IF (cpt_key == 3) key3_glob =
'VFRAC/3'
132 IF (cpt_key == 4) key3_glob =
'VFRAC/4'
136 key3_glob = key3_read
139 ELSEIF (key2_read ==
'NODA')
THEN
141 IF (key3_read == 'fopt
') THEN
143 IF (CPT_KEY == 1) KEY3_GLOB = 'fopt/force
'
144 IF (CPT_KEY == 2) KEY3_GLOB = 'fopt/moment
'
145 ELSEIF (KEY3_READ == 'pcont
') THEN
147 IF (CPT_KEY == 1) KEY3_GLOB = 'pcont/normal
'
148 IF (CPT_KEY == 2) KEY3_GLOB = 'pcont/tangent
'
149 ELSEIF (KEY3_READ == 'pcont/tmax
') THEN
151 IF (CPT_KEY == 1) KEY3_GLOB = 'maxpcont/normal
'
152 IF (CPT_KEY == 2) KEY3_GLOB = 'maxpcont/tangent
'
153 ELSEIF (KEY3_READ == 'pcont2
') THEN
155 IF (CPT_KEY == 1) KEY3_GLOB = 'pcont2/normal
'
156 IF (CPT_KEY == 2) KEY3_GLOB = 'pcont2/tangent
'
157 ELSEIF (KEY3_READ == 'pcont2/tmax
') THEN
159 IF (CPT_KEY == 1) KEY3_GLOB = 'maxpcont2/normal
'
160 IF (CPT_KEY == 2) KEY3_GLOB = 'maxpcont2/tangent
'
161 ELSEIF (KEY3_READ == 'pcont2/tmin
') THEN
163 IF (CPT_KEY == 1) KEY3_GLOB = 'minpcont2/normal'
164 IF (cpt_key == 2) key3_glob =
'MINPCONT2/TANGENT'
165 ELSEIF (key3_read ==
'DAMA2')
THEN
167 IF (cpt_key == 1) key3_glob =
'DAMA2/NORMAL'
168 IF (cpt_key == 2) key3_glob =
'DAMA2/TANGENT'
171 key3_glob = key3_read
174 ELSEIF (key2_read ==
'QUAD')
THEN
175 IF (key3_read ==
'VFRAC')
THEN
180 IF (multi_fvm%IS_USED)
THEN
181 nb_key = multi_fvm%NBMAT
183 IF (cpt_key == ii)
THEN
184 WRITE(key3_glob,
'(A,I0)')
'M151VFRAC', ii
189 IF (cpt_key == 1) key3_glob =
'VFRAC1'
190 IF (cpt_key == 2) key3_glob =
'VFRAC2'
191 IF (cpt_key == 3) key3_glob =
'VFRAC3'
192 IF (cpt_key == 4) key3_glob =
'VFRAC4'
196 ELSEIF (key2_read ==
'ELEM')
THEN
197 IF (key3_read ==
'VFRAC')
THEN
202 IF (multi_fvm%IS_USED)
THEN
203 nb_key = multi_fvm%NBMAT
205 IF (cpt_key == ii)
THEN
206 WRITE(key3_glob,
'(A,I0)')
'M151VFRAC', ii
211 IF (cpt_key == 1) key3_glob =
'VFRAC1'
212 IF (cpt_key == 2) key3_glob =
'VFRAC2'
213 IF (cpt_key == 3) key3_glob =
'VFRAC3'
214 IF (cpt_key == 4) key3_glob =
'VFRAC4'
216 ELSEIF (key3_read ==
'PHASE_DENS')
THEN
217 IF (multi_fvm%IS_USED)
THEN
218 nb_key = multi_fvm%NBMAT
220 IF (cpt_key == ii)
THEN
221 WRITE(key3_glob,
'(A,I0)')
'M151DENS', ii
225 ELSEIF (key3_read ==
'PHASE_ENER')
THEN
226 IF (multi_fvm%IS_USED)
THEN
227 nb_key = multi_fvm%NBMAT
229 IF (cpt_key == ii)
THEN
230 WRITE(key3_glob,
'(A,I0)')
'M151ENER', ii
234 ELSEIF (key3_read ==
'PHASE_PRES')
THEN
235 IF (multi_fvm%IS_USED)
THEN
236 nb_key = multi_fvm%NBMAT
238 IF (cpt_key == ii)
THEN
239 WRITE(key3_glob,
'(A,I0)')
'M151PRES', ii
243 ELSEIF (key3_read ==
'ORTHD')
THEN
245 IF (cpt_key == 1) key3_glob =
'ORTHD/PSI'
246 IF (cpt_key == 2) key3_glob =
'ORTHD/THETA'
247 IF (cpt_key == 3) key3_glob =
'ORTHD/PHI'
248 ELSEIF (key3_read ==
'MOM')
THEN
250 IF (cpt_key == 1) key3_glob =
'MOMX'
251 IF (cpt_key == 2) key3_glob =
'MOMY'
252 IF (cpt_key == 3) key3_glob = 'momz
'
253 IF (CPT_KEY == 4) KEY3_GLOB = 'momxy
'
254 IF (CPT_KEY == 5) KEY3_GLOB = 'momyz
'
255 IF (CPT_KEY == 6) KEY3_GLOB = 'momxz
'
256 IF (CPT_KEY == 7) KEY3_GLOB = '|mom|
'
257 ELSEIF (KEY3_READ == 'vel
') THEN
259 IF (CPT_KEY == 1) KEY3_GLOB = 'velx
'
260 IF (CPT_KEY == 2) KEY3_GLOB = 'vely
'
261 IF (CPT_KEY == 3) KEY3_GLOB = 'velz'
262 IF (cpt_key == 4) key3_glob =
'VELXY'
263 IF (cpt_key == 5) key3_glob =
'VELYZ'
264 IF (cpt_key == 6) key3_glob =
'VELXZ'
265 IF (cpt_key == 7) key3_glob =
'|VEL|'
266 ELSEIF (key3_read ==
'FORC')
THEN
268 IF (cpt_key == 1) key3_glob =
'F1'
269 IF (cpt_key == 2) key3_glob =
'F2'
270 IF (cpt_key == 3) key3_glob =
'F3'
271 IF (cpt_key == 4) key3_glob = 'm11
'
272 IF (CPT_KEY == 5) KEY3_GLOB = 'm21
'
273 IF (CPT_KEY == 6) KEY3_GLOB = 'm31
'
274 IF (CPT_KEY == 7) KEY3_GLOB = 'm12
'
275 IF (CPT_KEY == 8) KEY3_GLOB = 'm22
'
276 IF (CPT_KEY == 9) KEY3_GLOB = 'm32
'
277 ELSEIF (KEY3_READ == 'mds.AND..AND.
' IS_MDSVAR == 0
278.AND..AND.
. IS_IPT ==0 IS_LAYER == 0 IS_PLY == 0) THEN
279 NB_KEY = IS_PLY_ALL+IS_LAYER_ALL+1
280 IF (CPT_KEY == 1) THEN
284.OR.
IF(IS_MODEL_PLY == 1 IS_MODEL_LAYER == 1 )IS_LAYER_ALL = 1
313 ELSEIF (KEY2_READ == 'shell
') THEN
315 IF (KEY3_READ == 'vfrac
') THEN
320 IF (MULTI_FVM%IS_USED) THEN
321 NB_KEY = MULTI_FVM%NBMAT
323 IF (CPT_KEY == II) THEN
324 WRITE(KEY3_GLOB, '(a,i0)
') 'm151vfrac
', II
329 IF (CPT_KEY == 1) KEY3_GLOB = 'vfrac1
'
330 IF (CPT_KEY == 2) KEY3_GLOB = 'vfrac2
'
331 IF (CPT_KEY == 3) KEY3_GLOB = 'vfrac3
'
332 IF (CPT_KEY == 4) KEY3_GLOB = 'vfrac4
'
334 ELSEIF (KEY3_READ == 'mds.AND..AND.
' IS_MDSVAR == 0
335.AND..AND.
. IS_IPT ==0 IS_LAYER == 0 IS_PLY == 0) THEN
336 NB_KEY = IS_PLY_ALL+IS_LAYER_ALL+1
337 IF (CPT_KEY == 1) THEN
341.OR.
IF(IS_MODEL_PLY == 1 IS_MODEL_LAYER == 1 )IS_LAYER_ALL = 1
345 ELSEIF (KEY3_READ == 'phase_dens
') THEN
347 IF (MULTI_FVM%IS_USED) THEN
348 NB_KEY = MULTI_FVM%NBMAT
350 IF (CPT_KEY == II) THEN
351 WRITE(KEY3_GLOB, '(a,i0)
') 'm151dens
', II
356 ELSEIF (KEY3_READ == 'phase_ener
') THEN
358 IF (MULTI_FVM%IS_USED) THEN
359 NB_KEY = MULTI_FVM%NBMAT
361 IF (CPT_KEY == II) THEN
362 WRITE(KEY3_GLOB, '(a,i0)
') 'm151ener
', II
367 ELSEIF (KEY3_READ == 'phase_pres
') THEN
369 IF (MULTI_FVM%IS_USED) THEN
370 NB_KEY = MULTI_FVM%NBMAT
372 IF (CPT_KEY == II) THEN
373 WRITE(KEY3_GLOB, '(a,i0)
') 'm151pres
', II
378 ELSEIF (KEY2_READ == 'beam.OR.
' KEY2_READ == 'spring.OR.
' KEY2_READ == 'truss
') THEN
380 IF (KEY3_READ == 'forc
') THEN
382 IF (CPT_KEY == 1) KEY3_GLOB = 'f1
'
383 IF (CPT_KEY == 2) KEY3_GLOB = 'f2
'
384 IF (CPT_KEY == 3) KEY3_GLOB = 'f3
'
385 IF (CPT_KEY == 4) KEY3_GLOB = 'm11
'
386 IF (CPT_KEY == 5) KEY3_GLOB = 'm21
'
387 IF (CPT_KEY == 6) KEY3_GLOB = 'm31
'
388 IF (CPT_KEY == 7) KEY3_GLOB = 'm12
'
389 IF (CPT_KEY == 8) KEY3_GLOB = 'm22
'
390 IF (CPT_KEY == 9) KEY3_GLOB = 'm32
'
393 KEY3_GLOB = KEY3_READ
397 KEY3_GLOB = KEY3_READ
400 CPT_KEY = CPT_KEY + 1
subroutine h3d_gene_keyword(key2_read, key2, key3_read, key3_glob, nb_key, cpt_key, multi_fvm, is_model_npt, is_model_layer, is_model_ply, is_mdsvar, is_mdsvar_def, is_ply_all, is_layer_all, is_ipt, is_layer, is_ply, is_id)