46 SUBROUTINE intvo8(OUTPUT,IPARI,X ,A ,
48 3 FSKYI,ISKY ,FCONT,FNCONT,FTCONT,
50 5 STIFN,ITAB,INTBUF_TAB, T8, H3D_DATA ,
51 6 NIN , PSKIDS,TAGNCONT,KLOADPINTER,LOADPINTER,
63#include "implicit_f.inc"
74 type(output_),
intent(inout) :: output
75 INTEGER IPARI(*), ICODT(*), ISKY(*),
78 . TAGNCONT(NLOADP_HYD_INTER,NUMNOD),
79 . KLOADPINTER(NINTER+1),LOADPINTER(NINTER*),
80 . loadp_hyd_inter(nloadp_hyd)
83 . x(*), a(3,*), fsav(*), v(3,*), ms(*),
84 . fskyi(lskyi,nfskyi),fcont(3,*), fncont(3,*), ftcont(3,*),
85 . rcontact(*),stifn(*),pskids(*)
87 TYPE(intbuf_struct_) INTBUF_TAB
94 INTEGER,
DIMENSION(:,:),
ALLOCATABLE ::
96 INTEGER,
DIMENSION(:),
ALLOCATABLE ::
104 my_real,
DIMENSION(:),
ALLOCATABLE :: tab_rmax
105 my_real,
DIMENSION(:),
ALLOCATABLE :: distance,dist
106 my_real,
DIMENSION(:),
ALLOCATABLE :: x1,y1,z1,x2,y2,z2,x3,y3,z3
107 my_real,
DIMENSION(:),
ALLOCATABLE
108 my_real,
DIMENSION(:),
ALLOCATABLE :: xi,xi_a,yi,yi_a,zi,zi_a
109 my_real,
DIMENSION(:),
ALLOCATABLE :: xp,yp,zp,n1,n2,n3
110 my_real,
DIMENSION(:),
ALLOCATABLE :: ans
111 my_real,
DIMENSION(:),
ALLOCATABLE :: h1,h2,h3,h4
112 my_real,
DIMENSION(:),
ALLOCATABLE :: face,face_a,stif
113 my_real,
DIMENSION(:),
ALLOCATABLE :: x0,xx1,xx2,xx3,xx4
114 my_real,
DIMENSION(:),
ALLOCATABLE :: y0,yy1,yy2,yy3,yy4
115 my_real,
DIMENSION(:),
ALLOCATABLE :: z0,zz1,zz2,zz3,zz4
116 my_real,
DIMENSION(:),
ALLOCATABLE :: xi1,xi2,xi3,xi4
117 my_real,
DIMENSION(:),
ALLOCATABLE :: yi1,yi2,yi3,yi4
118 my_real,
DIMENSION(:),
ALLOCATABLE :: zi1,zi2,zi3,zi4
119 my_real,
DIMENSION(:),
ALLOCATABLE :: xn1,xn2,xn3,xn4
120 my_real,
DIMENSION(:),
ALLOCATABLE :: yn1,yn2,yn3,yn4
121 my_real,
DIMENSION(:),
ALLOCATABLE :: zn1,zn2,zn3,zn4
123 my_real,
DIMENSION(:),
ALLOCATABLE :: distlin
124 INTEGER IBC, NCIMP, , NOINT,IGIMP,NINSKID
125 INTEGER MFROT,IBAG,IADM,IFORM,IFT0,IFLINEAR
128 . startt, fric, gap, stopt,
129 . visc,viscf,fnor,depth,fric_last,fnor_last
130 INTEGER :: NMN, NTY, NSN
131 INTEGER :: LFT, LLT, NFT
148 startt=intbuf_tab%VARIABLES(3)
149 stopt =intbuf_tab%VARIABLES(11)
153 fric =intbuf_tab%VARIABLES(1)
154 gap =intbuf_tab%VARIABLES(2)
155 visc =intbuf_tab%VARIABLES(14)
156 viscf=intbuf_tab%VARIABLES(15)
157 fnor =intbuf_tab%VARIABLES(4)
158 depth=intbuf_tab%VARIABLES(5)
159 fric_last =intbuf_tab%VARIABLES(6)
160 fnor_last =intbuf_tab%VARIABLES(7)
173 . x1(nsn), x2(nsn), x3(nsn), x4(nsn),
174 . y1(nsn), y2(nsn), y3(nsn), y4(nsn),
175 . z1(nsn), z2(nsn), z3(nsn), z4(nsn),
176 . xi(nsn), xi_a(nsn),
177 . yi(nsn), yi_a(nsn),
178 . zi(nsn), zi_a(nsn),
182 . ans(nsn),ssc(nsn),ttc(nsn),
183 . h1(nsn),h2(nsn),h3(nsn),h4(nsn),
184 . face(nsn),face_a(nsn),
186 . x0(nsn), xx1(nsn), xx2(nsn),
187 . y0(nsn), yy1(nsn), yy2(nsn),
188 . z0(nsn), zz1(nsn), zz2(nsn),
189 . xx3(nsn), xx4(nsn), xi1(nsn),
190 . yy3(nsn), yy4(nsn), yi1(nsn),
191 . zz3(nsn), zz4(nsn), zi1(nsn),
192 . xi2(nsn), xi3(nsn), xi4(nsn),
193 . yi2(nsn), yi3(nsn), yi4(nsn),
194 . zi2(nsn), zi3(nsn), zi4(nsn),
195 . xn1(nsn), xn2(nsn), xn3(nsn), xn4(nsn),
196 . yn1(nsn), yn2(nsn), yn3(nsn), yn4(nsn),
197 . zn1(nsn), zn2(nsn), zn3(nsn), zn4(nsn),
198 . thk(nsn),
area(nsn),alp(nsn),
200 . tab_rmax(nsn),tab_rmax_uid(4,nsn),
201 . irtl_a(nsn),nsv_a(nsn),nsv2(nsn),
202 . index_in_comm(nmn),distlin(nsn))
205 distlin(1:nsn) = zero
212 CALL spmd_i8_index(nmn,t8%SPMD_COMM_PATTERN,index_in_comm,t8%S_COMM)
214 IF(t8%IS_ACTIVATED == 0)
THEN
216 . intbuf_tab%ILOCS,intbuf_tab%NSV,
217 . itab,t8%BUFFER,t8%SPMD_COMM_PATTERN,index_in_comm)
220 . itab,t8%BUFFER,t8%SPMD_COMM_PATTERN,index_in_comm)
227 1 x, intbuf_tab%IRECTM,intbuf_tab%LMSR, intbuf_tab%MSR,
228 2 intbuf_tab%NSV, intbuf_tab%ILOCS, intbuf_tab%NSEGM, xi,
229 3 yi, zi, face, itab,
230 4 distance, iflinear, distlin, nsn,
234 CALL spmd_i8_iloc(intbuf_tab%ILOCS, intbuf_tab%MSR,itab,t8%BUFFER,
238 . intbuf_tab%ILOCS,intbuf_tab%NSV,
239 . itab,t8%BUFFER,t8%SPMD_COMM_PATTERN,index_in_comm)
245 1 x, intbuf_tab%IRECTM,intbuf_tab%LMSR, intbuf_tab%MSR,
246 2 intbuf_tab%NSV, intbuf_tab%ILOCS, intbuf_tab%IRTLM, intbuf_tab%NSEGM,
247 3 face, nsn, itab, has_moved,
248 4 tab_rmax, tab_rmax_uid, lft, llt,
253 . tab_rmax,tab_rmax_uid,
273 IF(intbuf_tab%ILOCS(i) > -1 .AND.
274 . intbuf_tab%IRTLM(i) > 0)
THEN
277 nsv_a(llt) = intbuf_tab%NSV(i)
278 irtl_a(llt) = intbuf_tab%IRTLM(i)
282 face_a(llt) = face(i)
284 ELSEIF (iform==2)
THEN
286 intbuf_tab%FTSAVX(i) = 0
287 intbuf_tab%FTSAVY(i) = 0
288 intbuf_tab%FTSAVZ(i) = 0
293 IF(h3d_data%N_SCAL_SKID > 0)
THEN
294 ninskid = h3d_data%N_SKID_INTER(nin)
298 1 x, intbuf_tab%IRECTM,intbuf_tab%MSR, nsv_a,
299 2 irtl_a, ix1, ix2, ix3,
308 4 xi_a, yi_a, zi_a, n1,
310 6 ttc, face_a, x0, y0,
312 8 xx2, yy2, zz2, xx3,
313 9 yy3, zz3, xx4, yy4,
314 a zz4, xi1, yi1, zi1,
315 b xi2, yi2, zi2, xi3,
316 c yi3, zi3, xi4, yi4,
317 d zi4, xn1, yn1, zn1,
318 e xn2, yn2, zn2, xn3,
320 g zn4,
area, lft, llt)
326 1 igimp, nty, dist, x1,
330 5 yi_a, zi_a, xp, yp,
333 8 h2, h3, h4, face_a,
336 CALL i8for3(output, lft ,llt ,nft ,a ,
337 2 intbuf_tab%MSR,nsv_a,irtl_a,intbuf_tab%STFM,
338 . intbuf_tab%NSV,nsv2, intbuf_tab%ILOCS,
339 3 intbuf_tab%STFNS,ibc ,icodt ,fsav ,igimp ,
340 4 x ,v ,ms ,fric ,nsn ,
341 5 fskyi ,isky ,fcont ,rcontact ,iform ,
342 6 intbuf_tab%FTSAVX,intbuf_tab%FTSAVY,intbuf_tab%FTSAVZ,visc ,fnor ,
343 7 depth ,dist ,intbuf_tab%GAPN,intbuf_tab%STF8,
344 8 stifn ,fncont ,ftcont ,itab, ift0,
345 9 ix1 ,ix2 ,ix3 ,ix4,
350 e face_a ,stif , xx3,
356 l thk ,h3d_data , ninskid,
357 m h3d_data%N_SCAL_SKID, pskids,intbuf_tab%IRECTM,nin,
358 n tagncont ,kloadpinter,loadpinter ,loadp_hyd_inter,
359 o iflinear ,fric_last,fnor_last,distlin)
392 . xn1, xn2, xn3, xn4,
393 . yn1, yn2, yn3, yn4,
394 . zn1, zn2, zn3, zn4,
397 . 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(output, 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)