42
43
44
45 USE intbufdef_mod
46
47
48
49#include "implicit_f.inc"
50
51
52
53#include "mvsiz_p.inc"
54
55
56
57#include "com08_c.inc"
58#include "param_c.inc"
59#include "impl2_c.inc"
60
61
62
63 INTEGER IPARI(*)
64 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),IDDL(*),
65 . IADK(*) ,JDIK(*)
66
68 . a(3,*), ms(*), v(3,*),x(*),k_diag(*),k_lt(*)
69
70 TYPE(INTBUF_STRUCT_) INTBUF_TAB
71
72
73
74 INTEGER ,IGAP, INACTI, IFQ, MFROT, IGSTI
75 INTEGER JX1(MVSIZ), JX2(MVSIZ), JX3(MVSIZ), JX4(MVSIZ),
76 . NSVG(MVSIZ), I3N ,IGIMP
77 INTEGER, DIMENSION(MVSIZ) :: IX1,IX2,IX3,IX4
78
80 . startt, fric, gap, stopt,stiglo,gapmin,
81 . kmin, kmax, gapmax,gap_imp
82
83
85 . ntj(3,mvsiz),ki11(9,mvsiz),kj11(9,mvsiz),
86 . kk11(9,mvsiz),kl11(9,mvsiz),ki12(9,mvsiz),freq,
87 . kj12(9,mvsiz),kk12(9,mvsiz),kl12(9,mvsiz),off(mvsiz),
88 . dist(mvsiz)
89 my_real,
DIMENSION(MVSIZ) :: x1,x2,x3,x4,xi
90 my_real,
DIMENSION(MVSIZ) :: y1,y2,y3,y4,yi
91 my_real,
DIMENSION(MVSIZ) :: z1,z2,z3,z4,zi
92 my_real,
DIMENSION(MVSIZ) :: xface,n1,n2,n3
94 my_real,
DIMENSION(MVSIZ) :: x0,y0,z0,ans
95 my_real,
DIMENSION(MVSIZ) :: xx1,xx2,xx3,xx4
96 my_real,
DIMENSION(MVSIZ) :: yy1,yy2,yy3,yy4
97 my_real,
DIMENSION(MVSIZ) :: zz1,zz2,zz3,zz4
98 my_real,
DIMENSION(MVSIZ) :: xi1,xi2,xi3,xi4
99 my_real,
DIMENSION(MVSIZ) :: yi1,yi2,yi3,yi4
100 my_real,
DIMENSION(MVSIZ) :: zi1,zi2,zi3,zi4
101 my_real,
DIMENSION(MVSIZ) :: xn1,xn2,xn3,xn4
102 my_real,
DIMENSION(MVSIZ) :: yn1,yn2,yn3,yn4
103 my_real,
DIMENSION(MVSIZ) :: zn1,zn2,zn3,zn4
104 my_real,
DIMENSION(MVSIZ) :: xp,yp,zp
105 my_real,
DIMENSION(MVSIZ) :: h1,h2,h3,h4,stif
106 INTEGER :: NSN,NTY
107 INTEGER :: LFT,LLT,NFT
108
109 nsn = ipari(5)
110 nty = ipari(7)
111 mfrot = ipari(30)
112 ifq = ipari(31)
113 freq = one
114
115 startt=intbuf_tab%VARIABLES(3)
116 stopt =intbuf_tab%VARIABLES(11)
117 IF(startt>tt) RETURN
118 IF(tt>stopt) RETURN
119
120 gap =intbuf_tab%VARIABLES(2)
121
122 IF(nty==3)THEN
123 ELSEIF(nty==4)THEN
124 ELSEIF(nty==5)THEN
125 fric = intbuf_tab%VARIABLES(1)
126 IF (ifq /= 0) freq = intbuf_tab%XFILTR(1)
127
128 DO nft = 0 , num_imp - 1 , nvsiz
129 lft=1
130 llt =
min( nvsiz, num_imp - nft )
132 1 x, intbuf_tab%IRECTM,intbuf_tab%MSR, intbuf_tab%NSV,
133 2 intbuf_tab%IRTLM, cand_n(nft+1), cand_e(nft+1), nsvg,
134 3 jx1, jx2, jx3, jx4,
135 4 x1, x2, x3, x4,
136 5 y1, y2, y3, y4,
137 6 z1, z2, z3, z4,
138 7 xface, xi, yi, zi,
139 8 ix1, ix2, ix3,
140 9 lft, llt, nft)
142 1 x1, x2, x3, x4,
143 2 xi, y1, y2, y3,
144 3 y4, yi, z1, z2,
145 4 z3, z4, zi, xface,
146 5 n1, n2, n3, ssc,
147 6 ttc, x0, y0, z0,
148 7 xx1, xx2, xx3, xx4,
149 8 yy1, yy2, yy3, yy4,
150 9 zz1, zz2, zz3, zz4,
151 a xi1, xi2, xi3, xi4,
152 b yi1, yi2, yi3, yi4,
153 c zi1, zi2, zi3, zi4,
154 d xn1, xn2, xn3, xn4,
155 e yn1, yn2, yn3, yn4,
156 f zn1, zn2, zn3, zn4,
159 1 gap,
area, thk, alp,
160 2 lft, llt)
162 1 igimp, nty, dist, x1,
163 2 x2, x3, x4, xi,
164 3 y1, y2, y3, y4,
165 4 yi, z1, z2, z3,
166 5 z4, zi, xface, n1,
167 6 n2, n3, ssc, ttc,
168 7 alp, ans, xp, yp,
169 8 zp, h1, h2, h3,
170 9 h4, lft, llt)
171 CALL i5frik3(lft ,llt ,cand_n(nft+1),cand_e(nft+1),ipari ,
172 2 x ,intbuf_tab%IRECTM,intbuf_tab%MSR,intbuf_tab%NSV,
173 3 intbuf_tab%IRTLM,intbuf_tab%CSTS,intbuf_tab%IRTLOM,intbuf_tab%FRICOS,
174 4 fric ,freq ,intbuf_tab%FTSAV,intbuf_tab%STFM,ntj ,xp ,yp ,
175 5 zp ,n1 ,n2 ,n3 ,ans ,
176 6 stif )
177 CALL i5keg3(lft ,llt ,fric ,sk_int,
178 3 ntj ,ki11 ,ki12 ,kj11 ,kj12 ,
179 4 kk11 ,kk12 ,kl11 ,kl12 ,off ,
180 5 n1 ,n2 ,n3 ,stif ,h1 ,
181 6 h2 ,h3 ,h4)
183 1 jx4 ,llt ,iddl ,k_diag ,k_lt ,
184 2 iadk ,jdik ,ki11 ,ki12 ,kj11 ,
185 3 kj12 ,kk11 ,kk12 ,kl11 ,kl12 ,
186 4 off )
187 END DO
188 ELSEIF(nty==6)THEN
189
190 ELSEIF(nty==7.OR.nty==22)THEN
191
192 ENDIF
193
194 RETURN
subroutine assem_int(nd, ns, n1, n2, n3, n4, nel, iddl, k_diag, k_lt, iadk, jdik, ki11, ki12, kj11, kj12, kk11, kk12, kl11, kl12, off)
subroutine area(d1, x, x2, y, y2, eint, stif0)
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 i3dis3(igimp, nty, dist, x1, x2, x3, x4, xi, y1, y2, y3, y4, yi, z1, z2, z3, z4, zi, xface, n1, n2, n3, ssc, ttc, alp, ans, xp, yp, zp, h1, h2, h3, h4, lft, llt)
subroutine i3gap3(gap, area, thk, alp, lft, llt)
subroutine i5cork3(x, irect, msr, nsv, irtl, i_n, i_e, nsvg, jx1, jx2, jx3, jx4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xface, xi, yi, zi, ix1, ix2, ix3, ix4, lft, llt, nft)
subroutine i5frik3(lft, llt, i_n, i_e, ipari, x, irect, msr, nsv, irtl, cst, irtlo, fric0, fric, freq, ftsav, stfm, tnj, xp, yp, zp, n1, n2, n3, ans, stif)
subroutine i5keg3(lft, llt, fric, scalk, tnj, ki11, ki12, kj11, kj12, kk11, kk12, kl11, kl12, off, n1, n2, n3, stif, h1, h2, h3, h4)