29 1 ITASK ,IRECTS ,NRTS ,NSN ,NSV ,
30 2 GAP ,IGAP ,GAP_S ,GAPMIN,CRITER,
31 3 GAPMAX,TZINF ,DIST ,THKNOD,GAPSCALE,
32 4 DEPTH ,MARGE ,DRAD ,IDEL ,THKNOD0,
37#include "implicit_f.inc"
46 INTEGER ITASK, NRTS, NSN, IGAP, IDEL
47 INTEGER IRECTS(4,*), NSV(*)
50 . GAP, GAPMIN, CRITER, GAPMAX, TZINF, DIST, GAPSCALE,
52 my_real ,
INTENT(IN) :: dgapload ,drad
54 . gap_s(*), thknod(*), gap_s0(*), thknod0(*)
58 INTEGER NSNF, NSNL, I, J, NELS, NELC, NELTG, NEL
61 . GAPM, CRITERL, GAPSUPL
65 nsnf = 1 + itask*nsn / nthread
66 nsnl = (itask+1)*nsn / nthread
70 gap_s(i) =
max(half*gapscale*(thknod(nsv(i))-thknod0(i))
79 criter =
max(gap,em01*
max(depth,drad,gap+dgapload))
80 dist =tzinf-
max(gap+dgapload,depth,drad)
85 IF(idel==0.OR.gap_s(i)/=zero)
THEN
87 criterl =
min(criterl,gap_s(i))
88 gapsupl =
max(gapsupl,gap_s(i))
91 criterl=
max(
max(gapmin,criterl),em01*
max(depth,drad,gapsupl+dgapload))
92 gapsupl=
min(gapmax,gapsupl)
94 criter=
min(criter,criterl)
95 dist =
min(dist,tzinf-
max(gapsupl+dgapload
96 IF( tzinf-gapsupl <= zero)
THEN
101#include "lockoff.inc"
subroutine i21gap3(itask, irects, nrts, nsn, nsv, gap, igap, gap_s, gapmin, criter, gapmax, tzinf, dist, thknod, gapscale, depth, marge, drad, idel, thknod0, gap_s0, dgapload)