53#include "implicit_f.inc"
64 INTEGER,
INTENT(INOUT) :: LFT
65 INTEGER,
INTENT(INOUT) :: LLT
66 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: X1,X2,X3,X4,XI
67 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: Y1,Y2,Y3,Y4,YI
68 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: Z1,Z2,Z3,Z4,ZI
69 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: XFACE
70 my_real,
DIMENSION(MVSIZ),
INTENT(OUT) :: SSC,TTC,AREA
71 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: N1,N2,N3
72 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: X0,Y0,Z0
73 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: XX1,XX2,XX3,XX4
74 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: YY1,YY2,,YY4
75 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: ZZ1,ZZ2,ZZ3,ZZ4
76 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: XI1,XI2,XI3,XI4
77 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: YI1,YI2,YI3,YI4
78 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: ZI1,ZI2,ZI3,ZI4
79 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: XN1,XN2,XN3,XN4
80 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: yn1,yn2,yn3,yn4
81 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: zn1,zn2,zn3,zn4
87 . a12(mvsiz), a23(mvsiz), a34(mvsiz), a41(mvsiz),
88 . b12(mvsiz), b23(mvsiz), b34(mvsiz), b41(mvsiz),
89 . ab1(mvsiz), ab2(mvsiz), an
92 x0(i) = fourth*(x1(i)+x2(i)+x3(i)+x4(i))
93 y0(i) = fourth*(y1(i)+y2(i)+y3(i)+y4(i))
94 z0(i) = fourth*(z1(i)+z2(i)+z3(i)+z4(i))
124 xn1(i) = yy1(i)*zz2(i) - yy2(i)*zz1(i)
125 yn1(i) = zz1(i)*xx2(i) - zz2(i)*xx1(i)
126 zn1(i) = xx1(i)*yy2(i) - xx2(i)*yy1(i)
133 xn2(i) = yy2(i)*zz3(i) - yy3(i)*zz2(i)
134 yn2(i) = zz2(i)*xx3(i) - zz3(i)*xx2(i)
135 zn2(i) = xx2(i)*yy3(i) - xx3(i)*yy2(i)
142 xn3(i) = yy3(i)*zz4(i) - yy4(i)*zz3(i)
143 yn3(i) = zz3(i)*xx4(i) - zz4(i)*xx3(i)
144 zn3(i) = xx3(i)*yy4(i) - xx4(i)*yy3(i)
151 xn4(i) = yy4(i)*zz1(i) - yy1(i)*zz4(i)
152 yn4(i) = zz4(i)*xx1(i) - zz1(i)*xx4(i)
153 zn4(i) = xx4(i)*yy1(i) - xx1(i)*yy4(i)
160 an=
max(em20,sqrt(n1(i)*n1(i)+n2(i)*n2(i)+n3(i)*n3(i)))
168 x0(i)=(n1(i)*xn1(i)+n2(i)*yn1(i)+n3(i)*zn1(i))
169 y0(i)=(n1(i)*xn2(i)+n2(i)*yn2(i)+n3(i)*zn2(i))
170 z0(i)=(n1(i)*xn3(i)+n2(i)*yn3(i)+n3(i)*zn3(i))
171 xx1(i)=(n1(i)*xn4(i)+n2(i)*yn4(i)+n3(i)*zn4(i))
175 xn1(i) = yi1(i)*zi2(i) - yi2(i)*zi1(i)
176 yn1(i) = zi1(i)*xi2(i) - zi2(i)*xi1(i)
177 zn1(i) = xi1(i)*yi2(i) - xi2(i)*yi1(i)
178 yy1(i)=(n1(i)*xn1(i)+n2(i)*yn1(i)+n3(i)*zn1(i))
182 xn2(i) = yi2(i)*zi3(i) - yi3(i)*zi2(i)
183 yn2(i) = zi2(i)*xi3(i) - zi3(i)*xi2(i)
184 zn2(i) = xi2(i)*yi3(i) - xi3(i)*yi2(i)
185 zz1(i)=(n1(i)*xn2(i)+n2(i)*yn2(i)+n3(i)*zn2(i))
189 xn3(i) = yi3(i)*zi4(i) - yi4(i)*zi3(i)
190 yn3(i) = zi3(i)*xi4(i) - zi4(i)*xi3(i)
191 zn3(i) = xi3(i)*yi4(i) - xi4(i)*yi3(i)
192 xx2(i)=(n1(i)*xn3(i)+n2(i)*yn3(i)+n3(i)*zn3(i))
196 xn4(i) = yi4(i)*zi1(i) - yi1(i)*zi4(i)
197 yn4(i) = zi4(i)*xi1(i) - zi1(i)*xi4(i)
198 zn4(i) = xi4(i)*yi1(i) - xi1(i)*yi4(i)
199 yy2(i)=(n1(i)*xn4(i)+n2(i)*yn4(i)+n3(i)*zn4(i))
208 IF(xface(i)==zero)
GOTO 320
209 IF(zz2(i)+xx3(i)/=zero)
THEN
210 ssc(i)=(zz2(i)-xx3(i))/(zz2(i)+xx3(i))
217 IF(zz2(i)+xx3(i)/=zero)
THEN
218 ttc(i)=(zz2(i)-xx3(i))/(zz2(i)+xx3(i))
223 ttc(i)=(yy1(i)-x0(i))/x0(i)
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)