42 1 INTBUF_TAB ,INSCR ,X ,IXS ,
43 2 IXC ,IXTG ,PM ,GEO ,IPARI ,
44 3 NUMINT ,ITAB ,MWA ,RWA ,IWRN ,
45 4 IKINE ,KNOD2ELS,KNOD2ELC,KNOD2ELTG ,NOD2ELS ,
47 6 THKSH4_VAR,THKSH3_VAR,THKNOD,INTSTAMP,SKEW ,
48 7 MS ,IN ,V ,VR ,RBY ,
49 8 NPBY ,LPBY ,I_MEM ,RESORT,IPARTS ,
50 9 IPARTC ,IPARTG ,THK_PART,ID ,TITR,
59 use element_mod ,
only :nixs,nixc,nixtg
63#include "implicit_f.inc"
75#include "vect07_c.inc"
80 INTEGER NUMINT, IWRN, I_MEM, RESORT
81 INTEGER INSCR(*), IXS(NIXS,*), IXC(NIXC,*),
82 . IXTG(NIXTG,*), IPARI(*), ITAB(*), MWA(*), IKINE(*),
83 . KNOD2ELS(*), KNOD2ELC(*), KNOD2ELTG(*),
84 . NOD2ELS(*), NOD2ELC(*), NOD2ELTG(*),
85 . NPBY(NNPBY,*), LPBY(*), IPARTS(*), IPARTC(*), IPARTG(*)
86 TYPE(INTSTAMP_DATA) INTSTAMP
87 INTEGER NOM_OPT(LNOPT1,*)
89 . X(3,*), PM(*), GEO(*),RWA(6,*),
90 . thksh4_var(*), thksh3_var(*), thknod(*),
91 . skew(lskew,*), ms(*), in(*), v(3,*), vr(3,*), rby(nrby,*),
94 CHARACTER(LEN=NCHARTITLE) :: TITR
95 TYPE(INTBUF_STRUCT_) :: INTBUF_TAB
99 INTEGER NRTS, NRTM, NSN, NMN, NTY, NST, MST, NOINT,
101 . NSEG, NGROUS, NG, INACTI,IWPENE,
102 . JLT_NEW,IGAP,MULTIMP,IADM,INTTH,
104 . isk, irot, j, msr, irb, k, nsl, n
105 INTEGER,
DIMENSION(MVSIZ) ::PROV_N,PROV_E
106 INTEGER,
DIMENSION(MVSIZ) :: IX1,IX2,IX3,IX4,NSVG
107 my_real,
DIMENSION(MVSIZ) :: X1,X2,X3,X4
108 my_real,
DIMENSION(MVSIZ) :: Y1,Y2,Y3,Y4
109 my_real,
DIMENSION(MVSIZ) :: z1,z2,z3,z4
110 my_real,
DIMENSION(MVSIZ) :: xi,yi,zi
111 my_real,
DIMENSION(MVSIZ) :: x0,y0,z0,stif
112 my_real,
DIMENSION(MVSIZ) :: n11,n21,n31,pene1
113 my_real,
DIMENSION(MVSIZ) :: nx1,ny1,nz1
114 my_real,
DIMENSION(MVSIZ) :: nx2,ny2,nz2
115 my_real,
DIMENSION(MVSIZ) :: nx3,ny3,nz3
116 my_real,
DIMENSION(MVSIZ) :: nx4,ny4,nz4
117 my_real,
DIMENSION(MVSIZ) :: p1,p2,p3,p4
118 my_real,
DIMENSION(MVSIZ) :: lb1,lb2,lb3,lb4
119 my_real,
DIMENSION(MVSIZ) :: lc1,lc2,lc3,lc4
120 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGNOD
121 my_real,
DIMENSION(:) ,
POINTER :: gap_s0
122 my_real,
TARGET,
DIMENSION(1):: gaps0_bid
127 . gapv(mvsiz), pene(mvsiz),gap0
129 DATA mess/
'/INTER/TYPE21 INITIALIZATIONS '/
132 ALLOCATE(tagnod(numnod))
154 WRITE(iout,2001)noint,nty
164 gap0 = intbuf_tab%VARIABLES(2)
166 1 x ,intbuf_tab%IRECTS,intbuf_tab%IRECTM,nrts,nrtm,
167 2 geo ,pm ,ixs ,ixc ,ixtg ,
168 3 -numint ,nty ,noint ,nsn ,intbuf_tab%NSV,
169 4 gap0,igap ,intbuf_tab%GAP_S,intbuf_tab%VARIABLES(13),
170 . intbuf_tab%VARIABLES(6),
171 5 intbuf_tab%VARIABLES(16),intbuf_tab%IELES,intbuf_tab%STF,
172 . nmn ,intbuf_tab%MSR ,
173 6 knod2els ,knod2elc ,knod2eltg ,nod2els ,nod2elc ,
175 8 ikine ,itab ,inacti ,intbuf_tab%VARIABLES(19),
177 9 intbuf_tab%VARIABLES(23),intbuf_tab%GAP_S(1+nsn:2*nsn),intbuf_tab%AREAS,
178 . intbuf_tab%XM0,intbuf_tab%VARIABLES(27),
179 a intbuf_tab%VARIABLES(28),intbuf_tab%VARIABLES(29),intth ,intbuf_tab%VARIABLES(32),
181 b ipartc, ipartg, thk_part,intbuf_tab%THKNOD0 ,id,titr ,
182 c intbuf_tab%VARIABLES(46),resort )
186 gap0 = intbuf_tab%VARIABLES(2)
188 1 x ,intbuf_tab%IRECTS,intbuf_tab%IRECTM,nrts,nrtm,
189 2 geo ,pm ,ixs ,ixc ,ixtg ,
190 3 -numint ,nty ,noint ,nsn ,intbuf_tab%NSV,
191 4 gap0,igap ,intbuf_tab%GAP_S,intbuf_tab%VARIABLES(13),
192 . intbuf_tab%VARIABLES(6),
193 5 intbuf_tab%VARIABLES(16),intbuf_tab%IELES,intbuf_tab%STF,
194 . nmn ,intbuf_tab%MSR ,
195 6 knod2els ,knod2elc ,knod2eltg ,nod2els ,nod2elc ,
197 8 ikine ,itab ,inacti ,intbuf_tab%VARIABLES(19),
199 9 intbuf_tab%VARIABLES(23),gap_s0,intbuf_tab%AREAS,
200 . intbuf_tab%XM0,intbuf_tab%VARIABLES(27),
201 a intbuf_tab%VARIABLES(28),intbuf_tab%VARIABLES(29),intth ,intbuf_tab%VARIABLES
203 b ipartc, ipartg, thk_part,intbuf_tab%THKNOD0 ,id,titr ,
204 c intbuf_tab%VARIABLES(46),resort )
211 1 x ,intbuf_tab%IRECTM,nrtm ,nmn ,intbuf_tab%MSR ,
212 2 -numint ,nty ,noint ,intbuf_tab%NOD_NORMAL,intbuf_tab%XM0)
216 1 nrtm ,intbuf_tab%XM0,intbuf_tab%NOD_NORMAL,intbuf_tab%IRECTM,intbuf_tab%RCURV,
220 CALL i21reset(nsn, intbuf_tab%IRTLM, intbuf_tab%CSTS)
224 maxbox = intbuf_tab%VARIABLES(9)
225 minbox = intbuf_tab%VARIABLES(12)
227 1 x ,intbuf_tab%IRECTM ,intbuf_tab%NSV,intbuf_tab%VARIABLES(4),nseg ,
228 2 nmn ,nrtm ,mwa ,nsn ,intbuf_tab%CAND_E ,
229 3 intbuf_tab%CAND_N ,gap0,rwa ,noint,i_stok ,
230 4 intbuf_tab%VARIABLES(5),intbuf_tab%VARIABLES(8),maxbox ,minbox ,intbuf_tab%MSR,
231 5 intbuf_tab%STF ,multimp ,itab ,intbuf_tab%GAP_S ,igap ,
232 6 intbuf_tab%VARIABLES(13),intbuf_tab%VARIABLES(16) ,inacti ,nrts ,intbuf_tab%IRECTS,
233 7 intbuf_tab%XM0 ,intbuf_tab%VARIABLES(23),intbuf_tab%VARIABLES(22),
234 8 intbuf_tab%VARIABLES(32),id,titr,i_mem,
235 9 ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
236 1 x1 ,x2 ,x3 ,x4 ,y1 ,
237 2 y2 ,y3 ,y4 ,z1 ,z2 ,
238 3 z3 ,z4 ,xi ,yi ,zi ,
239 4 x0 ,y0 ,z0 ,stif ,nx1 ,
240 5 ny1 ,nz1 ,nx2 ,ny2 ,nz2 ,
241 6 nx3 ,ny3 ,nz3 ,nx4 ,ny4 ,
242 7 nz4 ,p1 ,p2 ,p3 ,p4 ,
243 8 lb1 ,lb2 ,lb3 ,lb4 ,lc1 ,
244 9 lc2 ,lc3 ,lc4 ,pene1 ,prov_n ,
245 1 prov_e,n11 ,n21 ,n31 ,intbuf_tab%VARIABLES
246 IF (i_mem == 2 ) resort = resort + 1
247 IF (i_mem == 2 )
RETURN
248 intbuf_tab%VARIABLES(9) = maxbox
249 intbuf_tab%VARIABLES(12) = minbox
250 intbuf_tab%VARIABLES(2) = gap0
254 ngrous=1+(i_stok-1)/nvsiz
258 IF(ipri>=1)
WRITE(iout,2007)
261 llt = min0( nvsiz, i_stok - nft )
263 1 llt ,intbuf_tab%CAND_N(1+nft),intbuf_tab%CAND_E(1+nft),intbuf_tab%IRECTM,intbuf_tab%NSV,
264 2 intbuf_tab%GAP_S,x ,intbuf_tab%IRTLM,intbuf_tab%CSTS,
265 . intbuf_tab%VARIABLES(23),
266 3 intbuf_tab%NOD_NORMAL,intbuf_tab%XM0,pene,intbuf_tab%PENIS,intbuf_tab%IFPEN,
267 4 igap ,intbuf_tab%VARIABLES(2), intbuf_tab%VARIABLES(16), intbuf_tab%VARIABLES(13) ,
268 . intbuf_tab%VARIABLES(32),
269 5 intbuf_tab%VARIABLES(46))
273 . itab ,inacti,intbuf_tab%CAND_E,intbuf_tab%CAND_N,intbuf_tab%STFNS,
274 1 x ,i_stok,intbuf_tab%NSV,iwpene ,intbuf_tab%PENIS,
275 2 noint ,nty ,intbuf_tab%GAP_S,intbuf_tab%MSR,intbuf_tab%IRTLM,
276 3 intbuf_tab%IRECTM ,intbuf_tab%XM0,intbuf_tab%VARIABLES(13),intbuf_tab%VARIABLES(16),
277 . intbuf_tab%VARIABLES(23),
278 4 nsn ,mwa ,intbuf_tab%VARIABLES(32),id,titr)
280 IF(iwpene==0.AND.(inacti==5.OR.inacti==6))
281 . ipari(22) = -inacti
282 intbuf_tab%I_STOK(1)=iwpene
292 intstamp%XG(1)=x(1,msr)
293 intstamp%XG(2)=x(2,msr)
294 intstamp%XG(3)=x(3,msr)
295 intstamp%V(1) =v(1,msr)
296 intstamp%V(2) =v(2,msr)
297 intstamp%V(3) =v(3,msr)
298 intstamp%MASS =ms(msr)
300 intstamp%ROT(j)=rby(j,irb)
302 intstamp%IN(1)=rby(10,irb)
303 intstamp%IN(2)=rby(11,irb)
304 intstamp%IN(3)=rby(12,irb)
305 intstamp%VR(1)=vr(1,msr)
306 intstamp%VR(2)=vr(2,msr)
307 intstamp%VR(3)=vr(3,msr)
342 1 irot ,intstamp%XG,intstamp%ROT,nmn ,intbuf_tab%NOD_NORMAL,
343 2 intbuf_tab%XM0,intstamp%BRACKET,nrtm,intbuf_tab%IRECTM,
344 . intbuf_tab%VARIABLES(27),
345 3 intbuf_tab%VARIABLES(28),intbuf_tab%VARIABLES(29),nsn,intbuf_tab%XSAV)
352 2001
FORMAT(//,1x,
'INTERFACE NUMBER. . . . . . . . . . . . . .',i10/
353 + ,1x,
'INTERFACE TYPE. . . . . . . . . . . . . . .',i6/)
355 +
' SECONDARY NEAREST NEAREST MAIN NODES SECONDARY '/
356 +
' NODE MAIN SEGMENT S T')
358 +
' SECONDARY NEAREST MAIN NODES SECONDARY '/
362 +
' MAIN NEAREST NEAREST SECONDARY NODES MAIN'/
363 +
' NODE SECONDARY SEGMENT S T')
364 2007
FORMAT(//
' IMPACT CANDIDATES',/,
365 +
' MAIN SECONDARY NODES '/
367 2011
FORMAT(//
' IMPACT CANDIDATES',/,
368 +
' MAIN NODES SECONDARY NODES ')
subroutine i21buc1(x, irect, nsv, bumult, nseg, nmn, nrtm, mwa, nsn, cand_e, cand_n, gap, xyzm, noint, i_stok, dist, tzinf, maxbox, minbox, msr, stf, multimp, itab, gap_s, igap, gapmin, gapmax, inacti, nrts, irects, xm0, depth, margeref, drad, id, titr, i_mem, ix1, ix2, ix3, ix4, nsvg, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, x0, y0, z0, stif, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, pene, prov_n, prov_e, n11, n21, n31, dgapload)
subroutine i21gap3(x, irects, irectm, nrts, nrtm, geo, pm, ixs, ixc, ixtg, nint, nty, noint, nsn, nsv, gap, igap, gap_s, gapmin, criter, gapmax, ieles, stf, nmn, msr, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, thknod, ikine, itab, inacti, gapscale, stfn, depth, gap_s0, area_s0, xm0, lxm, lym, lzm, intth, drad, iparts, ipartc, ipartg, thk_part, thknod0, id, titr, dgapload, resort)