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,
62#include "implicit_f.inc"
74#include "vect07_c.inc"
79 INTEGER NUMINT, IWRN, I_MEM, RESORT
80 INTEGER INSCR(*), IXS(NIXS,*), IXC(NIXC,*),
81 . IXTG(NIXTG,*), IPARI(*), ITAB(*), MWA(*), IKINE(*),
82 . KNOD2ELS(*), KNOD2ELC(*), KNOD2ELTG(*),
83 . NOD2ELS(*), NOD2ELC(*), NOD2ELTG(*),
84 . NPBY(NNPBY,*), LPBY(*), IPARTS(*), IPARTC(*), IPARTG(*)
86 INTEGER NOM_OPT(LNOPT1,*)
88 . X(3,*), PM(*), GEO(*),RWA(6,*),
89 . thksh4_var(*), thksh3_var(*), thknod(*),
90 . skew(lskew,*), ms(*), in(*), v(3,*), vr(3,*), rby(nrby,*),
93 CHARACTER(LEN=NCHARTITLE) :: TITR
94 TYPE(INTBUF_STRUCT_) :: INTBUF_TAB
98 INTEGER NRTS, NRTM, NSN, NMN, NTY, , MST, NOINT,
100 . NSEG, NGROUS, NG, ,IWPENE,
101 . JLT_NEW,,MULTIMP,IADM,INTTH,
103 . isk, irot, j, msr, irb, k, nsl, n
104 INTEGER,
DIMENSION(MVSIZ) ::PROV_N,PROV_E
105 INTEGER,
DIMENSION(MVSIZ) :: IX1,IX2,IX3,IX4,NSVG
106 my_real,
DIMENSION(MVSIZ) :: X1,X2,X3,X4
107 my_real,
DIMENSION(MVSIZ) :: Y1,Y2,Y3,Y4
108 my_real,
DIMENSION(MVSIZ) :: z1,z2,z3,z4
109 my_real,
DIMENSION(MVSIZ) :: xi,yi,zi
110 my_real,
DIMENSION(MVSIZ) :: x0,y0,z0,stif
111 my_real,
DIMENSION(MVSIZ) :: n11,n21,n31,pene1
112 my_real,
DIMENSION(MVSIZ) :: nx1,ny1,nz1
113 my_real,
DIMENSION(MVSIZ) :: nx2,ny2,nz2
114 my_real,
DIMENSION(MVSIZ) :: nx3,ny3,nz3
115 my_real,
DIMENSION(MVSIZ) :: nx4,ny4,nz4
116 my_real,
DIMENSION(MVSIZ) :: p1,p2,p3,p4
117 my_real,
DIMENSION(MVSIZ) :: lb1,lb2,lb3,lb4
118 my_real,
DIMENSION(MVSIZ) :: lc1,lc2,lc3,lc4
119 INTEGER,
DIMENSION(:),
ALLOCATABLE :: TAGNOD
120 my_real,
DIMENSION(:) ,
POINTER :: gap_s0
121 my_real,
TARGET,
DIMENSION(1):: gaps0_bid
126 . gapv(mvsiz), pene(mvsiz),gap0
128 DATA mess/
'/INTER/TYPE21 INITIALIZATIONS '/
131 ALLOCATE(tagnod(numnod))
153 WRITE(iout,2001)noint,nty
163 gap0 = intbuf_tab%VARIABLES(2)
165 1 x ,intbuf_tab%IRECTS,intbuf_tab%IRECTM,nrts,nrtm,
166 2 geo ,pm ,ixs ,ixc ,ixtg ,
167 3 -numint ,nty ,noint ,nsn ,intbuf_tab%NSV,
168 4 gap0,igap ,intbuf_tab%GAP_S,intbuf_tab%VARIABLES(13),
169 . intbuf_tab%VARIABLES(6),
170 5 intbuf_tab%VARIABLES(16),intbuf_tab%IELES,intbuf_tab%STF,
171 . nmn ,intbuf_tab%MSR ,
172 6 knod2els ,knod2elc ,knod2eltg ,nod2els ,nod2elc ,
174 8 ikine ,itab ,inacti ,intbuf_tab%VARIABLES(19),
176 9 intbuf_tab%VARIABLES(23),intbuf_tab%GAP_S(1+nsn:2*nsn),intbuf_tab%AREAS,
177 . intbuf_tab%XM0,intbuf_tab%VARIABLES(27),
178 a intbuf_tab%VARIABLES(28),intbuf_tab%VARIABLES(29),intth ,intbuf_tab%VARIABLES(32),
180 b ipartc, ipartg, thk_part,intbuf_tab%THKNOD0 ,id,titr ,
181 c intbuf_tab%VARIABLES(46),resort )
185 gap0 = intbuf_tab%VARIABLES(2)
187 1 x ,intbuf_tab%IRECTS,intbuf_tab%IRECTM,nrts,nrtm,
188 2 geo ,pm ,ixs ,ixc ,ixtg ,
189 3 -numint ,nty ,noint ,nsn ,intbuf_tab%NSV,
190 4 gap0,igap ,intbuf_tab%GAP_S,intbuf_tab%VARIABLES(13),
191 . intbuf_tab%VARIABLES(6),
192 5 intbuf_tab%VARIABLES(16),intbuf_tab%IELES,intbuf_tab%STF,
193 . nmn ,intbuf_tab%MSR ,
194 6 knod2els ,knod2elc ,knod2eltg ,nod2els ,nod2elc ,
196 8 ikine ,itab ,inacti ,intbuf_tab%VARIABLES(19),
198 9 intbuf_tab%VARIABLES(23),gap_s0,intbuf_tab%AREAS,
199 . intbuf_tab%XM0,intbuf_tab%VARIABLES(27),
200 a intbuf_tab%VARIABLES(28),intbuf_tab%VARIABLES(29),intth ,intbuf_tab%VARIABLES(32),
203 c intbuf_tab%VARIABLES(46),resort )
210 1 x ,intbuf_tab%IRECTM,nrtm ,nmn ,intbuf_tab%MSR ,
211 2 -numint ,nty ,noint ,intbuf_tab%NOD_NORMAL,intbuf_tab%XM0)
215 1 nrtm ,intbuf_tab%XM0,intbuf_tab%NOD_NORMAL,intbuf_tab%IRECTM,intbuf_tab%RCURV,
219 CALL i21reset(nsn, intbuf_tab%IRTLM, intbuf_tab%CSTS)
223 maxbox = intbuf_tab%VARIABLES(9)
224 minbox = intbuf_tab%VARIABLES(12)
226 1 x ,intbuf_tab%IRECTM ,intbuf_tab%NSV,intbuf_tab%VARIABLES(4),nseg ,
227 2 nmn ,nrtm ,mwa ,nsn ,intbuf_tab%CAND_E ,
228 3 intbuf_tab%CAND_N ,gap0,rwa ,noint,i_stok ,
229 4 intbuf_tab%VARIABLES(5),intbuf_tab%VARIABLES(8),maxbox ,minbox ,intbuf_tab%MSR,
230 5 intbuf_tab%STF ,multimp ,itab ,intbuf_tab%GAP_S ,igap ,
231 6 intbuf_tab%VARIABLES(13),intbuf_tab%VARIABLES(16) ,inacti ,nrts ,intbuf_tab%IRECTS,
232 7 intbuf_tab%XM0 ,intbuf_tab%VARIABLES(23),intbuf_tab%VARIABLES(22),
233 8 intbuf_tab%VARIABLES(32),id,titr,i_mem,
234 9 ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
235 1 x1 ,x2 ,x3 ,x4 ,y1 ,
236 2 y2 ,y3 ,y4 ,z1 ,z2 ,
237 3 z3 ,z4 ,xi ,yi ,zi ,
238 4 x0 ,y0 ,z0 ,stif ,nx1 ,
241 7 nz4 ,p1 ,p2 ,p3 ,p4 ,
242 8 lb1 ,lb2 ,lb3 ,lb4 ,lc1 ,
243 9 lc2 ,lc3 ,lc4 ,pene1 ,prov_n ,
244 1 prov_e,n11 ,n21 ,n31 ,intbuf_tab%VARIABLES(46))
246 IF (i_mem == 2 )
RETURN
247 intbuf_tab%VARIABLES(9) = maxbox
248 intbuf_tab%VARIABLES(12) = minbox
249 intbuf_tab%VARIABLES(2) = gap0
253 ngrous=1+(i_stok-1)/nvsiz
257 IF(ipri>=1)
WRITE(iout,2007)
260 llt = min0( nvsiz, i_stok - nft )
262 1 llt ,intbuf_tab%CAND_N(1+nft),intbuf_tab%CAND_E(1+nft),intbuf_tab%IRECTM,intbuf_tab%NSV,
264 . intbuf_tab%VARIABLES(23),
265 3 intbuf_tab%NOD_NORMAL,intbuf_tab%XM0,pene,intbuf_tab%PENIS,intbuf_tab%IFPEN,
266 4 igap ,intbuf_tab%VARIABLES(2), intbuf_tab%VARIABLES(16), intbuf_tab%VARIABLES(13) ,
267 . intbuf_tab%VARIABLES(32),
268 5 intbuf_tab%VARIABLES(46))
272 . itab ,inacti,intbuf_tab%CAND_E,intbuf_tab%CAND_N,intbuf_tab%STFNS,
273 1 x ,i_stok,intbuf_tab%NSV,iwpene ,intbuf_tab%PENIS,
274 2 noint ,nty ,intbuf_tab%GAP_S,intbuf_tab%MSR,intbuf_tab%IRTLM,
275 3 intbuf_tab%IRECTM ,intbuf_tab%XM0,intbuf_tab%VARIABLES(13),intbuf_tab%VARIABLES(16),
276 . intbuf_tab%VARIABLES(23),
277 4 nsn ,mwa ,intbuf_tab%VARIABLES(32),id,titr)
279 IF(iwpene==0.AND.(inacti==5.OR.inacti==6))
280 . ipari(22) = -inacti
281 intbuf_tab%I_STOK(1)=iwpene
291 intstamp%XG(1)=x(1,msr)
292 intstamp%XG(2)=x(2,msr)
293 intstamp%XG(3)=x(3,msr)
294 intstamp%V(1) =v(1,msr)
295 intstamp%V(2) =v(2,msr)
296 intstamp%V(3) =v(3,msr)
297 intstamp%MASS =ms(msr)
299 intstamp%ROT(j)=rby(j,irb)
301 intstamp%IN(1)=rby(10,irb)
302 intstamp%IN(2)=rby(11,irb)
303 intstamp%IN(3)=rby(12,irb)
304 intstamp%VR(1)=vr(1,msr)
305 intstamp%VR(2)=vr(2,msr)
306 intstamp%VR(3)=vr(3,msr)
341 1 irot ,intstamp%XG,intstamp%ROT,nmn ,intbuf_tab%NOD_NORMAL,
342 2 intbuf_tab%XM0,intstamp%BRACKET,nrtm,intbuf_tab%IRECTM,
343 . intbuf_tab%VARIABLES(27),
344 3 intbuf_tab%VARIABLES(28),intbuf_tab%VARIABLES(29),nsn,intbuf_tab%XSAV)
351 2001
FORMAT(//,1x,
'INTERFACE NUMBER. . . . . . . . . . . . . .',i10/
352 + ,1x,
'INTERFACE TYPE. . . . . . . . . . . . . . .',i6/)
354 +
' SECONDARY NEAREST NEAREST MAIN NODES SECONDARY '/
355 +
' NODE MAIN SEGMENT S T')
357 +
' SECONDARY NEAREST MAIN NODES SECONDARY '/
361 +' main nearest nearest secondary nodes
main'/
362 +' node secondary segment s t
')
363 2007 FORMAT(//' impact candidates
',/,
364 +' main secondary nodes
'/
366 2011 FORMAT(//' impact candidates
',/,
367 +' 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)