37 1 X ,IRECTS ,IRECTM ,NRTS ,NRTM ,
38 2 GEO ,IXS ,PM ,IXC ,IXTG ,
39 3 NINT ,NTY ,NOINT ,NSN ,NSV ,
40 4 INTTH ,NMN ,MSR ,WA ,
41 5 KNOD2ELS ,KNOD2ELC ,KNOD2ELTG ,NOD2ELS ,NOD2ELC ,
42 6 NOD2ELTG ,THK ,IXS10 ,IXS16 ,IXS20 ,
43 7 IPARTC ,IPARTTG ,GAP ,IGAP ,GAP_S ,
44 8 GAPMIN ,GAPINF ,GAPMAX ,GAPSCALE,BGAPSMX ,
45 9 STFN ,STF ,ID,TITR ,GAP_M ,IGEO ,
52#include
"implicit_f.inc"
62 INTEGER NRTS, NRTM, NINT, NTY, NOINT, NSN, NMN, IGAP
63 INTEGER IRECTS(4,*), IRECTM(4,*), IXS(,*), IXC(NIXC,*),
64 . NSV(*), IXTG(NIXTG,*),
65 . KNOD2ELS(*), KNOD2ELC(*), KNOD2ELTG(*), NOD2ELS(*), (*),
67 . INTTH, MSR(*), IXS10(*),
68 . IXS16(*), IXS20(*), IPARTC(*), IPARTTG(*),IGEO(NPROPGI,*),
72 . gap, gapmin, gapinf, gapmax, gapscale, bgapsmx,
73 . x(3,*), pm(npropm,*), geo(npropg,*), thk(*), wa(*),
74 . gap_s(*), stfn(*), stf(*), gap_m(*),pm_stack(*)
76 CHARACTER(LEN=NCHARTITLE) :: TITR
80 INTEGER I, J, INRT, NELS, NELC, NELTG, IE, II, MAT, IP, MG, NDX,
84 . dxm, gapmx, gapmn,
area, dx, gapm
104 CALL insol3(x,irects,ixs,nint,nels,inrt,
105 .
area,noint,knod2els ,nod2els ,0 ,ixs10,
110 CALL incoq3(irects,ixc ,ixtg ,nint ,nelc ,
111 . neltg,inrt,geo ,pm ,knod2elc ,
112 . knod2eltg ,nod2elc ,nod2eltg,thk,nty,igeo,
113 . pm_stack , iworksh )
120 IF(igtyp == 17) dx = half*thk(numelc + neltg)
121 wa(ixtg(2,neltg))=
max(wa(ixtg(2,neltg)),dx)
122 wa(ixtg(3,neltg))=
max(wa(ixtg(3,neltg)),dx)
123 wa(ixtg(4,neltg))=
max(wa(ixtg(4,neltg)),dx)
131 IF(igtyp == 17) dx = half*thk(nelc)
132 wa(ixc(2,nelc))=
max(wa(ixc(2,nelc)),dx)
133 wa(ixc(3,nelc))=
max(wa(ixc(3,nelc)),dx)
134 wa(ixc(4,nelc))=
max(wa(ixc(4,nelc)),dx)
135 wa(ixc(5,nelc))=
max(wa(ixc(5,nelc)),dx)
139 IF(nels+nelc+neltg==0)
THEN
144 . anmode=aninfo_blind_2,
152 . anmode=aninfo_blind_2,
162 gapm=gapscale * wa(nsv(i))
172 CALL i4gmx3(x,irectm,inrt,gapmx)
176 CALL insol3(x,irectm,ixs,nint,nels,inrt,
177 .
area,noint,knod2els ,nod2els ,0 ,ixs10,
182 CALL incoq3(irectm,ixc ,ixtg ,nint ,nelc ,
183 . neltg,inrt,geo ,pm ,knod2elc ,
184 . knod2eltg ,nod2elc ,nod2eltg,thk,nty,igeo,
185 . pm_stack , iworksh )
191 dx =geo(1,mg)*gapscale
192 IF(igtyp == 17) dx =thk(numelc+neltg)*gapscale
199 dx =geo(1,mg)*gapscale
200 IF(igtyp == 17) dx =thk(nelc)*gapscale
204 gapmn =
min(gapmn,half*dx)
207 IF(igap/=0) gap_m(i)=gapm
209 IF(nels+nelc+neltg==0)
THEN
214 . anmode=aninfo_blind_2,
222 . anmode=aninfo_blind_2,
238 gap =
min(half*gapmx,gap)
253 gapmin =
min(half*gapmx,gapmin)
255 gapmin = em01 * gapmx
260 WRITE(iout,1000)gapmin
263 IF(gapmax==zero)gapmax=ep30
264 WRITE(iout,1500)gapmax
265 gap =
min(gap,gapmax)
277 gapinf =
min(gapinf,gap_s(i))
278 bgapsmx =
max(bgapsmx,gap_s(i))
281 gapinf =
min(gapinf,gap_m(i))
283 gapinf=
max(gapinf,gapmin)
299 1000
FORMAT(2x,
'GAP MIN = ',1pg20.13)
300 1500
FORMAT(2x,
'GAP MAX = ',1pg20.13)
subroutine i23gap3(x, irects, irectm, nrts, nrtm, geo, ixs, pm, ixc, ixtg, nint, nty, noint, nsn, nsv, intth, nmn, msr, wa, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, thk, ixs10, ixs16, ixs20, ipartc, iparttg, gap, igap, gap_s, gapmin, gapinf, gapmax, gapscale, bgapsmx, stfn, stf, id, titr, gap_m, igeo, pm_stack, iworksh)
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)