28 SUBROUTINE facnor(X,D,II,XNORM,CDG,INVERT)
32#include "implicit_f.inc"
38 . x(3,*),d(3,*),xnorm(3,*),cdg(*)
42 . x0(4),y0(4),z0(4),nx,ny,nz,xc,yc,zc,s
48 x0(i) = x(1,ii(i))-d(1,ii(i))
49 y0(i) = x(2,ii(i))-d(2,ii(i))
50 z0(i) = x(3,ii(i))-d(3,ii(i))
53 nx = (y0(3) - y0(1)) * (z0(4) - z0(2)) -
54 . (z0(3) - z0(1)) * (y0(4) - y0(2))
55 ny = (z0(3) - z0(1)) * (x0(4) - x0(2)) -
56 . (x0(3) - x0(1)) * (z0(4) - z0(2))
57 nz = (x0(3) - x0(1)) * (y0(4) - y0(2)) -
58 . (y0(3) - y0(1)) * (x0(4) - x0(2))
60 xc = .25*(x0(1) + x0(2) + x0(3) + x0(4))
61 yc = .25*(y0(1) + y0(2) + y0(3) + y0(4))
62 zc = .25*(z0(1) + z0(2) + z0(3) + z0(4))
66 s = nx * xc + ny * yc + nz * zc
86 nx = (y0(3) - y0(1)) * (z0(4) - z0(2)) -
87 . (z0(3) - z0(1)) * (y0(4) - y0(2))
88 ny = (z0(3) - z0(1)) * (x0(4) - x0(2)) -
89 . (x0(3) - x0(1)) * (z0(4) - z0(2))
90 nz = (x0(3) - x0(1)) * (y0(4) - y0(2)) -
91 . (y0(3) - y0(1)) * (x0(4) - x0(2))
94 xnorm(1,ii(i)) = xnorm(1,ii(i)) + nx
95 xnorm(2,ii(i)) = xnorm(2,ii(i)) + ny
96 xnorm(3,ii(i)) = xnorm(3,ii(i)) + nz