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"
51 INTEGER NB_KEY,CPT_KEY
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 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
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..AND.
' IS_MDSVAR == 0
109.AND..AND.
. IS_IPT ==0 IS_LAYER == 0 IS_PLY == 0) THEN
110 NB_KEY = IS_PLY_ALL+IS_LAYER_ALL+1
111 IF (CPT_KEY == 1) THEN
115.OR.
IF(IS_MODEL_PLY == 1 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. is_mdsvar == 0 .AND.
278 . is_ipt ==0 .AND. is_layer == 0 .AND. is_ply == 0)
THEN
279 nb_key = is_ply_all+is_layer_all+1
280 IF (cpt_key == 1)
THEN
284 IF(is_model_ply == 1 .OR. 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. is_mdsvar == 0 .AND.
335 . is_ipt ==0 .AND. is_layer == 0 .AND. is_ply == 0)
THEN
336 nb_key = is_ply_all+is_layer_all+1
337 IF (cpt_key == 1)
THEN
341 IF(is_model_ply == 1 .OR. 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