41 USE format_mod ,
ONLY : fmt_2i
42 USE reader_old_mod ,
ONLY : line
46#include "implicit_f.inc"
50 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
65 . NUMS,NIP,NUVAR,JJHBE,J1,NU,IP,N,NPSOLID,
66 . K,IHBE,NPG,ND,NVAR_SHELL,NPT,NE,
67 . NVSHELL0,NUSHELL0,NORTSHEL0,NUSOLID0,NELS,KK,JJ,
68 . ISOLNOD,ISOLID,IFRAM,IORTH,IREP,IGTYP,ISH3N,NDIR,NLAYERS,
69 . UID,SUB_ID,NLAY,NPTR,NPTS,NPTT,IFAIL,IRUPT_TYP,NVAR_RUPT,
70 . ILAY,IMAT,NPT_MAX,NUBEAM0,NVSH_STRA,ISMSTR
71 INTEGER IGBR, JGBR, IOK
73 CHARACTER(LEN=NCHARKEY) :: KEY2, KEY3
94 IF (isigi==3.OR.isigi==4.OR.isigi==5)
THEN
100 300
READ(iin5,fmt=
'(A)',
END=309,ERR=399)line
101 IF(line(1:8)/=
'/CONTROL')
GOTO 300
102 READ(iin5,fmt=
'(A)',
END=309,ERR=399)line
103 305
READ(iin5,fmt=
'(A)',
END=309,ERR=399)line
104 IF(line(1:1)==
'#')
GOTO 305
106 IF (ioutp_fmt==2)
THEN
107 IF(line(1:8)==
' ')
GOTO 305
110 IF(line(1:10)==
' ')
GOTO 305
113 IF(line(1:1)==
'/')
GOTO 309
114 306
READ(iin5,fmt=
'(A)',
END=309,ERR=399)line
115 IF(line(1:1)==
'#')
GOTO 306
117 IF (ioutp_fmt==2)
THEN
118 IF(line(1:8)==
' ')
GOTO 306
121 IF(line(1:10)==
' ')
GOTO 306
124 IF(line(1:1)==
'/')
GOTO 309
125 IF (ioutp_fmt==2)
THEN
127 . numsol,numquad,numshel,numtrus,numbeam,numspri,numsh3n,
132 . numsol,numquad,numshel,numtrus,numbeam,numspri,numsh3n,
152 400
READ(iin4,fmt=
'(A)',
END
153 IF(line(1:8)==
'/ENDDATA')
THEN
157 IF(line(1:28)/=
'/SHELL /SCALAR /USERS')
GOTO 400
158 READ(iin4,fmt=
'(A)',
END=449,ERR=449)line
163 405
READ(iin4,fmt=
'(A)',
END=449,ERR=449)line
164 IF(line(1:1)==
'#')
GOTO 405
165 IF(line(1:1)==
'/')
GOTO 410
168 IF(j>numshel+numsh3n)
GOTO 410
170 READ(line,fmt=
'(4I8)')ihbe,nip,npg,nuvar
172 READ(line,fmt=
'(4I10)')ihbe,nip,npg,nuvar
174 nushell =
max(nushell,
max(1,npg)*
max(1,nip)*nuvar + nushell0)
180 DO j1 = 1,nu *
max(1,nip)*
max(1,npg)
181 406
READ(iin4,fmt=
'(A)',
END=449,ERR=449)line
182 IF(line(1:1)==
'#')
GOTO 406
183 IF(line(1:1)==
'/')
GOTO 410
192 409
READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
193 IF(line(1:8)==
'/ENDDATA')
THEN
197 410
IF(line(1:33)/=
'/SHELL /TENSOR /STRESS_FUL')
GOTO 409
199 READ(iin4,fmt=
'(A)',
END=443,ERR=499)line
204 411
READ(iin4,fmt=
'(A)',
END=443,ERR=499)line
205 IF(line(1:1)==
'#')
GOTO 411
206 IF(line(1:1)==
'/')
GOTO 443
210 IF(j>numshel+numsh3n)
GOTO 420
211 IF (ioutp_fmt==2)
THEN
212 READ(line,
'(2I8)')nip,npg
214 READ(line,fmt=fmt_2i) nip,npg
217 READ(iin4,fmt=
'(A)',
END=443,ERR=499)line
219 nvar_shell =
max(nvar_shell,
max(1,npg)*9)
221 nvar_shell =
max(nvar_shell
225 IF (npg==0.OR.npg==1)
THEN
227 READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
228 READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
231 READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
237 READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
238 READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
244 READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
257 425
READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
258 IF(line(1:8) ==
'/ENDDATA')
THEN
262 420
IF(line(1:30) /=
'/SOLID /TENSOR /STR_FUL')
GOTO 425
263 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
267 426
READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
268 IF(line(1:1) ==
'#')
GOTO 426
269 IF(line(1:1) ==
'/')
GOTO 429
271 IF(i > numsol+numquad)
GOTO 450
273 IF (ioutp_fmt == 2)
THEN
274 READ(line,
'(3I8)')nip,nums,jjhbe
276 READ(line,
'(3I10)')nip,nums, jjhbe
278 nvsolid1 =
max(nvsolid1,nip*9 + 4)
279 IF((nums == 8.OR.nums == 4).AND.jjhbe == 0)
THEN
281 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
283 READ(iin4,fmt=
'(A)'END=429,ERR=399)line
284 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
287 READ(iin4,fmt=
'(A)',
END=429
288 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
291 ELSEIF(nums == 10 .OR. nums == 16 .OR. nums == 20.OR.
292 . (nums == 8.AND.jjhbe == 14) .or .(nums == 8.AND.jjhbe == 17).OR.
293 . ((nums == 6.OR.nums
THEN
296 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
297 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
307 230
READ(iin4,fmt=
'(A)',
END=235,ERR=399)line
308 IF(line(1:8)==
'/ENDDATA')
THEN
312 232
IF(line(1:33)/=
'/SOLID /TENSOR /STRESS')
GOTO 230
313 READ(iin4,fmt=
'(A)',
END=235,ERR=399)line
315 nvsolid1 =
max(nvsolid1, 6)
320 430
READ(iin4,fmt=
'(A)',
END=435,ERR=399)line
321 IF(line(1:8)==
'/ENDDATA')
THEN
325 432
IF(line(1:33)/=
'/SOLID /TENSOR /STRAIN_FUL')
GOTO 430
326 READ(iin4,fmt=
'(A)',
END=435,ERR=399)line
330 434
READ(iin4,fmt=
'(A)',
END=435,ERR=399)line
331 IF(line(1:1)==
'#')
GOTO 434
332 IF(line(1:1)==
'/')
GOTO 435
335 IF(i>numsol+numquad)
GOTO 435
336 IF (ioutp_fmt==2)
THEN
337 READ(line,
'(3I8)')nip,nums,nels
339 READ(line,
'(3I10)')nip,nums, nels
341 nvsolid2 =
max(nvsolid2,
max(1,nip)*6)
344 READ(iin4,fmt=
'(A)',
END=435,ERR=399)line
351 444
READ(iin4,fmt=
'(A)',
END=499,ERR=499)line
352 IF(line(1:8)==
'/ENDDATA')
THEN
356 450
IF(line(1:28)/=
'/SOLID /SCALAR /USERS')
GOTO 444
357 READ(iin4,fmt=
'(A)',
END=498,ERR=399)line
360 455
READ(iin4,fmt=
'(A)',
END=498,ERR=399)line
361 IF(line(1:1)==
'#')
GOTO 455
362 IF(line(1:1)==
'/')
GOTO 498
364 READ(line,
'(4I8)')nums,nip,nuvar,jjhbe
366 READ(line,
'(4I10)')nums,nip,nuvar,jjhbe
368 nusolid =
max(nusolid,nip*nuvar)
372 IF(nd/=0) nu = nu + 1
373 IF(nuvar < 6) nu =
max(1,nip)
374 IF(i>numsol+numquad)
GOTO 498
375 IF (nuvar==0)
GOTO 455
376 DO j1 = 1,nu *
max(1,nip)
377 459
READ(iin4,fmt=
'(A)',
END=498,ERR=399)line
378 IF(line(1:1)==
'#')
GOTO 459
379 IF(line(1:1)==
'/')
GOTO 498
385 nvshell = nvshell + nvshell0
391 CALL ancmsg(msgid=557, msgtype=msgerror, anmode=aninfo_blind_1)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)