34
35
36
37#include "implicit_f.inc"
38
39
40
41#include "mvsiz_p.inc"
42
43
44
45 INTEGER JFT, JLT,IXTG(NIXTG,*),ISMSTR
46 my_real vrl1(mvsiz,3), vrl2(mvsiz,3), vrl3(mvsiz,3),wxy(*),
47 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz), e2x(mvsiz),
48 . e2y(mvsiz), e2z(mvsiz), e3x(mvsiz), e3y(mvsiz),
49 . e3z(mvsiz), ezx(mvsiz), eyz(mvsiz),
50 . px1(mvsiz), py1(mvsiz), py2(mvsiz),
51 . kxx(mvsiz), kyy(mvsiz), kxy(mvsiz)
52
53
54
55 INTEGER I
56 my_real rx1(mvsiz), rx2(mvsiz), rx3(mvsiz),
57 . ry1(mvsiz), ry2(mvsiz), ry3(mvsiz)
58 my_real rx12t,rx13t,rx23t,ry12t,ry13t,ry23t,rxavt,ryavt
59
60 DO i=jft,jlt
61 rx1(i)=e1x(i)*vrl1(i,1)+e1y(i)*vrl1(i,2)+e1z(i)*vrl1(i,3)
62 ry1(i)=e2x(i)*vrl1(i,1)+e2y(i)*vrl1(i,2)+e2z(i)*vrl1(i,3)
63 ry2(i)=e2x(i)*vrl2(i,1)+e2y(i)*vrl2(i,2)+e2z(i)*vrl2(i,3)
64 rx2(i)=e1x(i)*vrl2(i,1)+e1y(i)*vrl2(i,2)+e1z(i)*vrl2(i,3)
65 rx3(i)=e1x(i)*vrl3(i,1)+e1y(i)*vrl3(i,2)+e1z(i)*vrl3(i,3)
66 ry3(i)=e2x(i)*vrl3(i,1)+e2y(i)*vrl3(i,2)+e2z(i)*vrl3(i,3)
67 ENDDO
68
69 DO i=jft,jlt
70 rx12t = rx1(i) - rx2(i)
71 rx13t = rx1(i) - rx3(i)
72 rx23t = rx2(i) - rx3(i)
73
74 kyy(i)=-py1(i) * rx13t - py2(i) * rx23t
75 kxy(i)= px1(i) * rx12t
76
77 ry12t = ry1(i) - ry2(i)
78 ry13t = ry1(i) - ry3(i)
79 ry23t = ry2(i) - ry3(i)
80
81 kxx(i) = px1(i) * ry12t
82 kxy(i) = py1(i) * ry13t + py2(i) * ry23t - kxy(i)
83
84 ryavt = px1(i) * (
85 . px1(i) * (-rx1(i)+rx2(i))
86 . + (two*py1(i)+three*py2(i)) * ry1(i)
87 . + (three*py1(i)+two*py2(i)) * ry2(i)
88
89 . + ( py1(i) + py2(i) ) * ry3(i) )
90 rxavt = -px1(i) * (
91 . + (two*py1(i)+py2(i)) * rx1(i)
92 . + (py1(i)+two*py2(i)) * rx2(i)
93 . + three*(py1(i)+py2(i)) * rx3(i) )
94 . + py1(i) * (py1(i)+two*py2(i)) * ry1(i)
95 . - py2(i) * (two*py1(i)+py2(i)) * ry2(i)
96 . + ( py2(i)**2 - py1(i)**2 ) * ry3(i)
97
98 ezx(i) = ezx(i) + ryavt * third
99 eyz(i) = eyz(i) + rxavt * third
100 ENDDO
101
102 IF (ismstr==10) THEN
103 DO i=jft,jlt
104 rx12t = rx1(i) - rx2(i)
105 ry13t = ry1(i) - ry3(i)
106 ry23t = ry2(i) - ry3(i)
107
108 wxy(i) = py1(i) * ry13t + py2(i) * ry23t + px1(i) * rx12t
109 ENDDO
110 ENDIF
111
112 RETURN