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
72 CHARACTER(LEN=NCHARKEY) :: KEY2, KEY3
93 IF (isigi==3.OR.isigi==4.OR.isigi==5)
THEN
99 300
READ(iin5,fmt=
'(A)',
END=309,ERR=399)line
100 IF(line(1:8)/=
'/CONTROL')
GOTO 300
101 READ(iin5,fmt=
'(A)',
END=309,ERR=399)line
102 305
READ(iin5,fmt=
'(A)',
END=309,ERR=399)line
103 IF(line(1:1)==
'#')
GOTO 305
105 IF (ioutp_fmt==2)
THEN
106 IF(line(1:8)==
' ')
GOTO 305
109 IF(line(1:10)==
' ')
GOTO 305
112 IF(line(1:1)==
'/')
GOTO 309
113 306
READ(iin5,fmt=
'(A)',
END=309,ERR=399)line
114 IF(line(1:1)==
'#')
GOTO 306
116 IF (ioutp_fmt==2)
THEN
117 IF(line(1:8)==
' ')
GOTO 306
120 IF(line(1:10)==
' ')
GOTO 306
123 IF(line(1:1)==
'/')
GOTO 309
124 IF (ioutp_fmt==2)
THEN
126 . numsol,numquad,numshel,numtrus,numbeam,numspri,numsh3n,
131 . numsol,numquad,numshel,numtrus,numbeam,numspri,numsh3n,
151 400
READ(iin4,fmt=
'(A)',
END=449,ERR=449)line
152 IF(line(1:8)==
'/ENDDATA'THEN
156 IF(line(1:28)/=
'/SHELL /SCALAR /USERS')
GOTO 400
157 READ(iin4,fmt=
'(A)',
END=449,ERR=449)line
162 405
READ(iin4,fmt=
'(A)',
END=449,ERR=449)line
163 IF(line(1:1)==
'#')
GOTO 405
164 IF(line(1:1)==
'/')
GOTO 410
167 IF(j>numshel+numsh3n)
GOTO 410
169 READ(line,fmt=
'(4I8)')ihbe,nip,npg,nuvar
171 READ(line,fmt=
'(4I10)')ihbe,nip,npg,nuvar
173 nushell =
max(nushell,
max(1,npg)*
max(1,nip)*nuvar + nushell0)
179 DO j1 = 1,nu *
max(1,nip)*
max(1,npg)
180 406
READ(iin4,fmt=
'(A)',
END=449,ERR=449)line
181 IF(line(1:1)==
'#')
GOTO 406
182 IF(line(1:1)==
'/')
GOTO 410
191 409
READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
192 IF(line(1:8)==
'/ENDDATA')
THEN
196 410
IF(line(1:33)/=
'/SHELL /TENSOR /STRESS_FUL')
GOTO 409
198 READ(iin4,fmt=
'(A)',
END=443,ERR=499)line
203 411
READ(iin4,fmt=
'(A)',
END=443,ERR=499)line
204 IF(line(1:1)==
'#')
GOTO 411
205 IF(line(1:1)==
'/')
GOTO 443
209 IF(j>numshel+numsh3n)
GOTO 420
210 IF (ioutp_fmt==2)
THEN
211 READ(line,
'(2I8)')nip,npg
213 READ(line,fmt=fmt_2i) nip,npg
216 READ(iin4,fmt=
'(A)',
END=443,ERR=499)line
218 nvar_shell =
max(nvar_shell,
max(1,npg)*9)
220 nvar_shell =
max(nvar_shell,
max(1,nip)*
max(1,npg)*6)
224 IF (npg==0.OR.npg==1)
THEN
226 READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
227 READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
230 READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
236 READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
237 READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
243 READ(iin4,fmt=
'(A)',
END=443,ERR=399)line
256 425
READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
257 IF(line(1:8) ==
'/ENDDATA')
THEN
261 420
IF(line(1:30) /=
'/SOLID /TENSOR /STR_FUL')
GOTO 425
262 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
266 426
READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
267 IF(line(1:1) ==
'#')
GOTO 426
268 IF(line(1:1) ==
'/')
GOTO 429
270 IF(i > numsol+numquad)
GOTO 450
272 IF (ioutp_fmt == 2)
THEN
273 READ(line,
'(3I8)')nip,nums,jjhbe
275 READ(line,
'(3I10)')nip,nums, jjhbe
277 nvsolid1 =
max(nvsolid1,nip*9 + 4)
278 IF((nums == 8.OR.nums == 4).AND.jjhbe == 0)
THEN
280 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
282 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
283 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
286 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
287 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
290 ELSEIF(nums == 10 .OR. nums == 16 .OR. nums == 20.OR.
291 . (nums == 8.AND.jjhbe == 14) .or .(nums == 8.AND.jjhbe == 17).OR.
292 . ((nums == 6.OR.nums == 8) .AND. (jjhbe==15 .or. jjhbe==12)))
THEN
295 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
296 READ(iin4,fmt=
'(A)',
END=429,ERR=399)line
306 230
READ(iin4,fmt=
'(A)',
END=235,ERR=399)line
307 IF(line(1:8)==
'/ENDDATA')
THEN
311 232
IF(line(1:33)/=
'/SOLID /TENSOR /STRESS')
GOTO 230
312 READ(iin4,fmt=
'(A)',
END=235,ERR=399)line
314 nvsolid1 =
max(nvsolid1, 6)
319 430
READ(iin4,fmt=
'(A)',
END=435,ERR=399)line
320 IF(line(1:8)==
'/ENDDATA')
THEN
324 432
IF(line(1:33)/=
'/SOLID /TENSOR /STRAIN_FUL')
GOTO 430
325 READ(iin4,fmt=
'(A)',
END=435,ERR=399)line
329 434
READ(iin4,fmt=
'(A)',
END=435,ERR=399)line
330 IF(line(1:1)==
'#')
GOTO 434
331 IF(line(1:1)==
'/')
GOTO 435
334 IF(i>numsol+numquad)
GOTO 435
335 IF (ioutp_fmt==2)
THEN
336 READ(line,
'(3I8)')nip,nums,nels
338 READ(line,
'(3I10)')nip,nums, nels
340 nvsolid2 =
max(nvsolid2,
max(1,nip)*6)
343 READ(iin4,fmt=
'(A)',
END=435,ERR=399)line
350 444
READ(iin4,fmt=
'(A)',
END=499,ERR=499)line
351 IF(line(1:8)==
'/ENDDATA')
THEN
355 450
IF(line(1:28)/=
'/SOLID /SCALAR /USERS')
GOTO 444
356 READ(iin4,fmt=
'(A)',
END=498,ERR=399)line
359 455
READ(iin4,fmt=
'(A)',
END=498,ERR=399)line
360 IF(line(1:1)==
'#')
GOTO 455
361 IF(line(1:1)==
'/')
GOTO 498
363 READ(line,
'(4I8)')nums,nip,nuvar,jjhbe
365 READ(line,
'(4I10)')nums,nip,nuvar,jjhbe
367 nusolid =
max(nusolid,nip*nuvar)
371 IF(nd/=0) nu = nu + 1
372 IF(nuvar < 6) nu =
max(1,nip)
373 IF(i>numsol+numquad)
GOTO 498
374 IF (nuvar==0)
GOTO 455
375 DO j1 = 1,nu *
max(1,nip)
376 459
READ(iin4,fmt=
'(A)',
END=498,ERR=399)line
377 IF(line(1:1)==
'#')
GOTO 459
378 IF(line(1:1)==
'/')
GOTO 498
384 nvshell = nvshell + nvshell0
390 CALL ancmsg(msgid=557, msgtype=msgerror, anmode=aninfo_blind_1)
subroutine initia(iparg, elbuf, ms, in, v, x, ixs, ixq, ixc, ixt, ixp, ixr, detonators, geo, pm, rby, npby, lpby, npc, npts, pld, veul, ale_connectivity, skew, fill, ipart, itab, sensors, skvol, ixtg, thk, nloc_dmg, group_param_tab, glob_therm, igrnod, igrsurf, bufsf, vr, bufmat, xlas, las, dtelem, mss, msq, msc, mst, msp, msr, mstg, ptg, inc, nod2eltg, knod2eltg, inp, inr, intg, index, itri, kxx, ixx, xelemwa, iwa, nod2elq, knod2elq, nod2els, knod2els, kxsp, ixsp, nod2sp, ispcond, icode, iskew, iskn, ispsym, xframe, isptag, spbuf, mssx, nsigi, npbyl, lpbyl, rbyl, msnf, mssf, nsigsh, igeo, ipm, nsigs, nsigsph, vns, vnsx, stc, stt, stp, str, sttg, stur, bns, bnsx, volnod, bvolnod, etnod, nshnod, stifint, fxbdep, fxbvit, fxbacc, fxbipm, fxbrpm, fxbelm, fxbsig, fxbmod, ins, ptshel, ptsh3n, ptsol, ptquad, wma, ptsph, fxbnod, mbufel, mdepl, fxani, numel, nsigrs, sh4tree, sh3tree, mcp, temp, imerge2, iadmerge2, slnrbm, nslnrbm, rmstifn, rmstifr, ms_layer, zi_layer, itag, itagel, mcpc, mcptg, xrefc, xreftg, xrefs, mssa, msrt, irbe2, lrbe2, inivol, kvol, nbsubmat, ixs10, ixs16, ixs20, totaddmas, ipmas, stifn, msz2, itagn, sitage, itage, ixr_kj, elbuf_tab, nom_opt, ptr_nopt_rbe2, ptr_nopt_adm, ptr_nopt_fun, sol2sph, irst, sh3trim, xfem_tab, kxig3d, ixig3d, msig3d, knot, nctrlmax, wige, stack, rnoise, drape, sh4ang, sh3ang, geo_stack, igeo_stack, stifintr, strc, strp, strr, strtg, perturb, itagnd, nativ_sms, iloadp, facload, ptspri, nsigbeam, ptbeam, nsigtruss, pttruss, multi_fvm, sigi, sigsh, sigsp, sigsph, sigrs, sigbeam, sigtruss, strsglob, straglob, orthoglob, isigsh, iyldini, ksigsh3, fail_ini, iusolyld, iuser, iddlevel, inimap1d, inimap2d, func2d, fvm_inivel, tagprt_sms, igrbric, igrquad, igrsh4n, igrsh3n, igrpart, totmas, knotlocpc, knotlocel, vnige, bnige, fxbglm, fxbcpm, fxbcps, fxblm, fxbfls, fxbdls, fxb_matrix, fxb_matrix_add, fxb_last_adress, ptr_nopt_fxb, r_skew, knod2el1d, nod2el1d, ebcs_tab, rby_iniaxis, alea, knod2elc, nod2elc, dr, slrbody, drapeg, ipari, intbuf_tab, interfaces, mat_param, npreload_a, preload_a, fail_fractal, fail_brokmann, defaults, ndamp_freq_range, dampr, ibeam_vector, rbeam_vector, ikine, lsigi, lsigsp, srnoise, nprw, lprw, rwstif_pen, sln_pen)