39
40
41
42#include "implicit_f.inc"
43
44
45
46#include "mvsiz_p.inc"
47
48
49
50 INTEGER, INTENT(IN) :: NEL
51 INTEGER, INTENT(IN) :: JCVT
52
54 . vx(mvsiz,8), vy(mvsiz,8), vz(mvsiz,8),
55 . px1(mvsiz,8),px2(mvsiz,8),px3(mvsiz,8),px4(mvsiz,8),
56 . px5(mvsiz,8),px6(mvsiz,8),px7(mvsiz,8),px8(mvsiz,8),
57 . py1(mvsiz,8),py2(mvsiz,8),py3(mvsiz,8),py4(mvsiz,8),
58 . py5(mvsiz,8),py6(mvsiz,8),py7(mvsiz,8),py8(mvsiz,8),
59 . pz1(mvsiz,8),pz2(mvsiz,8),pz3(mvsiz,8),pz4(mvsiz,8),
60 . pz5(mvsiz,8),pz6(mvsiz,8),pz7(mvsiz,8),pz8(mvsiz,8),
61 . d1(mvsiz,8), d2(mvsiz,8), d3(mvsiz,8), d4(mvsiz,8),
62 . d5(mvsiz,8), d6(mvsiz,8),
63 . wxx(mvsiz),wyy(mvsiz),wzz(mvsiz)
64 INTEGER IPT
65
66
67
68#include "com08_c.inc"
69
70
71
72 INTEGER I
73
75 . dxx(mvsiz), dyy(mvsiz), dzz(mvsiz),
76 . dxy(mvsiz), dyx(mvsiz), dyz(mvsiz),
77 . dzy(mvsiz), dzx(mvsiz), dxz(mvsiz), dt1d2
78
79
80 DO 30 i=1,nel
81 dxx(i) =px1(i,ipt)*vx(i,1)+px2(i,ipt)*vx(i,2)
82 + +px3(i,ipt)*vx(i,3)+px4(i,ipt)*vx(i,4)
83 + +px5(i,ipt)*vx(i,5)+px6(i,ipt)*vx(i,6)
84 + +px7(i,ipt)*vx(i,7)+px8(i,ipt)*vx(i,8)
85 dyy(i) =py1(i,ipt)*vy(i,1)+py2(i,ipt)*vy(i,2)
86 + +py3(i,ipt)*vy(i,3)+py4
87 + +py5(i,ipt)*vy(i,5)+py6(i,ipt)*vy(i,6)
88 + +py7(i,ipt)*vy(i,7)+py8(i,ipt)*vy(i,8)
89 dzz(i) =pz1(i,ipt)*vz(i,1)+pz2(i,ipt)*vz(i,2)
90 + +pz3(i,ipt)*vz(i,3)+pz4(i,ipt)*vz(i,4)
91 + +pz5(i,ipt)*vz(i,5)+pz6(i,ipt)*vz(i,6)
92 + +pz7(i,ipt)*vz(i,7)+pz8(i,ipt)*vz(i,8)
93 dxy(i) =py1(i,ipt)*vx(i,1)+py2(i,ipt)*vx(i,2)
94 + +py3(i,ipt)*vx(i,3)+py4(i,ipt)*vx(i,4)
95 + +py5(i,ipt)*vx(i,5)+py6(i,ipt)*vx(i,6)
96 + +py7(i,ipt)*vx(i,7)+py8(i,ipt)*vx(i,8)
97 dxz(i) =pz1(i,ipt)*vx(i,1)+pz2(i,ipt)*vx(i,2)
98 + +pz3(i,ipt)*vx(i,3)+pz4(i,ipt)*vx(i,4)
99 + +pz5(i,ipt)*vx(i,5)+pz6(i,ipt)*vx(i,6)
100 + +pz7(i,ipt)*vx(i,7)+pz8(i,ipt)*vx(i,8)
101 dyx(i) =px1(i,ipt)*vy(i,1)+px2(i,ipt)*vy(i,2)
102 + +px3(i,ipt)*vy(i,3)+px4(i,ipt)*vy(i,4)
103 + +px5(i,ipt)*vy(i,5)+px6(i,ipt)*vy(i,6)
104 + +px7(i,ipt)*vy(i,7)+px8(i,ipt)*vy(i,8)
105 dyz(i) =pz1(i,ipt)*vy(i,1)+pz2(i,ipt)*vy(i,2)
106 + +pz3(i,ipt)*vy(i,3)+pz4(i,ipt)*vy(i,4)
107 + +pz5(i,ipt)*vy(i,5)+pz6(i,ipt)*vy(i,6)
108 + +pz7(i,ipt)*vy(i,7)+pz8(i,ipt)*vy(i,8)
109 dzx(i) =px1(i,ipt)*vz(i,1)+px2(i,ipt)*vz(i,2)
110 + +px3(i,ipt)*vz(i,3)+px4(i,ipt)*vz(i,4)
111 + +px5(i,ipt)*vz(i,5)+px6(i,ipt)*vz(i,6)
112 + +px7(i,ipt)*vz(i,7)+px8(i,ipt)*vz(i,8)
113 dzy(i) =py1(i,ipt)*vz(i,1)+py2(i,ipt)*vz(i,2)
114 + +py3(i,ipt)*vz(i,3)+py4(i,ipt)*vz(i,4)
115 + +py5(i,ipt)*vz(i,5)+py6(i,ipt)*vz(i,6)
116 + +py7(i,ipt)*vz(i,7)+py8(i,ipt)*vz(i,8)
117 30 CONTINUE
118
119 dt1d2=half*dt1
120
121 IF (jcvt/=0) THEN
122 DO i=1,nel
123 d4(i,ipt)= dxy(i)+dyx(i)
124 . -dt1*(dxx(i)*dxy(i)+dyx(i)*dyy(i)+dzx(i)*dzy(i))
125 d5(i,ipt)= dyz(i)+dzy(i)
126 . -dt1*(dyy(i)*dyz(i)+dzy(i)*dzz(i)+dxy(i)*dxz(i))
127 d6(i,ipt)= dxz(i)+dzx(i)
128 . -dt1*(dzz(i)*dzx(i)+dxz(i)*dxx(i)+dyz(i)*dyx(i))
129 d1(i,ipt)= dxx(i)
130 . -dt1d2*(dxx(i)*dxx(i)+dyx(i)*dyx(i)+dzx(i)*dzx(i))
131 d2(i,ipt)= dyy(i)
132 . -dt1d2*(dyy(i)*dyy(i)+dzy(i)*dzy(i)+dxy(i)*dxy(i))
133 d3(i,ipt)= dzz(i)
134 . -dt1d2*(dzz(i)*dzz(i)+dxz(i)*dxz(i)+dyz(i)*dyz(i))
135 wxx(i)=zero
136 wyy(i)=zero
137 wzz(i)=zero
138 ENDDO
139 ELSE
140 DO i=1,nel
141 d1(i,ipt)=dxx(i)
142 d2(i,ipt)=dyy(i)
143 d3(i,ipt)=dzz(i)
144 d4(i,ipt)=dxy(i)+dyx(i)
145 d5(i,ipt)=dyz(i)+dzy(i)
146 d6(i,ipt)=dxz(i)+dzx(i)
147 wzz(i)=dt1d2*(dyx(i)-dxy(i))
148 wyy(i)=dt1d2*(dxz(i)-dzx(i))
149 wxx(i)=dt1d2*(dzy(i)-dyz(i))
150 ENDDO
151 ENDIF
152 RETURN
153