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