40
41
42
43#include "implicit_f.inc"
44
45
46
47#include "mvsiz_p.inc"
48
49
50
51#include "com08_c.inc"
52
53
54
55 INTEGER, INTENT(IN) :: NEL
56 INTEGER, INTENT(IN) :: JCVT
57 INTEGER ICP
58
60 . py1(*),py2(*),py3(*),py4(*),
61 . pz1(*),pz2(*),pz3(*),pz4(*),
62 . byz1(*),byz2(*),byz3(*),byz4(*),
63 . bzy1(*),bzy2(*),bzy3(*),bzy4(*),
64 . vy1(*),vy2(*),vy3(*),vy4(*),
65 . vz1(*),vz2(*),vz3(*),vz4(*),
66 . eyz(*),eyy(*),ezz(*),exx(*),wxx(*),
67 . r22(*),r23(*),
68 . ay(*),off(*),offg(*),volo(*),
69 . eint(*),dsv(*),fac(*)
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 INTEGER I
91
93 . dyz(mvsiz),dzy(mvsiz),
94 . dvc(mvsiz),dv1,tol,
95 . dt1d2,vyg
96
97
98
99
100 DO i=1,nel
101 eyy(i)=py1(i)*vy1(i)+py2(i)*vy2(i)+py3(i)*vy3(i)+py4(i)*vy4(i)
102 ezz(i)=pz1(i)*vz1(i)+pz2(i)*vz2(i)+pz3(i)*vz3(i)+pz4(i)*vz4(i)
103 dyz(i)=pz1(i)*vy1(i)+pz2(i)*vy2(i)+pz3(i)*vy3(i)+pz4(i)*vy4(i)
104 dzy(i)=py1(i)*vz1(i)+py2(i)*vz2(i)+py3(i)*vz3(i)+py4(i)*vz4(i)
105 ENDDO
106
107
108
109
110 dt1d2=half*dt1
111 IF(jcvt==0) THEN
112 DO i=1,nel
113 wxx(i)=dt1d2*(dzy(i)-dyz(i))
114 ENDDO
115 ELSE
116 DO i=1,nel
117 wxx(i)=zero
118 eyy(i)=eyy(i)-dt1d2*(eyy(i)*eyy(i)+dzy(i)*dzy(i))
119 ezz(i)=ezz(i)-dt1d2*(ezz(i)*ezz(i)+dyz(i)*dyz(i))
120 ENDDO
121 ENDIF
122
123
124 DO i=1,nel
125 dvc(i)=eyy(i)+ezz(i)+exx(i)
126 ENDDO
127
128 DO i=1,nel
129 eyy(i)=eyy(i)+
130 . byz1(i)*vz1(i)+byz2(i)*vz2(i)+byz3(i)*vz3(i)+byz4(i)*vz4(i)
131 ezz(i)=ezz(i)+
132 . bzy1(i)*vy1(i)+bzy2(i)*vy2(i)+bzy3(i)*vy3(i)+bzy4(i)*vy4(i)
133 ENDDO
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180 RETURN