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 ,
49 use element_mod ,
only :nixs,nixc,nixtg
53#include "implicit_f.inc"
63 INTEGER NRTS, NRTM, NINT, NTY, NOINT, NSN, NMN, IGAP
64 INTEGER IRECTS(4,*), IRECTM(4,*), IXS(NIXS,*), IXC(NIXC,*),
65 . NSV(*), IXTG(NIXTG,*),
66 . KNOD2ELS(*), KNOD2ELC(*), KNOD2ELTG(*), NOD2ELS(*), NOD2ELC(*),
69 . IXS16(*), IXS20(*), IPARTC(*), IPARTTG(*),IGEO(NPROPGI,*),
73 . gap, gapmin, gapinf, gapmax, gapscale, bgapsmx,
74 . x(3,*), pm(npropm,*), geo(npropg,*), thk(*), wa(*),
75 . gap_s(*), stfn(*), stf(*), gap_m(*),pm_stack(*)
77 CHARACTER(LEN=NCHARTITLE) :: TITR
81 INTEGER I, INRT, NELS, NELC, NELTG, IP, MG, NDX,
85 . dxm, gapmx, gapmn,
area, dx, gapm
105 CALL insol3(x,irects,ixs,nint,nels,inrt,
106 .
area,noint,knod2els ,nod2els ,0 ,ixs10,
111 CALL incoq3(irects,ixc ,ixtg ,nint ,nelc ,
112 . neltg,inrt,geo ,pm ,knod2elc ,
113 . knod2eltg ,nod2elc ,nod2eltg,thk,nty,igeo,
114 . pm_stack , iworksh )
121 IF(igtyp == 17) dx = half*thk(numelc + neltg)
122 wa(ixtg(2,neltg))=
max(wa(ixtg(2,neltg)),dx)
123 wa(ixtg(3,neltg))=
max(wa(ixtg(3,neltg)),dx)
124 wa(ixtg(4,neltg))=
max(wa(ixtg(4,neltg)),dx)
132 IF(igtyp == 17) dx = half*thk(nelc)
133 wa(ixc(2,nelc))=
max(wa(ixc(2,nelc)),dx)
134 wa(ixc(3,nelc))=
max(wa(ixc(3,nelc)),dx)
135 wa(ixc(4,nelc))=
max(wa(ixc(4,nelc)),dx)
136 wa(ixc(5,nelc))=
max(wa(ixc(5,nelc)),dx)
140 IF(nels+nelc+neltg==0)
THEN
145 . anmode=aninfo_blind_2,
153 . anmode=aninfo_blind_2,
163 gapm=gapscale * wa(nsv(i))
173 CALL i4gmx3(x,irectm,inrt,gapmx)
177 CALL insol3(x,irectm,ixs,nint,nels,inrt,
178 .
area,noint,knod2els ,nod2els ,0 ,ixs10,
183 CALL incoq3(irectm,ixc ,ixtg ,nint ,nelc ,
184 . neltg,inrt,geo ,pm ,knod2elc ,
185 . knod2eltg ,nod2elc ,nod2eltg,thk,nty,igeo,
186 . pm_stack , iworksh )
192 dx =geo(1,mg)*gapscale
193 IF(igtyp == 17) dx =thk(numelc+neltg)*gapscale
200 dx =geo(1,mg)*gapscale
201 IF(igtyp == 17) dx =thk(nelc)*gapscale
205 gapmn =
min(gapmn,half*dx)
208 IF(igap/=0) gap_m(i)=gapm
210 IF(nels+nelc+neltg==0)
THEN
215 . anmode=aninfo_blind_2,
223 . anmode=aninfo_blind_2,
239 gap =
min(half*gapmx,gap)
254 gapmin =
min(half*gapmx,gapmin)
256 gapmin = em01 * gapmx
261 WRITE(iout,1000)gapmin
264 IF(gapmax==zero)gapmax=ep30
265 WRITE(iout,1500)gapmax
266 gap =
min(gap,gapmax)
278 gapinf =
min(gapinf,gap_s(i))
279 bgapsmx =
max(bgapsmx,gap_s(i))
282 gapinf =
min(gapinf,gap_m(i))
284 gapinf=
max(gapinf,gapmin)
300 1000
FORMAT(2x,
'GAP MIN = ',1pg20.13)
301 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 incoq3(irect, ixc, ixtg, nint, nel, neltg, is, geo, pm, knod2elc, knod2eltg, nod2elc, nod2eltg, thk, nty, 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)