34 . X1 ,X2 ,X3 ,X4 ,Y1 ,Y2 ,
35 . Y3 ,Y4 ,Z1 ,Z2 ,Z3 ,Z4 ,
36 . E1X, E2X, E3X, E1Y, E2Y, E3Y ,E1Z, E2Z, E3Z )
40#include "implicit_f.inc"
53 my_real,
DIMENSION(MVSIZ),
INTENT(IN) ::
54 . X1,X2,X3,X4,Y1,Y2,Y3,Y4,Z1,Z2,Z3,Z4
55 my_real,
DIMENSION(MVSIZ),
INTENT(OUT) ::
area,
56 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z
62 my_real,
DIMENSION(MVSIZ) :: X21,Y21,Z21,X31,Y31,Z31,X42,Y42,Z42,SUM
77 e3x(i)=y31(i)*z42(i)-z31(i)*y42(i)
78 e3y(i)=z31(i)*x42(i)-x31(i)*z42(i)
79 e3z(i)=x31(i)*y42(i)-y31(i)*x42(i)
80 sum(i)=sqrt(e3x(i)*e3x(i)+e3y(i)*e3y(i)
84 IF (ishfram == 1)
THEN
92 sum(i)= x21(i)*e3x(i)+y21(i)*e3y(i)+z21(i)*e3z(i)
93 e1x(i)= x21(i)-e3x(i)*sum(i)
94 e1y(i)= y21(i)-e3y(i)*sum(i
95 e1z(i)= z21(i)-e3z(i)*sum(i
99 sum(i)=sqrt(e1x(i)*e1x(i)+e1y(i)*e1y(i
106 e2x(i)=e3y(i)*e1z(i)-e3z(i)*e1y(i)
107 e2y(i)=e3z(i)*e1x(i)-e3x(i)*e1z(i)
108 e2z(i)=e3x(i)*e1y(i)-e3y(i)*e1x(i)
112 sum(i)=sqrt(e2x(i)*e2x(i)+e2y(i)*e2y(i
117 ELSEIF (ishfram == 2)
THEN
120 e1x(i)= x2(i)+x3(i)-x1(i)-x4(i)
121 e1y(i)= y2(i)+y3(i)-y1(i)-y4(i)
122 e1z(i)= z2(i)+z3(i)-z1(i)-z4(i)
124 e2x(i)= x3(i)+x4(i)-x1(i)-x2(i)
125 e2y(i)= y3(i)+y4(i)-y1(i)-y2(i)
126 e2z(i)= z3(i)+z4(i)-z1(i)-z2(i)
128 e3x(i)=e1y(i)*e2z(i)-e1z(i)*e2y(i)
129 e3y(i)=e1z(i)*e2x(i)-e1x(i)*e2z(i)
130 e3z(i)=e1x(i)*e2y(i)-e1y(i)*e2x(i)
134 suma=e2x(i)*e2x(i)+e2y(i)*e2y(i)+e2z
135 e1x(i) = e1x(i)*suma + e2y(i)*e3z(i)-e2z(i)*e3y(i)
136 e1y(i) = e1y(i)*suma + e2z(i)*e3x(i)-e2x(i)*e3z(i)
137 e1z(i) = e1z(i)*suma + e2x(i)*e3y(i)-e2y(i)*e3x(i)
140 suma=e1x(i)*e1x(i)+e1y(i)*e1y(i)+e1z(i)*e1z(i)
141 suma=one/
max(sqrt(suma),em20)
148 suma=e3x(i)*e3x(i)+e3y(i)*e3y(i)+e3z(i)*e3z(i)
149 suma=one/
max(sqrt(suma),em20)
154 e2x(i)=e3y(i)*e1z(i)-e3z(i)*e1y(i)
155 e2y(i)=e3z(i)*e1x(i)-e3x(i)*e1z(i)
156 e2z(i)=e3x(i)*e1y(i)-e3y(i)*e1x(i)
160 suma=e2x(i)*e2x(i)+e2y(i)*e2y(i)+e2z(i)*e2z(i)
161 suma=one/
max(sqrt(suma),em20)
169 e1x(i) = x2(i)+x3(i)-x1(i)-x4(i)
170 e1y(i) = y2(i)+y3(i)-y1(i)-y4(i)
171 e1z(i) = z2(i)+z3(i)-z1(i)-z4(i)
173 e2x(i) = x3(i)+x4(i)-x1(i)-x2(i)
174 e2y(i) = y3(i)+y4(i)-y1(i)-y2(i)
175 e2z(i) = z3(i)+z4(i)-z1(i)-z2(i)
177 e3x(i) = e1y(i)*e2z(i)-e1z(i)*e2y(i)
178 e3y(i) = e1z(i)*e2x(i)-e1x(i)*e2z(i)
179 e3z(i) = e1x(i)*e2y(i)-e1y(i)*e2x(i)
183 suma = e3x(i)*e3x(i)+e3y(i)*e3y(i)+e3z(i)*e3z(i)
184 suma = one/
max(sqrt(suma),em20)
189 s1 = e1x(i)*e1x(i)+e1y(i)*e1y(i)+e1z(i)*e1z(i)
190 s2 = e2x(i)*e2x(i)+e2y(i)*e2y(i)+e2z(i)*e2z(i)
192 e1x(i) = e1x(i) + (e2y(i)*e3z(i)-e2z(i)*e3y(i))*suma
193 e1y(i) = e1y(i) + (e2z(i)*e3x(i)-e2x(i)*e3z(i))*suma
194 e1z(i) = e1z(i) + (e2x(i)*e3y(i)-e2y(i)*e3x
196 suma = e1x(i)*e1x(i)+e1y(i)*e1y(i)+e1z(i)*e1z(i)
197 suma = one/
max(sqrt(suma),em20)
202 e2x(i) = e3y(i) * e1z(i) - e3z(i) * e1y(i)
203 e2y(i) = e3z(i) * e1x(i) - e3x(i) * e1z(i)
204 e2z(i) = e3x(i) * e1y(i) - e3y(i) * e1x(i)
subroutine ceveci(jft, jlt, area, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)