33 1 IGIMP, NTY, DIST, X1,
45#include "implicit_f.inc"
53 INTEGER,
INTENT(INOUT) :: LFT
54 INTEGER,
INTENT(INOUT) :: LLT
57 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: X1,X2,X3,X4,XI
58 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: Y1,Y2,Y3,Y4,YI
59 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: Z1,Z2,Z3,Z4,ZI
60 ,
DIMENSION(MVSIZ),
INTENT(INOUT) :: XFACE,ANS
61 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: N1,N2,N3,ALP
62 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: xp,yp,zp,ssc,ttc
63 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: h1,h2,h3,h4
70 IF (xface(i) == zero) cycle
71 IF (abs(ssc(i))>one+alp(i) .OR. abs(ttc(i))>one+alp(i))
THEN
74 IF(abs(ssc(i)) > one) ssc(i)=ssc(i)/abs(ssc(i))
75 IF(abs(ttc(i)) > one) ttc(i)=ttc(i)/abs(ttc(i))
81 igimp = igimp + abs(xface(i))
83 IF (igimp == 0)
RETURN
86 h1(i) = fourth*(one-ttc(i))*(one-ssc(i))
87 h2(i) = fourth*(one-ttc(i))*(one+ssc(i))
88 h3(i) = fourth*(one+ttc(i))*(one+ssc(i))
89 h4(i) = fourth*(one+ttc(i))*(one-ssc(i))
93 xp(i)=h1(i)*x1(i)+h2(i)*x2(i)+h3(i)*x3(i)+h4(i)*x4(i)
94 yp(i)=h1(i)*y1(i)+h2(i)*y2(i)+h3(i)*y3(i)+h4(i)*y4(i)
95 zp(i)=h1(i)*z1(i)+h2(i)*z2(i)+h3(i)*z3(i)+h4(i)*z4(i)
99 ans(i)= n1(i)*(xi(i)-xp(i))
100 . +n2(i)*(yi(i)-yp(i))
101 . +n3(i)*(zi(i)-zp(i))
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)