32
33
34
35
36
37
38
39
40
41
42#include "implicit_f.inc"
43#include "mvsiz_p.inc"
44
45
46
47 INTEGER JFT,JLT,NG,NPLAT,IPLAT(*),NEL
49 . ff0(nel,5),mm0(nel,3),cdet(*),vol(*),
50 . bm(mvsiz,36),bmf(mvsiz,36),bf(mvsiz,24),bc(mvsiz,40),
51 . thk0(*),vf(mvsiz,3,4),vm(mvsiz,2,4),th12(*),
52 . c1,c2,cm1,cm2,cc1,cc2,bc1
53 . tc(mvsiz,2,2),bcx,bcy
54
55
56
57 INTEGER EP,I,J
59 . ff(mvsiz,5),mm(mvsiz,3)
60
61
62 DO ep=jft,jlt
63 ff(ep,1) = ff0(ep,1)
64 ff(ep,2) = ff0(ep,2)
65 ff(ep,3) = ff0(ep,3)
66 ff(ep,5) = ff0(ep,4)
67 ff(ep,4) = ff0(ep,5)
68
69 mm(ep,1) = mm0(ep,1)
70 mm(ep,2) = mm0(ep,2)
71 mm(ep,3) = mm0(ep,3)
72 END DO
73#include "vectorize.inc"
74 DO i=jft,nplat
75 ep=iplat(i)
76 c2=vol(ep)
77 c1=th12(ep)*cdet
78 cm1=c1*(bm(ep,7)*mm(ep,2)+bm(ep,3)*mm(ep,3))
79 cm2=c1*(bm(ep,3)*mm(ep,1)+bm(ep,7)*mm(ep,3))
80 cc1=c2*(bc(ep,15)*ff(ep,4)+bc(ep,16)*ff(ep,5))
81 cc2=c2*(bc(ep,17)*ff(ep,4)+bc(ep,18)*ff(ep,5))
82 bc1=bc(ep,1)*ff(ep,4)
83 bc3=bc(ep,3)*ff(ep,4)
84 bc5=bc(ep,5)*ff(ep,4)
85
86 vf(ep,1,1)=vf(ep,1,1)+c2*(bm(ep,1)*ff(ep,1))
87 vf(ep,2,1)=vf(ep,2,1)+c2*(bm(ep,5)*ff(ep,2))
88 vf(ep,3,1)=vf(ep,3,1)+c2*(bc1+bc(ep,2)*ff(ep,5))
89
90 vm(ep,1,1)=vm(ep,1,1)+c2*(bc3+bc(ep,4)*ff(ep,5))
91 1 -c1*(bm(ep,5)*mm(ep,2)+bm(ep,1)*mm(ep,3))
92 vm(ep,2,1)=vm(ep,2,1)+c2*(bc5+bc(ep,6)*ff(ep,5))+
93 1 c1*(bm(ep,1)*mm(ep,1)+bm(ep,5)*mm(ep,3))
94
95 vf(ep,1,3)=vf(ep,1,3)+c2*(bm(ep,3)*ff(ep,1))
96 vf(ep,2,3)=vf(ep,2,3)+c2*(bm(ep,7)*ff(ep,2))
97
98 vf(ep,3,3)=vf(ep,3,3)+c2*(bc(ep,13)*ff(ep,4)+bc(ep,14)*ff(ep,5))
99
100 vm(ep,1,3)=vm(ep,1,3)+cc1
101 vm(ep,2,3)=vm(ep,2,3)+cc2+cm2
102
103 vf(ep,1,2)=vf(ep,1,2)+c2*(bm(ep,2)*ff(ep,1))
104 vf(ep,2,2)=vf(ep,2,2)+c2*(bm(ep,6)*ff(ep,2))
105 vf(ep,3,2)=vf(ep,3,2)+c2*(bc(ep,7)*ff(ep,4)+bc(ep,8)*ff(ep,5))
106 vm(ep,1,2)=vm(ep,1,2)+c2*(bc(ep,9)*ff(ep,4)+bc(ep,10)*ff(ep,5))
107 1 -c1*(bm(ep,6)*mm(ep,2)+bm(ep,2)*mm(ep,3))
108 vm(ep,2,2)=vm(ep,2,2)
109 1 +c2*(bc(ep,11)*ff(ep,4)+bc(ep,12)*ff(ep,5))+
110 1 c1*(bm(ep,2)*mm(ep,1)+bm(ep,6)*mm(ep,3))
111
112 vf(ep,1,4)=-vf(ep,1,3)
113 vf(ep,2,4)=-vf(ep,2,3)
114 vf(ep,3,4)=-vf(ep,3,3)
115
116 vm(ep,1,4)=vm(ep,1,4)+cc1+cm1
117 vm(ep,2,4)=vm(ep,2,4)+cc2-cm2
118
119 ENDDO
120#include "vectorize.inc"
121 DO i=nplat+1,jlt
122 ep=iplat(i)
123 c2=vol(ep)
124 c1=th12(ep)*cdet(ep)
125 bcx=tc(ep,1,1)*ff(ep,4)+tc(ep,1,2)*ff(ep,5)
126 bcy=tc(ep,2,1)*ff(ep,4)+tc(ep,2,2)*ff(ep,5)
127
128 vf(ep,1,1)=vf(ep,1,1) +c2*(bm(ep,1)*ff(ep,1)+
129 1 bm
130 3 bc(ep,1)*bcx+
131 4 bc(ep,2)*bcy )
132 5 +c1*(bmf(ep,1)*mm(ep,1)+
133 6 bmf(ep,2)*mm(ep,2)+
134 7 bmf(ep,3)*mm(ep,3))
135
136 vm(ep,1,1)=vm(ep,1,1)+c2*(bc(ep,7)*bcx+
137 1 bc(ep,8)*bcy)
138 2 +c1*(bf(ep,1)*mm(ep,1)+
139 3 bf(ep,2)*mm(ep,2)+
140 4 bf(ep,3)*mm(ep,3) )
141
142 vf(ep,2,1)=vf(ep,2,1)+c2*(bm(ep,4)*ff(ep,1)+
143 2 bm(ep,5)*ff(ep,2)+
144 4 bc(ep,3)*bcx+
145 5 bc(ep,4)*bcy )
146 6 +c1*(bmf(ep,4)*mm(ep,1)+
147 7 bmf(ep,5)*mm(ep,2)+
148 8 bmf(ep,6)*mm(ep,3))
149
150 vm(ep,2,1)=vm(ep,2,1)+c2*(bc(ep,9)*bcx+
151 1 bc(ep,10)*bcy)
152 2 +c1*(bf(ep,4)*mm(ep,1)+
153 3 bf(ep,5)*mm(ep,2)+
154 4 bf(ep,6)*mm(ep,3) )
155
156 vf(ep,3,1)=vf(ep,3,1)+c2*(bm(ep,7)*ff(ep,1)+
157 2 bm(ep,8)*ff(ep,2)+
158 4 bc(ep,5)*bcx+
159 5 bc(ep,6)*bcy )
160 6 +c1*(bmf(ep,7)*mm(ep,1)+
161 7 bmf(ep,8)*mm(ep,2)+
162 8 bmf(ep,9)*mm(ep,3))
163
164 vf(ep,1,2)=vf(ep,1,2)+c2*(bm(ep,10)*ff(ep,1)+
165 2 bm(ep,11)*ff(ep,2)+
166 4 bc(ep,11)*bcx+
167 5 bc(ep,12)*bcy )
168 6 +c1*(bmf(ep,10)*mm(ep,1)+
169 7 bmf(ep,11)*mm(ep,2)+
170 8 bmf(ep,12)*mm(ep,3))
171
172 vm(ep,1,2)=vm(ep,1,2)+c2*(bc(ep,17)*bcx+
173 1 bc(ep,18)*bcy)
174 2 +c1*(bf(ep,7)*mm(ep,1)+
175 3 bf(ep,8)*mm(ep,2)+
176 4 bf(ep,9)*mm(ep,3) )
177
178 vf(ep,2,2)=vf(ep,2,2)+c2*(bm(ep,13)*ff(ep,1)+
179 2 bm(ep,14)*ff(ep,2)+
180 4 bc(ep,13)*bcx+
181 5 bc(ep,14)*bcy )
182 6 +c1*(bmf(ep,13)*mm(ep,1)+
183 7 bmf(ep,14)*mm(ep,2)+
184 8 bmf(ep,15)*mm(ep,3))
185
186 vm(ep,2,2)=vm(ep,2,2)+c2*(bc(ep,19)*bcx+
187 1 bc(ep,20)*bcy)
188 2 +c1*(bf(ep,10)*mm(ep,1)+
189 3 bf(ep,11)*mm(ep,2)+
190 4 bf(ep,12)*mm(ep,3) )
191
192 vf(ep,3,2)=vf(ep,3,2)+c2*(bm(ep,16)*ff(ep,1)+
193 2 bm(ep,17)*ff(ep,2)+
194 4 bc(ep,15)*bcx+
195 5 bc(ep,16)*bcy )
196 6 +c1*(bmf(ep,16)*mm(ep,1)+
197 7 bmf(ep,17)*mm(ep,2)+
198 8 bmf(ep,18)*mm(ep,3))
199
200 vf(ep,1,3)=vf(ep,1,3)+c2*(bm(ep,19)*ff(ep,1)+
201 2 bm(ep,20)*ff(ep,2)+
202 4 bc(ep,21)*bcx+
203 5 bc(ep,22)*bcy )
204 6 +c1*(bmf(ep,19)*mm(ep,1)+
205 7 bmf(ep,20)*mm(ep,2)+
206 8 bmf(ep,21)*mm(ep,3))
207
208 vm(ep,1,3)=vm(ep,1,3)+c2*(bc(ep,27)*bcx+
209 1 bc(ep,28)*bcy)
210 2 +c1*(bf(ep,13)*mm(ep,1)+
211 3 bf(ep,14)*mm(ep,2)+
212 4 bf(ep,15)*mm(ep,3) )
213
214 vf(ep,2,3)=vf(ep,2,3)+c2*(bm(ep,22)*ff(ep,1)+
215 2 bm(ep,23)*ff(ep,2)+
216 4 bc(ep,23)*bcx+
217 5 bc(ep,24)*bcy )
218 6 +c1*(bmf(ep,22)*mm(ep,1)+
219 7 bmf(ep,23)*mm(ep,2)+
220 8 bmf(ep,24)*mm(ep,3))
221
222 vm(ep,2,3)=vm(ep,2,3)+c2*(bc(ep,29)*bcx+
223 1 bc(ep,30)*bcy)
224 2 +c1*(bf(ep,16)*mm(ep,1)+
225 3 bf(ep,17)*mm(ep,2)+
226 4 bf(ep,18)*mm(ep,3) )
227
228 vf(ep,3,3)=vf(ep,3,3)+c2*(bm(ep,25)*ff(ep,1)+
229 2 bm(ep,26)*ff(ep,2)+
230 4 bc(ep,25)*bcx+
231 5 bc(ep,26)*bcy )
232 6 +c1*(bmf(ep,25)*mm(ep,1)+
233 7 bmf(ep,26)*mm(ep,2)+
234 8 bmf(ep,27)*mm(ep,3))
235
236 vf(ep,1,4)=vf(ep,1,4)+c2*(bm(ep,28)*ff(ep,1)+
237 2 bm(ep,29)*ff(ep,2)+
238 4 bc(ep,31)*bcx+
239 5 bc(ep,32)*bcy )
240 6 +c1*(bmf(ep,28)*mm(ep,1)+
241 7 bmf(ep,29)*mm(ep,2)+
242 8 bmf(ep,30)*mm(ep,3))
243
244 vm(ep,1,4)=vm(ep,1,4)+c2*(bc(ep,37)*bcx+
245 1 bc(ep,38)*bcy)
246 2 +c1*(bf(ep,19)*mm(ep,1)+
247 3 bf(ep,20)*mm(ep,
248 4 bf(ep,21)*mm(ep,3) )
249
250 vf(ep,2,4)=vf(ep,2,4)+c2*(bm(ep,31)*ff(ep,1)+
251 2 bm(ep,32)*ff(ep,2)+
252 4 bc(ep,33)*bcx+
253 5 bc(ep,34)*bcy )
254 6 +c1*(bmf(ep,31)*mm(ep,1)+
255 7 bmf(ep,32)*mm(ep,2)+
256 8 bmf(ep,33)*mm(ep,3))
257
258 vm(ep,2,4)=vm(ep,2,4)+c2*(bc(ep,39)*bcx +
259 1 bc(ep,40)*bcy )
260 2 +c1*(bf(ep,22)*mm(ep,1) +
261 3 bf(ep,23)*mm(ep,2) +
262 4 bf(ep,24)*mm(ep,3) )
263
264 vf(ep,3,4)=vf(ep,3,4)+c2*(bm(ep,34)*ff(ep,1)+
265 2 bm(ep,35)*ff(ep,2)+
266 4 bc(ep,35)*bcx+
267 5 bc(ep,36)*bcy )
268 6 +c1*(bmf(ep,34)*mm(ep,1)+
269 7 bmf(ep,35)*mm(ep,2
270 8 bmf(ep,36)*mm(ep,3))
271
272 ENDDO
273
274 RETURN