45 SUBROUTINE i6main(OUTPUT,IPARI,X ,A ,
46 2 ICODT,NPC ,TF ,V ,FSAV,
47 3 DT2T ,NELTST,ITYPTST,FSKYI ,ISKY,
48 4 FCONT,MS,INTBUF_TAB,H3D_DATA)
58#include "implicit_f.inc"
69 type(output_),
intent(inout) :: output
70 INTEGER NELTST,ITYPTST
71 INTEGER IPARI(*), ICODT(*), NPC(*), ISKY(*)
74 . x(*),a(*),tf(*),v(*),fsav(*),fskyi(lskyi,nfskyi),
77 TYPE(intbuf_struct_) INTBUF_TAB
78 TYPE(H3D_DATABASE) :: H3D_DATA
83 . INACTI,NOINT, NGROUS, NGROUM, NG, IGIMP,INTY,IFRICF,IFRICV,
86 INTEGER,
DIMENSION(MVSIZ) :: IX1,IX2,IX3,
87 my_real,
DIMENSION(MVSIZ) :: X1,,X3,X4,XI
88 my_real,
DIMENSION(MVSIZ) :: y1,y2,y3,y4,yi
89 my_real,
DIMENSION(MVSIZ) :: z1,z2,z3,z4,zi
90 my_real,
DIMENSION(MVSIZ) :: xface,n1
91 my_real,
DIMENSION(MVSIZ) :: ssc,ttc,
area,thk,alp
92 my_real,
DIMENSION(MVSIZ) :: x0,y0,z0,ans
93 my_real,
DIMENSION(MVSIZ) :: xx1,xx2,xx3,xx4
94 my_real,
DIMENSION(MVSIZ) :: yy1,yy2
95 my_real,
DIMENSION(MVSIZ) :: zz1,zz2,zz3,zz4
96 my_real,
DIMENSION(MVSIZ) :: xi1,xi2,xi3,xi4
97 my_real,
DIMENSION(MVSIZ) :: yi1,yi2,yi3,yi4
98 my_real,
DIMENSION(MVSIZ) :: zi1,zi2,zi3,zi4
99 my_real,
DIMENSION(MVSIZ) :: xn1,xn2,xn3,xn4
100 my_real,
DIMENSION(MVSIZ) :: yn1,yn2,yn3,yn4
101 my_real,
DIMENSION(MVSIZ) :: zn1,zn2,zn3,zn4
102 my_real,
DIMENSION(MVSIZ) :: xp,yp,zp
103 my_real,
DIMENSION(MVSIZ) :: h1,h2,h3,h4
105 . vni(mvsiz),vnt(mvsiz)
107 . ansmx,ascalv,ascalf,fscalv,fmx,fmy,fmz,startt,fric,sfric,visc,
108 . stiff, gap, stopt,dist
110 INTEGER :: NFT,LLT,LFT
127 ngrous=1+(nsn-1)/nvsiz
128 ngroum=1+(nmn-1)/nvsiz
130 startt=intbuf_tab%VARIABLES(3)
131 IF(startt > tt)
RETURN
132 stopt =intbuf_tab%VARIABLES(11)
133 IF(tt > stopt)
RETURN
135 fric = intbuf_tab%VARIABLES(1)
136 gap = intbuf_tab%VARIABLES(2)
137 sfric = intbuf_tab%VARIABLES(5)
138 visc = intbuf_tab%VARIABLES(14)
139 stiff = intbuf_tab%VARIABLES(21)
140 ascalf= intbuf_tab%VARIABLES(22)
141 ascalv= intbuf_tab%VARIABLES(23)
142 fscalv= intbuf_tab%VARIABLES(24)
144 CALL i6ini3(intbuf_tab%FS,intbuf_tab%FM,nsn,nmn)
151 llt=min0(nvsiz,nsn-nft)
153 1 x, intbuf_tab%IRECTM,intbuf_tab%LMSR, intbuf_tab%MSR,
154 2 intbuf_tab%NSV, intbuf_tab%ILOCS, intbuf_tab%NSEGM, xi,
155 3 yi, zi, xface, lft,
158 1 x, intbuf_tab%IRECTM,intbuf_tab%LMSR, intbuf_tab%MSR,
159 2 intbuf_tab%NSV, intbuf_tab%ILOCS, intbuf_tab%IRTLM, intbuf_tab%NSEGM,
160 3 xface, lft, llt, nft)
162 1 x, intbuf_tab%IRECTM,intbuf_tab%MSR, intbuf_tab%NSV,
163 2 intbuf_tab%IRTLM, ix1, ix2, ix3,
175 7 xx1, xx2, xx3, xx4,
176 8 yy1, yy2, yy3, yy4,
177 9 zz1, zz2, zz3, zz4,
178 a xi1, xi2, xi3, xi4,
179 b yi1, yi2, yi3, yi4,
180 c zi1, zi2, zi3, zi4,
181 d xn1, xn2, xn3, xn4,
182 e yn1, yn2, yn3, yn4,
183 f zn1, zn2, zn3, zn4,
186 1 gap,
area, thk, alp,
189 1 igimp, inty, dist, x1,
201 1 intbuf_tab%IRECTM,intbuf_tab%MSR, intbuf_tab%NSV, intbuf_tab%IRTLM,
202 2 intbuf_tab%STFM, intbuf_tab%STFNS, igimp, intbuf_tab%FS,
203 3 intbuf_tab%FM, ansmx, fmx, fmy,
204 4 fmz, intbuf_tab%FCONT, n1, n2,
205 5 n3, xface, ans, h1,
207 7 xx3, yy3, zz3, xx4,
208 8 yy4, yi1, yi2, yi3,
210 a xi1, xi2, xi3, xi4,
213 IF (visc > zero .or. idampv > 0 .or. fric > zero)
215 1 lold, intbuf_tab%IRTLM, intbuf_tab%IRTLOM,intbuf_tab%CSTS,
216 2 intbuf_tab%IRECTM,intbuf_tab%MSR, intbuf_tab%NSV, v,
222 IF (visc > zero .or. idampv > 0)
224 1 v, npc, tf, intbuf_tab%IRECTM,
225 2 intbuf_tab%MSR, intbuf_tab%NSV, intbuf_tab%IRTLM, intbuf_tab%IRTLOM,
226 3 intbuf_tab%CSTS, intbuf_tab%FS, intbuf_tab%FM, visc,
227 4 idampv, idampf, lold, ms,
228 5 vni, ascalf, ascalv, fscalv,
230 7 xx3, yy3, zz3, xx4,
231 8 yy4, yi1, yi2, yi3,
232 9 zz4, zi1, zi2, zi3,
233 a xi1, xi2, xi3, xi4,
238 1 x, intbuf_tab%IRECTM,intbuf_tab%MSR, intbuf_tab%NSV,
239 2 intbuf_tab%IRTLM, intbuf_tab%CSTS, intbuf_tab%IRTLOM,intbuf_tab%FRICOS,
240 3 fric, intbuf_tab%FS, intbuf_tab%FM, sfric,
241 4 ifricf, npc, tf, lold,
242 5 ifricv, vnt, ascalf, ascalv,
244 7 ssc, ttc, xface, xp,
247 a zz3, xx4, yy4, yi1,
248 b yi2, yi3, zz4, zi1,
249 c zi2, zi3, xi1, xi2,
250 d xi3, xi4, lft, llt,
267 llt=min0(nvsiz,nmn-nft)
269 1 x, intbuf_tab%IRECTS,intbuf_tab%LNSV, intbuf_tab%NSV,
270 2 intbuf_tab%MSR, intbuf_tab%ILOCM, intbuf_tab%NSEGS, xi,
271 3 yi, zi, xface, lft,
274 1 x, intbuf_tab%IRECTS,intbuf_tab%LNSV, intbuf_tab%NSV,
275 2 intbuf_tab%MSR, intbuf_tab%ILOCM, intbuf_tab%IRTLS, intbuf_tab%NSEGS,
276 3 xface, lft, llt, nft)
278 1 x, intbuf_tab%IRECTS,intbuf_tab%NSV, intbuf_tab%MSR,
279 2 intbuf_tab%IRTLS, ix1, ix2, ix3,
292 7 xx1, xx2, xx3, xx4,
293 8 yy1, yy2, yy3, yy4,
294 9 zz1, zz2, zz3, zz4,
295 a xi1, xi2, xi3, xi4,
296 b yi1, yi2, yi3, yi4,
297 c zi1, zi2, zi3, zi4,
298 d xn1, xn2, xn3, xn4,
299 e yn1, yn2, yn3, yn4,
300 f zn1, zn2, zn3, zn4,
303 1 gap,
area, thk, alp,
306 1 igimp, inty, dist, x1,
316 IF (igimp == 0) cycle
319 1 intbuf_tab%IRECTS,intbuf_tab%NSV, intbuf_tab%MSR, intbuf_tab%IRTLS,
320 2 intbuf_tab%STFS, intbuf_tab%STFNM, igimp, intbuf_tab%FM,
321 3 intbuf_tab%FS, ansmx, fmx, fmy,
322 4 fmz, intbuf_tab%FCONT, n1, n2,
323 5 n3, xface, ans, h1,
325 7 xx3, yy3, zz3, xx4,
326 8 yy4, yi1, yi2, yi3,
327 9 zz4, zi1, zi2, zi3,
328 a xi1, xi2, xi3, xi4,
331 IF (visc > zero .or. idampv > 0 .or. fric > zero)
333 1 lold, intbuf_tab%IRTLS, intbuf_tab%IRTLOS,intbuf_tab%CSTM,
334 2 intbuf_tab%IRECTS,intbuf_tab%NSV, intbuf_tab%MSR, v,
340 IF (visc > zero .or. idampv > 0)
342 1 v, npc, tf, intbuf_tab%IRECTS
343 2 intbuf_tab%NSV, intbuf_tab%MSR, intbuf_tab%IRTLS, intbuf_tab%IRTLOS,
344 3 intbuf_tab%CSTM, intbuf_tab%FM, intbuf_tab%FS, visc,
345 4 idampv, idampf, lold, ms,
346 5 vni, ascalf, ascalv, fscalv,
348 7 xx3, yy3, zz3, xx4,
349 8 yy4, yi1, yi2, yi3,
350 9 zz4, zi1, zi2, zi3,
351 a xi1, xi2, xi3, xi4,
356 1 x, intbuf_tab%IRECTS,intbuf_tab%NSV, intbuf_tab%MSR,
357 2 intbuf_tab%IRTLS, intbuf_tab%CSTM, intbuf_tab%IRTLOS,intbuf_tab%FRICOM,
358 3 fric, intbuf_tab%FM, intbuf_tab%FS, sfric,
359 4 ifricf, npc, tf, lold,
360 5 ifricv, vnt, ascalf, ascalv,
365 a zz3, xx4, yy4, yi1,
366 b yi2, yi3, zz4, zi1,
367 c zi2, zi3, xi1, xi2,
368 d xi3, xi4, lft, llt,
373 1 a ,intbuf_tab%MSR ,intbuf_tab%NSV ,intbuf_tab%FS ,
374 2 intbuf_tab%FM ,npc ,tf ,ansmx ,
375 3 fmx ,fmy ,fmz ,intbuf_tab%VARIABLES(4),
376 4 ipari(11) ,v ,noint ,nsn ,
377 5 nmn ,fsav ,dt2t ,neltst ,
378 6 ityptst ,intbuf_tab%STFAC(1) ,fskyi ,isky ,
379 7 fcont,intbuf_tab%VARIABLES(19),intbuf_tab%VARIABLES(20),stiff ,
380 8 ipari(47) ,ipari(49) ,ipari(58) ,intbuf_tab%FCONT ,
381 9 intbuf_tab%ANSMX0(1) ,intbuf_tab%ANSMX0(2),h3d_data )
subroutine i3cst3(x1, x2, x3, x4, xi, y1, y2, y3, y4, yi, z1, z2, z3, z4, zi, xface, n1, n2, n3, ssc, ttc, x0, y0, z0, xx1, xx2, xx3, xx4, yy1, yy2, yy3, yy4, zz1, zz2, zz3, zz4, xi1, xi2, xi3, xi4, yi1, yi2, yi3, yi4, zi1, zi2, zi3, zi4, xn1, xn2, xn3, xn4, yn1, yn2, yn3, yn4, zn1, zn2, zn3, zn4, area, lft, llt)
subroutine i6damp(v, npc, tf, irect, msr, nsv, irtl, irtlo, cst, es, em, visc, ndamp1, ndamp2, lold, mass, vni, ascalf, ascalv, fscalv, h1, h2, h3, h4, fni, fxi, fyi, fzi, fx1, fx2, fx3, fx4, fy1, fy2, fy3, fy4, fz1, fz2, fz3, fz4, lft, llt, nft)
subroutine i6for3(irect, msr, nsv, irtl, stf, stfn, igimp, es, em, ansmx, fmx, fmy, fmz, peni, n1, n2, n3, xface, ans, h1, h2, h3, h4, thk, fni, fxi, fyi, fzi, fx1, fx2, fx3, fx4, fy1, fy2, fy3, fy4, fz1, fz2, fz3, fz4, lft, llt, nft)
subroutine i6fri3(x, irect, msr, nsv, irtl, cst, irtlo, fric0, fric, es, em, sfric, ifricf, npc, tf, lold, ifricv, vnt, ascalf, ascalv, stiff, n1, n2, n3, ssc, ttc, xface, xp, yp, zp, h1, h2, h3, h4, fni, fxi, fyi, fzi, fx1, fx2, fx3, fx4, fy1, fy2, fy3, fy4, fz1, fz2, fz3, fz4, lft, llt, nft)
subroutine i6main(output, ipari, x, a, icodt, npc, tf, v, fsav, dt2t, neltst, ityptst, fskyi, isky, fcont, ms, intbuf_tab, h3d_data)