47 3 FSKYI,ISKY ,FCONT,FNCONT,FTCONT,
49 5 STIFN,ITAB,INTBUF_TAB, T8, H3D_DATA ,
50 6 NIN , PSKIDS,TAGNCONT,KLOADPINTER,LOADPINTER,
61#include "implicit_f.inc"
72 INTEGER IPARI(*), ICODT(*), ISKY(*),
75 . TAGNCONT(NLOADP_HYD_INTER,NUMNOD),
76 . KLOADPINTER(NINTER+1),LOADPINTER(NINTER*NLOADP_HYD),
77 . LOADP_HYD_INTER(NLOADP_HYD)
80 . x(*), a(3,*), fsav(*), v(3,*), ms(*),
81 . fskyi(lskyi,nfskyi),fcont(3,*), fncont(3,*), ftcont(3,*),
82 . rcontact(*),stifn(*),pskids(*)
84 TYPE(intbuf_struct_) INTBUF_TAB
86 TYPE(H3D_DATABASE) :: H3D_DATA
91 INTEGER,
DIMENSION(:,:),
ALLOCATABLE ::
93 INTEGER,
DIMENSION(:),
ALLOCATABLE ::
101 my_real,
DIMENSION(:),
ALLOCATABLE :: tab_rmax
102 my_real,
DIMENSION(:),
ALLOCATABLE :: distance,dist
103 my_real,
DIMENSION(:),
ALLOCATABLE :: x1,y1,z1,x2,y2,z2,x3,y3,z3
104 my_real,
DIMENSION(:),
ALLOCATABLE :: x4,y4,z4
105 my_real,
DIMENSION(:),
ALLOCATABLE :: xi,xi_a,yi,yi_a,zi,zi_a
106 my_real,
DIMENSION(:),
ALLOCATABLE :: xp,yp,zp,n1,n2,n3
107 my_real,
DIMENSION(:),
ALLOCATABLE :: ans,ssc,ttc
108 my_real,
DIMENSION(:),
ALLOCATABLE :: h1,h2,h3,h4
109 my_real,
DIMENSION(:),
ALLOCATABLE :: face,face_a,stif
110 my_real,
DIMENSION(:),
ALLOCATABLE :: x0,xx1,xx2,xx3,xx4
111 my_real,
DIMENSION(:),
ALLOCATABLE :: y0,yy1,yy2,yy3,yy4
112 my_real,
DIMENSION(:),
ALLOCATABLE :: z0,zz1,zz2,zz3,zz4
113 my_real,
DIMENSION(:),
ALLOCATABLE :: xi1,xi2,xi3,xi4
114 my_real,
DIMENSION(:),
ALLOCATABLE :: yi1,yi2,yi3,yi4
115 my_real,
DIMENSION(:),
ALLOCATABLE :: zi1,zi2,zi3,zi4
116 my_real,
DIMENSION(:),
ALLOCATABLE :: xn1,xn2,xn3,xn4
117 my_real,
DIMENSION(:),
ALLOCATABLE :: yn1,yn2,yn3,yn4
118 my_real,
DIMENSION(:),
ALLOCATABLE :: zn1,zn2,zn3,zn4
120 my_real,
DIMENSION(:),
ALLOCATABLE :: distlin
121 INTEGER IBC, NCIMP, NRTM4, NOINT,IGIMP,NINSKID
122 INTEGER MFROT,IBAG,IADM,IFORM,IFT0,IFLINEAR
125 . startt, fric, gap, stopt,
126 . visc,viscf,fnor,depth,fric_last,fnor_last
127 INTEGER :: NMN, NTY, NSN
128 INTEGER :: LFT, LLT, NFT
145 startt=intbuf_tab%VARIABLES(3)
146 stopt =intbuf_tab%VARIABLES(11)
150 fric =intbuf_tab%VARIABLES(1)
151 gap =intbuf_tab%VARIABLES(2)
152 visc =intbuf_tab%VARIABLES(14)
153 viscf=intbuf_tab%VARIABLES(15)
154 fnor =intbuf_tab%VARIABLES(4)
155 depth=intbuf_tab%VARIABLES(5)
156 fric_last =intbuf_tab%VARIABLES(6)
157 fnor_last =intbuf_tab%VARIABLES(7)
170 . x1(nsn), x2(nsn), x3(nsn), x4(nsn),
171 . y1(nsn), y2(nsn), y3(nsn), y4(nsn),
172 . z1(nsn), z2(nsn), z3(nsn), z4(nsn),
173 . xi(nsn), xi_a(nsn),
174 . yi(nsn), yi_a(nsn),
175 . zi(nsn), zi_a(nsn),
179 . ans(nsn),ssc(nsn),ttc(nsn),
180 . h1(nsn),h2(nsn),h3(nsn),h4(nsn),
181 . face(nsn),face_a(nsn),
183 . x0(nsn), xx1(nsn), xx2(nsn),
184 . y0(nsn), yy1(nsn), yy2(nsn),
185 . z0(nsn), zz1(nsn), zz2(nsn),
186 . xx3(nsn), xx4(nsn), xi1(nsn),
187 . yy3(nsn), yy4(nsn), yi1(nsn),
188 . zz3(nsn), zz4(nsn), zi1(nsn),
189 . xi2(nsn), xi3(nsn), xi4(nsn),
190 . yi2(nsn), yi3(nsn), yi4(nsn),
191 . zi2(nsn), zi3(nsn), zi4(nsn),
192 . xn1(nsn), xn2(nsn), xn3(nsn), xn4(nsn),
193 . yn1(nsn), yn2(nsn), yn3(nsn), yn4(nsn),
194 . zn1(nsn), zn2(nsn), zn3(nsn), zn4(nsn),
195 . thk(nsn),
area(nsn),alp(nsn),
197 . tab_rmax(nsn),tab_rmax_uid(4,nsn),
198 . irtl_a(nsn),nsv_a(nsn),nsv2(nsn),
199 . index_in_comm(nmn),distlin(nsn))
202 distlin(1:nsn) = zero
209 CALL spmd_i8_index(nmn,t8%SPMD_COMM_PATTERN,index_in_comm,t8%S_COMM)
211 IF(t8%IS_ACTIVATED == 0)
THEN
213 . intbuf_tab%ILOCS,intbuf_tab%NSV,
214 . itab,t8%BUFFER,t8%SPMD_COMM_PATTERN,index_in_comm)
217 . itab,t8%BUFFER,t8%SPMD_COMM_PATTERN,index_in_comm)
224 1 x, intbuf_tab%IRECTM,intbuf_tab%LMSR, intbuf_tab%MSR,
225 2 intbuf_tab%NSV, intbuf_tab%ILOCS, intbuf_tab%NSEGM, xi,
226 3 yi, zi, face, itab,
227 4 distance, iflinear, distlin, nsn,
231 CALL spmd_i8_iloc(intbuf_tab%ILOCS, intbuf_tab%MSR,itab,t8%BUFFER,
235 . intbuf_tab%ILOCS,intbuf_tab%NSV,
236 . itab,t8%BUFFER,t8%SPMD_COMM_PATTERN,index_in_comm
239 . itab,t8%BUFFER,t8%SPMD_COMM_PATTERN,index_in_comm)
242 1 x, intbuf_tab%IRECTM,intbuf_tab%LMSR, intbuf_tab%MSR
243 2 intbuf_tab%NSV, intbuf_tab%ILOCS, intbuf_tab%IRTLM, intbuf_tab%NSEGM,
244 3 face, nsn, itab, has_moved,
245 4 tab_rmax, tab_rmax_uid, lft, llt
250 . tab_rmax,tab_rmax_uid,
270 IF(intbuf_tab%ILOCS(i) > -1 .AND.
271 . intbuf_tab%IRTLM(i) > 0)
THEN
274 nsv_a(llt) = intbuf_tab%NSV(i)
275 irtl_a(llt) = intbuf_tab%IRTLM(i)
279 face_a(llt) = face(i)
281 ELSEIF (iform==2)
THEN
283 intbuf_tab%FTSAVX(i) = 0
284 intbuf_tab%FTSAVY(i) = 0
290 IF(h3d_data%N_SCAL_SKID > 0)
THEN
291 ninskid = h3d_data%N_SKID_INTER(nin)
295 1 x, intbuf_tab%IRECTM,intbuf_tab%MSR,
305 4 xi_a, yi_a, zi_a, n1,
307 6 ttc, face_a, x0, y0,
309 8 xx2, yy2, zz2, xx3,
311 a zz4, xi1, yi1, zi1,
313 c yi3, zi3, xi4, yi4,
314 d zi4, xn1, yn1, zn1,
315 e xn2, yn2, zn2, xn3,
316 f yn3, zn3, xn4, yn4,
317 g zn4,
area, lft, llt)
320 1 gap, thk,
area, alp,
323 1 igimp, nty, dist, x1,
330 8 h2, h3, h4, face_a,
333 CALL i8for3(lft ,llt ,nft ,a ,
334 2 intbuf_tab%MSR,nsv_a,irtl_a,intbuf_tab%STFM,
335 . intbuf_tab%NSV,nsv2, intbuf_tab%ILOCS,
337 4 x ,v ,ms ,fric ,nsn ,
338 5 fskyi ,isky ,fcont ,rcontact ,iform ,
339 6 intbuf_tab%FTSAVX,intbuf_tab%FTSAVY,intbuf_tab%FTSAVZ,visc ,fnor ,
340 7 depth ,dist ,intbuf_tab%GAPN,intbuf_tab%STF8,
341 8 stifn ,fncont ,ftcont ,itab, ift0,
342 9 ix1 ,ix2 ,ix3 ,ix4,
347 e face_a ,stif , xx3,
353 l thk ,h3d_data , ninskid,
354 m h3d_data%N_SCAL_SKID, pskids,intbuf_tab%IRECTM,nin,
355 n tagncont ,kloadpinter,loadpinter ,loadp_hyd_inter,
356 o iflinear ,fric_last
389 . xn1, xn2, xn3, xn4,
390 . yn1, yn2, yn3, yn4,
391 . zn1, zn2, zn3, zn4,
394 . tab_rmax,tab_rmax_uid,
subroutine i8cst3(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, xi, yi, zi, n1, n2, n3, ans, ssc, ttc, xface, x0, y0, z0, xx1, yy1, zz1, xx2, yy2, zz2, xx3, yy3, zz3, xx4, yy4, zz4, xi1, yi1, zi1, xi2, yi2, zi2, xi3, yi3, zi3, xi4, yi4, zi4, xn1, yn1, zn1, xn2, yn2, zn2, xn3, yn3, zn3, xn4, yn4, zn4, area, lft, llt)
subroutine i8for3(lft, llt, nft, e, msr, nsv, irtl, stf, nsvglo, nsv2, iloc, stfn, ibc, icodt, fsav, igimp, x, v, ms, fmax, nsn, fskyi, isky, fcont, rcontact, iform, ftsavx, ftsavy, ftsavz, visc, fnor, depth, dist, gapn, slopen, stifn, fncont, ftcont, itab, ift0, ix1, ix2, ix3, ix4, xi, yi, zi, n1, n2, n3, ans, ssc, ttc, h1, h2, h3, h4, xface, stif, fni, fxi, fyi, fzi, fx1, fy1, fz1, fx2, fy2, fz2, fx3, fy3, fz3, fx4, fy4, fz4, thk, h3d_data, ninskid, ninterskid, pskids, irect, nin, tagncont, kloadpinter, loadpinter, loadp_hyd_inter, iflinear, fric_last, fnor_last, distlin)