46#include "implicit_f.inc"
55 INTEGER,
INTENT(IN) :: NEL
57 . XD1(*), XD2(*), XD3(*), XD4(*), XD5(*), XD6(*), XD7(*), XD8(*)
71 INTEGER I,J,J1,J2,K,IX1,IX2,IX3,IX4,IX5,IX6,IX7,IX8,KMAX
73 . X13,Y13,Z13,X24,Y24,Z24,SX(3),SY(3),SZ(3),SN(3),DH,DHX,DHY,DHZ,
74 . h,snmax,htest(mvsiz),hclos(mvsiz),x(3,8)
75 INTEGER ICF1(4,3),ICF2(4,3)
76 DATA ICF1/1,2,3,4, 2,6,7,3, 1,5,6,2/
77 DATA ICF2/5,6,7,8, 1,5,8,4, 4,8,7,3/
80 hclos(i)=geo(129,ngeo(i))
81 htest(i)=geo(130,ngeo(i))
119 x13=x(1,ix3)-x(1,ix1)+x(1,ix7
120 y13=x(2,ix3)-x(2,ix1)+x(2,ix7)-x(2,ix5)
122 x24=x(1,ix4)-x(1,ix2)+x(1,ix8)-x(1,ix6)
123 y24=x(2,ix4)-x(2,ix2)+x(2,ix8)-x(2,ix6)
124 z24=x(3,ix4)-x(3,ix2)+x(3,ix8)-x(3,ix6)
125 sx(k)=y13*z24-z13*y24
126 sy(k)=z13*x24-x13*z24
127 sz(k)=x13*y24-y13*x24
128 sn(k)=sqrt(sx(k)**2+sy(k)**2+sz(k)**2)
147 . (x(1,j2)-x(1,j1))*sx(kmax)+
148 . (x(2,j2)-x(2,j1))*sy(kmax)+
149 . (x(3,j2)-x(3,j1))*sz(kmax) )
167 x(1,ix1)=x(1,ix1)-dhx
168 x(2,ix1)=x(2,ix1)-dhy
169 x(3,ix1)=x(3,ix1)-dhz
170 x(1,ix2)=x(1,ix2)-dhx
171 x(2,ix2)=x(2,ix2)-dhy
172 x(3,ix2)=x(3,ix2)-dhz
173 x(1,ix3)=x(1,ix3)-dhx
174 x(2,ix3)=x(2,ix3)-dhy
175 x(3,ix3)=x(3,ix3)-dhz
176 x(1,ix4)=x(1,ix4)-dhx
177 x(2,ix4)=x(2,ix4)-dhy
178 x(3,ix4)=x(3,ix4)-dhz
179 x(1,ix5)=x(1,ix5)+dhx
180 x(2,ix5)=x(2,ix5)+dhy
181 x(3,ix5)=x(3,ix5)+dhz
182 x(1,ix6)=x(1,ix6)+dhx
184 x(3,ix6)=x(3,ix6)+dhz
185 x(1,ix7)=x(1,ix7)+dhx
186 x(2,ix7)=x(2,ix7)+dhy
187 x(3,ix7)=x(3,ix7)+dhz
188 x(1,ix8)=x(1,ix8)+dhx
189 x(2,ix8)=x(2,ix8)+dhy
190 x(3,ix8)=x(3,ix8)+dhz
215 hh(i)=
max(one-h/hclos(i),zero)
subroutine mod_close(geo, ngeo, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, hh, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, nel)