35 SUBROUTINE create_h3d_input(H3D_DATA,IKAD,IKEY,IREC,NBC,KEY0,KEY2,KEY3,KEY4,KEY5,KEY6,KEY7,KEY8)
54#include "implicit_f.inc"
60 TYPE (H3D_DATABASE) :: H3D_DATA
61 INTEGER IKAD(0:*),IKEY,IREC
64 CHARACTER(LEN=NCHARKEY) :: KEY2, KEY3, KEY4, KEY5,KEY6,KEY7,KEY8
72 CHARACTER(LEN=NCHARLINE100):: CARTE,CARTE1,KEY3_GLOB
73 INTEGER I,J,L,N_H3D_PART,CPT,
74 . IS_CHAR_KEY3,IS_CHAR_KEY4,IS_CHAR_KEY5,IS_CHAR_KEY6,IS_CHAR_KEY7,IS_CHAR_KEY8,
75 . IS_EMPTY_KEY3,IS_EMPTY_KEY4,IS_EMPTY_KEY5,IS_EMPTY_KEY6,,IS_EMPTY_KEY8
77 h3d_data%N_INPUT_H3D = h3d_data%N_INPUT_H3D + 1
78 h3d_data%INPUT_LIST(h3d_data%N_INPUT_H3D)%KEY2 = key2
79 h3d_data%INPUT_LIST(h3d_data%N_INPUT_H3D)%KEY3 = key3
80 h3d_data%INPUT_LIST(h3d_data%N_INPUT_H3D)%KEY4 = key4
81 h3d_data%INPUT_LIST(h3d_data%N_INPUT_H3D)%KEY5 = key5
82 h3d_data%INPUT_LIST(h3d_data%N_INPUT_H3D)%KEY6 = key6
83 h3d_data%INPUT_LIST(h3d_data%N_INPUT_H3D)%KEY7 = key7
84 h3d_data%INPUT_LIST(h3d_data%N_INPUT_H3D)%KEY8 = key8
89 READ(iusc1,rec=irec+j-1,fmt=
'(A)',err=999)carte
90 n_h3d_part=n_h3d_part + nvar(carte)
93 h3d_data%INPUT_LIST(h3d_data%N_INPUT_H3D)%NB_PART = n_h3d_part
95 .
ALLOCATE(h3d_data%INPUT_LIST(h3d_data%N_INPUT_H3D)%PART_LIST(n_h3d_part))
99 READ(iusc1,rec=irec+j-1,fmt=
'(A)',err=999)carte
100 CALL wriusc2(irec+j-1,1,key0(ikey))
101 READ(iusc2,*,err=999,
END=999)
102 . (h3d_data%INPUT_LIST(h3d_data%N_INPUT_H3D)%PART_LIST(n_h3d_part + l),l=1,
nvar(carte))
103 n_h3d_part=n_h3d_part +
nvar(carte)
126 IF ( key3(i:i) ==
'=' ) is_char_key3 = 0
127 IF ( key3(i:i) /=
' ' ) is_empty_key3 = 0
128 IF ( key4(i:i) ==
'=' ) is_char_key4 = 0
129 IF ( key4(i:i) /=
' ' ) is_empty_key4 = 0
130 IF ( key5(i:i) ==
'=' ) is_char_key5 = 0
131 IF ( key5(i:i) /=
' ' ) is_empty_key5 = 0
132 IF ( key6(i:i) ==
'=' ) is_char_key6 = 0
133 IF ( key6(i:i) /=
' ' ) is_empty_key6 = 0
134 IF ( key7(i:i) ==
'=' ) is_char_key7 = 0
135 IF ( key7(i:i) /=
' ' ) is_empty_key7 = 0
136 IF ( key8(i:i) ==
'=' ) is_char_key8 = 0
137 IF ( key8(i:i) /=
' ' ) is_empty_key8 = 0
141 IF ( is_char_key3 == 1 .AND. is_empty_key3 == 0)
THEN
143 IF ( key3(i:i) /=
' ' )
THEN
145 key3_glob(cpt:cpt) = key3(i:i)
149 IF ( is_char_key4 == 1 .AND. is_empty_key4 == 0 )
THEN
151 key3_glob(cpt:cpt) =
'/'
153 IF ( key4(i:i) /=
' ' )
THEN
155 key3_glob(cpt:cpt) = key4(i:i)
159 IF ( is_char_key5 == 1 .AND. is_empty_key5 == 0 )
THEN
161 key3_glob(cpt:cpt) =
'/'
163 IF ( key5(i:i) /=
' ' )
THEN
165 key3_glob(cpt:cpt) = key5(i:i)
169 IF ( is_char_key6 == 1 .AND. is_empty_key6 == 0 )
THEN
171 key3_glob(cpt:cpt) =
'/'
173 IF ( key6(i:i) /=
' ' )
THEN
175 key3_glob(cpt:cpt) = key6(i:i)
179 IF ( is_char_key7 == 1 .AND. is_empty_key7 == 0 )
THEN
181 key3_glob(cpt:cpt) =
'/'
183 IF ( key7(i:i) /=
' ' )
THEN
185 key3_glob(cpt:cpt) = key7(i:i)
189 IF ( is_char_key8 == 1 .AND. is_empty_key8 == 0 )
THEN
191 key3_glob(cpt:cpt) =
'/'
193 IF ( key8(i:i) /=
' ' )
THEN
195 key3_glob(cpt:cpt) = key8(i:i)
200 IF(key2 ==
'NODA')
THEN
202 IF (key3_glob ==
'DT') h3d_data%N_SCAL_DT = 1
203 IF (key3_glob ==
'DMASS') h3d_data%N_SCAL_DMAS = 1
204 IF (key3_glob ==
'DINER') h3d_data%N_SCAL_DINER = 1
205 IF (key3_glob ==
'DAMA2') h3d_data%N_SCAL_DAMA2 = 1
206 IF (key3_glob ==
'SKID_LINE') h3d_data%N_SCAL_SKID = 1
207 IF (key3_glob ==
'STIFR') h3d_data%N_SCAL_STIFR = 1
208 IF (key3_glob ==
'STIF') h3d_data%N_SCAL_STIFN = 1
209 IF (key3_glob ==
'CSE_FRICG') h3d_data%N_SCAL_CSE_FRIC = 1
210 IF (key3_glob ==
'CSE_FRIC') h3d_data%N_SCAL_CSE_FRICINT = 1
212 IF (key3_glob ==
'CONT'.OR.key3_glob ==
'CONT/TMAX') h3d_data%N_VECT_CONT = 1
213 IF (key3_glob ==
'CONT/TMAX') h3d_data%N_VECT_CONT_MAX = 1
214 IF (key3_glob ==
'FINT') h3d_data%N_VECT_FINT = 1
215 IF (key3_glob ==
'FEXT') h3d_data%N_VECT_FEXT = 1
216 IF (key3_glob ==
'PCONT'.OR.key3_glob ==
'PCONT/TMAX') h3d_data%N_VECT_PCONT = 1
217 IF (key3_glob ==
'PCONT/TMAX') h3d_data%N_VECT_PCONT_MAX = 1
218 IF (key3_glob ==
'CONT2'.OR.key3_glob ==
'CONT2/TMAX'.OR.
219 . key3_glob ==
'CONT2/TMIN') h3d_data%N_VECT_CONT2 = 1
220 IF (key3_glob ==
'PCONT2'.OR.key3_glob ==
'PCONT2/TMAX'.OR.
221 . key3_glob ==
'PCONT2/TMIN' .OR.key3_glob ==
'MAXPCONT2/NORMAL')
222 . h3d_data%N_VECT_PCONT2 = 1
223 IF (key3_glob ==
'CONT2/TMAX') h3d_data%N_VECT_CONT2_MAX = 1
224 IF (key3_glob ==
'CONT2/TMIN') h3d_data%N_VECT_CONT2_MIN = 1
225 IF (key3_glob ==
'PCONT2/TMAX'.OR.key3_glob ==
'MAXPCONT2/NORMAL')
226 . h3d_data%N_VECT_PCONT2_MAX = 1
227 IF (key3_glob ==
'PCONT2/TMIN'.OR.key3_glob ==
'MINPCONT2/NORMAL')
228 . h3d_data%N_VECT_PCONT2_MIN = 1
229 IF (key3_glob ==
'CONT2/MOMENT') h3d_data%N_VECT_CONT2M = 1
230 IF (key3_glob ==
'DROT') h3d_data%N_VECT_DROT = 1
231 IF (key3_glob ==
'DXANC') h3d_data%N_VECT_DXANC = 1
232 IF (key3_glob ==
'FREAC') h3d_data%N_VECT_FREAC = 1
233 IF (key3_glob ==
'MREAC') h3d_data%N_VECT_MREAC = 1
234 IF (key3_glob ==
'CLUST/FORCE') h3d_data%N_VECT_CLUST_FORCE = 1
235 IF (key3_glob ==
'CLUST/MOM') h3d_data%N_VECT_CLUST_MOM = 1
238 IF(key2 ==
"ELEM" .OR. key2 ==
'SOLID' .OR. key2 ==
'QUAD')
THEN
239 IF (key3_glob ==
'VECT/CONT') h3d_data%N_VECT_CONT = 1
240 IF (key3_glob ==
'VECT/ACC') h3d_data%N_VECT_ACC = 1
241 IF (key3_glob ==
'TENS/EPSDOT') iepsdot = 1
242 IF (key3_glob ==
'VORTX') h3d_data%SOL_SCAL_VORTX = 1
243 IF (key3_glob ==
'VORTY') h3d_data%SOL_SCAL_VORTY = 1
244 IF (key3_glob ==
'VORTZ') h3d_data%SOL_SCAL_VORTZ = 1
245 IF (key3_glob ==
'VORT')
THEN
246 h3d_data%SOL_SCAL_VORTX = 1
247 h3d_data%SOL_SCAL_VORTY = 1
248 h3d_data%SOL_SCAL_VORTZ = 1
252 IF(key2 ==
'SHELL')
THEN
254 IF (key3_glob ==
'ERROR/THICK') h3d_data%SH_SCAL_ERR_THK = 1
256 IF (key3_glob ==
'TENS/EPSDOT') iepsdot = 1
259 IF(key2 ==
'SPRING' .OR. key2 ==
'BEAM' .OR. key2 ==
'TRUSS' )
THEN
260 IF (key3_glob ==
'FORC') h3d_data%UND_FORC = 1
264 IF (key2 ==
'QUAD')
THEN
266 IF (key3_glob ==
'TENS/STRAIN') h3d_data%STRAIN = 1
272 999 print *,
'error lecture'