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 my_real,
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
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)
94 yp(i)=h1(i)*y1(i)+h2(i)*y2
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)