39
40
41
42#include "implicit_f.inc"
43
44
45
46#include "mvsiz_p.inc"
47
48
49
50 INTEGER JFT, JLT
51 my_real x1(mvsiz), x2(mvsiz), x3(mvsiz),
52 . y1(mvsiz), y2(mvsiz), y3(mvsiz),
53 . z1(mvsiz), z2(mvsiz), z3(mvsiz),
54 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz),
55 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
56 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz),
57 . x31(mvsiz), y31(mvsiz), z31(mvsiz),
58 . x32(mvsiz), y32(mvsiz), z32(mvsiz),
59 . x21(mvsiz), y21(mvsiz), z21(mvsiz),
area(mvsiz),
60 . x2l(mvsiz), x3l(mvsiz), y3l(mvsiz)
61
62 INTEGER I
64
65 DO i=jft,jlt
66 x21(i)=x2(i)-x1(i)
67 y21(i)=y2(i)-y1(i)
68 z21(i)=z2(i)-z1(i)
69 x31(i)=x3(i)-x1(i)
70 y31(i)=y3(i)-y1(i)
71 z31(i)=z3(i)-z1(i)
72 x32(i)=x3(i)-x2(i)
73 y32(i)=y3(i)-y2(i)
74 z32(i)=z3(i)-z2(i)
75 ENDDO
76
77 DO i=jft,jlt
78 e1x(i)= x21(i)
79 e1y(i)= y21(i)
80 e1z(i)= z21(i)
81 x2l(i) = sqrt(e1x(i)*e1x(i)+e1y(i)*e1y(i)+e1z(i)*e1z(i))
82 e1x(i)=e1x(i)/x2l(i)
83 e1y(i)=e1y(i)/x2l(i)
84 e1z(i)=e1z(i)/x2l(i)
85 ENDDO
86
87 DO i=jft,jlt
88 e3x(i)=y31(i)*z32(i)-z31(i)*y32(i)
89 e3y(i)=z31(i)*x32(i)-x31(i)*z32(i)
90 e3z(i)=x31(i)*y32(i)-y31(i)*x32(i)
91 sum = sqrt(e3x(i)*e3x(i)+e3y(i)*e3y(i)+e3z(i)*e3z(i))
92 e3x(i)=e3x(i)/sum
93 e3y(i)=e3y(i)/sum
94 e3z(i)=e3z(i)/sum
96 ENDDO
97
98 DO i=jft,jlt
99 e2x(i)=e3y(i)*e1z(i)-e3z(i)*e1y(i)
100 e2y(i)=e3z(i)*e1x(i)-e3x(i)*e1z(i)
101 e2z(i)=e3x(i)*e1y(i)-e3y(i)*e1x(i)
102 sum = sqrt(e2x(i)*e2x(i)+e2y(i)*e2y(i)+e2z(i)*e2z(i))
103 e2x(i)=e2x(i)/sum
104 e2y(i)=e2y(i)/sum
105 e2z(i)=e2z(i)/sum
106 y3l(i)=e2x(i)*x31(i)+e2y(i)*y31(i)+e2z(i)*z31(i)
107 x3l(i)=e1x(i)*x31(i)+e1y(i)*y31(i)+e1z(i)*z31(i)
108 ENDDO
109
110 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)