32
33
34
35
36
37
38
39
40#include "implicit_f.inc"
41
42
43
44#include "mvsiz_p.inc"
45
46
47
48 INTEGER NPG,NG,JFT,JLT,NPLAT,IPLAT(*),ISROT
49 parameter(npg = 4)
51 . rxyz(mvsiz,8),vcore(mvsiz,12),vxyz(mvsiz,12),
52 . vqn(mvsiz,9,4),vksi(4,4),veta(4,4),
53 . bm(mvsiz,36),bmf(mvsiz,36),bf(mvsiz,24),bc(mvsiz,40),hx(mvsiz,4),hy(mvsiz,4)
55 . vnrm(mvsiz,12),vastn(mvsiz,16),vjfi(mvsiz,3,2,4),
56 . vq(mvsiz,3,3,4),vdef(mvsiz,8),dt1,
area(*)
58 . cdet(*),tc(mvsiz,2,2),brz(mvsiz,4,4)
59
60
61
62 INTEGER PT,PT00,PT0,I,J,EP,IUN,NG1,K
64 . vpg(2,npg),pg1,pg,thk,detj,det,
65 . tfn(3,2),bcx,bcy,bxy(3),byx(3),
66 . v1(2),v2(2),rv1,rv2,
67 . c1,c2,vt1,vt2,bc1,bc2,vb1,
68 . vjf1(2,3),vjf(3,3),tbi(2,2),tbc(2,2),v11(4)
70 . a_1,c11,c12,c21,c22,cc,beta1,ksi1,ksiy1,beta2,ksi2,ksiy2
71 parameter(pg=.577350269189626)
72 parameter(pg1=-.577350269189626)
73
74
75
76 DATA iun/1/
77 DATA vpg/pg1,pg1,pg,pg1,pg,pg,pg1,pg/
78
79#include "vectorize.inc"
80 DO i=jft,nplat
81 ep=iplat(i)
82
83
84 bm(ep,1)=vcore(ep,1)+hx(ep,ng)*vcore(ep,5)
85 bm(ep,2)=vcore(ep,2)+hx(ep,ng)*vcore(ep,6)
86 bm(ep,3)=hx(ep,ng)*fourth
87 bm(ep,4)=-bm(ep,3)
88 bm(ep,5)=vcore(ep,3)+hy(ep,ng)*vcore(ep,5)
89 bm(ep,6)=vcore(ep,4)+hy(ep,ng)*vcore(ep,6)
90 bm(ep,7)=hy(ep,ng)*fourth
91 bm(ep,8)=-bm(ep,7)
92
93 vdef(ep,1)=bm(ep,1)*vxyz(ep,1)+bm(ep,2)*vxyz(ep,4)
94 1 +bm(ep,3)*vxyz(ep,7)
95 vdef(ep,2)=bm(ep,5)*vxyz(ep,2)+bm(ep,6)*vxyz(ep,5)
96 1 +bm(ep,7)*vxyz(ep,8)
97
98 vdef(ep,6)=bm(ep,1)*rxyz(ep,2)+bm(ep,2)*rxyz(ep,4)
99 1 +bm(ep,3)*rxyz(ep,6)
100 vdef(ep,7)=-(bm(ep,5)*rxyz(ep,1)+bm(ep,6)*rxyz(ep,3)
101 1 +bm(ep,7)*rxyz(ep,5))
102 vdef(ep,8)=-(bm(ep,1)*rxyz(ep,1)+bm(ep,2)*rxyz(ep,3)
103 1 +bm(ep,3)*rxyz(ep,5))
104 2 +bm(ep,5)*rxyz(ep,2)+bm(ep,6)*rxyz(ep,4)
105 3 +bm(ep,7)*rxyz(ep,6)
106
107
108 a_1 = 0.25/
max(cdet(ep),em20)
109 c11=(vcore(ep,10)+vcore(ep,12)*vpg(1,ng))*a_1
110 c12=-(vcore(ep,8)+vcore(ep,12)*vpg(2,ng))*a_1
111 c21=-(vcore(ep,9)+vcore(ep,11)*vpg(1,ng))*a_1
112 c22=( vcore(ep,7)+vcore(ep,11)*vpg(2,ng))*a_1
113 beta1=vcore(ep,12)+vcore(ep,8)*vpg(2,ng)
114 ksi1=vcore(ep,12)+vcore(ep,10)*vpg(1,ng)
115 beta2=vcore(ep,11)+vcore(ep,7)*vpg(2,ng)
116 ksi2=vcore(ep,11)+vcore(ep,9)*vpg(1,ng)
117
118 bc(ep,1)=-c11-c12
119 bc(ep,2)=-c21-c22
120 bc(ep,3)= beta1*c11+ksi1*c12
121 bc(ep,4)= beta1*c21+ksi1*c22
122 bc(ep,5)= -beta2*c11-ksi2*c12
123 bc(ep,6)= -beta2*c21-ksi2*c22
124
125 bc(ep,7)= c11-c12
126 bc(ep,8)= c21-c22
127 bc(ep,9)= beta1*c11-ksi1*c12
128 bc(ep,10)=beta1*c21-ksi1*c22
129 bc(ep,11)=-beta2*c11+ksi2*c12
130 bc(ep,12)=-beta2*c21+ksi2*c22
131
132 beta1=vcore(ep,8)+vcore(ep,12)*vpg(2,ng)
133 ksi1=vcore(ep,10)+vcore(ep,12)*vpg(1,ng)
134 beta2=vcore(ep,7)+vcore(ep,11)*vpg(2,ng)
135 ksi2=vcore(ep,9)+vcore(ep,11)*vpg(1,ng)
136
137
138 bc(ep,13)=c11*vpg(2,ng)+c12*vpg(1,ng)
139 bc(ep,14)=c21*vpg(2,ng)+c22*vpg(1,ng)
140 bc(ep,15)=-beta1*c11-ksi1*c12
141 bc(ep,16)=-beta1*c21-ksi1*c22
142 bc(ep,17)=c11*beta2+c12*ksi2
143 bc(ep,18)=c21*beta2+c22*ksi2
144
145 bc(ep,19)=-bc(ep,13)
146 bc(ep,20)=-bc(ep,14)
147 bc(ep,21)=bc(ep,15)
148 bc(ep,22)=bc(ep,16)
149 bc(ep,23)=bc(ep,17)
150 bc(ep,24)=bc(ep,18)
151
152 vdef(ep,4)=bc(ep,1)*vxyz(ep,3)+bc(ep,7)*vxyz(ep,6)
153 1 +bc(ep,13)*vxyz(ep,9)+bc(ep,3)*rxyz(ep,1)
154 2 +bc(ep,9)*rxyz(ep,3)+bc(ep,15)*rxyz(ep,7)
155 3 +bc(ep,5)*rxyz(ep,2)+bc(ep,11)*rxyz(ep,4)
156 4 +bc(ep,17)*rxyz(ep,8)
157 vdef(ep,5)=bc(ep,2)*vxyz(ep,3)+bc(ep,8)*vxyz(ep,6)
158 1 +bc(ep,14)*vxyz(ep,9)+bc(ep,4)*rxyz(ep,1)
159 2 +bc(ep,10)*rxyz(ep,3)+bc(ep,16)*rxyz(ep,7)
160 3 +bc(ep,6)*rxyz(ep,2)+bc(ep,12)*rxyz(ep,4)
161 4 +bc(ep,18)*rxyz(ep,8)
162 ENDDO
163 IF (isrot>0) THEN
164#include "vectorize.inc"
165 DO i=jft,nplat
166 ep=iplat(i)
167
168 vdef(ep,3)=bm(ep,1)*vxyz(ep,2)+bm(ep,2)*vxyz(ep,5)
169 1 +bm(ep,3)*vxyz(ep,8)
170 1 +bm(ep,5)*vxyz(ep,1)+bm(ep,6)*vxyz(ep,4)
171 1 +bm(ep,7)*vxyz(ep,7)
172 END DO
173 END IF
174
175#include "vectorize.inc"
176 DO 150 i=nplat+1,jlt
177 ep=iplat(i)
178
179
180
181 tfn(1,1)=vksi(1,ng)*vqn(ep,7,1)+vksi(2,ng)*vqn(ep,7,2)
182 1 +vksi(3,ng)*vqn(ep,7,3)+vksi(4,ng)*vqn(ep,7,4)
183 tfn(2,1)=vksi(1,ng)*vqn(ep,8,1)+vksi(2,ng)*vqn(ep,8,2)
184 1 +vksi(3,ng)*vqn(ep,8,3)+vksi(4,ng)*vqn(ep,8,4)
185 tfn(3,1)=vksi(1,ng)*vqn(ep,9,1)+vksi(2,ng)*vqn(ep,9,2)
186 1 +vksi(3,ng)*vqn(ep,9,3)+vksi(4,ng)*vqn(ep,9,4)
187 tfn(1,2)=veta(1,ng)*vqn(ep,7,1)+veta(2,ng)*vqn(ep,7,2)
188 1 +veta(3,ng)*vqn(ep,7,3)+veta(4,ng)*vqn(ep,7,4)
189 tfn(2,2)=veta(1,ng)*vqn(ep,8,1)+veta(2,ng)*vqn(ep,8,2)
190 1 +veta(3,ng)*vqn(ep,8,3)+veta(4,ng)*vqn(ep,8,4)
191 tfn(3,2)=veta(1,ng)*vqn(ep,9,1)+veta(2,ng)*vqn(ep,9,2)
192 1 +veta(3,ng)*vqn(ep,9,3)+veta(4,ng)*vqn(ep,9,4)
193
194
195
196 tbi(2,2)=vjfi(ep,1,1,ng)*tfn(1,1)+vjfi(ep,2,1,ng)*tfn(2,1)
197 1 + vjfi(ep,3,1,ng)*tfn(3,1)
198 tbi(2,1)=vjfi(ep,1,2,ng)*tfn(1,1)+vjfi(ep,2,2,ng)*tfn(2,1)
199 1 + vjfi(ep,3,2,ng)*tfn(3,1)
200 tbi(1,2)=vjfi(ep,1,1,ng)*tfn(1,2)+vjfi(ep,2,1,ng)*tfn(2,2)
201 1 + vjfi(ep,3,1,ng)*tfn(3,2)
202 tbi(1,1)=vjfi(ep,1,2,ng)*tfn(1,2)+vjfi(ep,2,2,ng)*tfn(2,2)
203 1 + vjfi(ep,3,2,ng)*tfn(3,2)
204
205 thk =-(tbi(1,1)+tbi(2,2))
206
207 tbi(1,2)=-tbi(1,2)
208 tbi(2,1)=-tbi(2,1)
209
210
211
212 tc(ep,1,1)=vjfi(ep,1,1,ng)*vq(ep,1,1,ng)+vjfi(ep,2,1,ng)
213 + *vq(ep,2,1,ng)+ vjfi(ep,3,1,ng)*vq(ep,3,1,ng)
214 tc(ep,2,1)=vjfi(ep,1,2,ng)*vq(ep,1,1,ng)+vjfi(ep,2,2,ng)
215 + *vq(ep,2,1,ng)+ vjfi(ep,3,2,ng)*vq(ep,3,1,ng)
216 tc(ep,1,2)=vjfi(ep,1,1,ng)*vq(ep,1,2,ng)+vjfi(ep,2,1,ng)
217 + *vq(ep,2,2,ng)+ vjfi(ep,3,1,ng)*vq(ep,3,2,ng)
218 tc(ep,2,2)=vjfi(ep,1,2,ng)*vq(ep,1,2,ng)+vjfi(ep,2,2,ng)
219 + *vq(ep,2,2,ng)+ vjfi(ep,3,2,ng)*vq(ep,3,2,ng)
220
221
222
223 tbc(1,1)=tbi(1,1)*tc(ep,1,1)+tbi(1,2)*tc(ep,2,1)
224 tbc(2,1)=tbi(2,1)*tc(ep,1,1)+tbi(2,2)*tc(ep,2,1)
225 tbc(1,2)=tbi(1,1)*tc(ep,1,2)+tbi(1,2)*tc(ep,2,2)
226 tbc(2,2)=tbi(2,1)*tc(ep,1,2)+tbi(2,2)*tc(ep,2,2)
227
228
229
230
231
232
233
234
235
236
237
238
239
240 vt1=vq(ep,1,1,ng)*vxyz(ep,1)+vq(ep,2,1,ng)*vxyz(ep,2)
241 1 +vq(ep,3,1,ng)*vxyz(ep,3)
242
243 vt2=vq(ep,1,2,ng)*vxyz(ep,1)+vq(ep,2,2,ng)*vxyz(ep,2)
244 1 +vq(ep,3,2,ng)*vxyz(ep,3)
245
246 c1=vksi(1,ng)*tc(ep,1,1)+veta(1,ng)*tc(ep,2,1)
247 c2=vksi(1,ng)*tc(ep,1,2)+veta(1,ng)*tc(ep,2,2)
248
249 bc1=vksi(1,ng)*tbc(1,1)+veta(1,ng)*tbc(2,1)
250 bc2=vksi(1,ng)*tbc(1,2)+veta(1,ng)*tbc(2,2)
251
252 IF (isrot>0) THEN
253 bxy(1)=vq(ep,1,1,ng)*c2
254 bxy(2)=vq(ep,2,1,ng)*c2
255 bxy(3)=vq(ep,3,1,ng)*c2
256 byx(1)=vq(ep,1,2,ng)*c1
257 byx(2)=vq(ep,2,2,ng)*c1
258 byx(3)=vq(ep,3,2,ng)*c1
259 brz(i,1,1)=-bxy(1)+byx(1)
260 brz(i,2,1)=-bxy(2)+byx(2)
261 brz(i,3,1)=-bxy(3)+byx(3)
262 bm(ep,3)=bxy(1)+byx(1)
263 bm(ep,6)=bxy(2)+byx(2)
264 bm(ep,9)=bxy(3)+byx(3)
265 vdef(ep,3)= c1*vt2+c2*vt1
266 ELSE
267 bm(ep,9)=zero
268 END IF
269
270 bm(ep,1)=vq(ep,1,1,ng)*c1
271 bmf(ep,1)=thk*bm(ep,1)+vq(ep,1,1,ng)*bc1
272
273 bm(ep,2)=vq(ep,1,2,ng)*c2
274 bmf(ep,2)=thk*bm(ep,2)+vq(ep,1,2,ng)*bc2
275
276 bmf(ep,3)=thk*bm(ep,3)+vq(ep,1,1,ng)*bc2+vq(ep,1,2,ng)*bc1
277
278
279 bm(ep,4)=vq(ep,2,1,ng)*c1
280 bmf(ep,4)=thk*bm(ep,4)+vq(ep,2,1,ng)*bc1
281 bm(ep,5)=vq(ep,2,2,ng)*c2
282 bmf(ep,5)=thk*bm(ep,5)+vq(ep,2,2,ng)*bc2
283 bmf(ep,6)=thk*bm(ep,6)+vq(ep,2,1,ng)*bc2+vq(ep,2,2,ng)*bc1
284
285
286 bm(ep,7)=vq(ep,3,1,ng)*c1
287 bmf(ep,7)=thk*bm(ep,7)+vq(ep,3,1,ng)*bc1
288 bm(ep,8)=vq(ep,3,2,ng)*c2
289 bmf(ep,8)=thk*bm(ep,8)+vq(ep,3,2,ng)*bc2
290 bmf(ep,9)=thk*bm(ep,9)+vq(ep,3,1,ng)*bc2+vq(ep,3,2,ng)*bc1
291
292
293 vdef(ep,1)= c1*vt1
294 vdef(ep,2)= c2*vt2
295
296
297
298 vdef(ep,6)= bc1*vt1
299 vdef(ep,7)= bc2*vt2
300 vdef(ep,8)= bc1*vt2+bc2*vt1
301
302
303 v1(2)=vq(ep,1,1,ng)*vqn(ep,1,1)+vq(ep,2,1,ng)*vqn(ep,2,1)
304 1 +vq(ep,3,1,ng)*vqn(ep,3,1)
305 v1(1)=-(vq(ep,1,1,ng)*vqn(ep,4,1)+vq(ep,2,1,ng)*vqn(ep,5,1)
306 1 +vq(ep,3,1,ng)*vqn(ep,6,1))
307 v2(2)=vq(ep,1,2,ng)*vqn(ep,1,1)+vq(ep,2,2,ng)*vqn(ep,2,1)
308 1 +vq(ep,3,2,ng)*vqn(ep,3,1)
309 v2(1)=-(vq(ep,1,2,ng)*vqn(ep,4,1)+vq(ep,2,2,ng)*vqn(ep,5,1)
310 1 +vq(ep,3,2,ng)*vqn(ep,6,1))
311
312 rv1=v1(1)*rxyz(ep,1)+v1(2)*rxyz(ep,2)
313
314 rv2=v2(1)*rxyz(ep,1)+v2(2)*rxyz(ep,2)
315
316
317 bf(ep,1)=v1(1)*c1
318 bf(ep,2)=v2(1)*c2
319 bf(ep,3)=v1(1)*c2+v2(1)*c1
320 bf(ep,4)=v1(2)*c1
321 bf(ep,5)=v2(2)*c2
322 bf(ep,6)=v1(2)*c2+v2(2)*c1
323
324 vdef(ep,6)= vdef(ep,6)+c1*rv1
325 vdef(ep,7)= vdef(ep,7)+c2*rv2
326 vdef(ep,8)= vdef(ep,8)+c1*rv2+c2*rv1
327
328
329
330 vt1=vq(ep,1,1,ng)*vxyz(ep,4)+vq(ep,2,1,ng)*vxyz(ep,5)
331 1 +vq(ep,3,1,ng)*vxyz(ep,6)
332
333 vt2=vq(ep,1,2,ng)*vxyz(ep,4)+vq(ep,2,2,ng)*vxyz(ep,5)
334 1 +vq(ep,3,2,ng)*vxyz(ep,6)
335
336
337 c1=vksi(2,ng)*tc(ep,1,1)+veta(2,ng)*tc(ep,2,1)
338 c2=vksi(2,ng)*tc(ep,1,2)+veta(2,ng)*tc(ep,2,2)
339
340 bc1=vksi(2,ng)*tbc(1,1)+veta(2,ng)*tbc(2,1)
341 bc2=vksi(2,ng)*tbc(1,2)+veta(2,ng)*tbc(2,2)
342
343
344 IF (isrot>0) THEN
345 bxy(1)=vq(ep,1,1,ng)*c2
346 bxy(2)=vq(ep,2,1,ng)*c2
347 bxy(3)=vq(ep,3,1,ng)*c2
348 byx(1)=vq(ep,1,2,ng)*c1
349 byx(2)=vq(ep,2,2,ng)*c1
350 byx(3)=vq(ep,3,2,ng)*c1
351 brz(i,1,2)=-bxy(1)+byx(1)
352 brz(i,2,2)=-bxy(2)+byx(2)
353 brz(i,3,2)=-bxy(3)+byx(3)
354 bm(ep,12)=bxy(1)+byx(1)
355 bm(ep,15)=bxy(2)+byx(2)
356 bm(ep,18)=bxy(3)+byx(3)
357 vdef(ep,3)= vdef(ep,3)+ c1*vt2+c2*vt1
358 ELSE
359 bm(ep,18)=zero
360 END IF
361
362 bm(ep,10)=vq(ep,1,1,ng)*c1
363 bmf(ep,10)=thk*bm(ep,10)+vq(ep,1,1,ng)*bc1
364 bm(ep,11)=vq(ep,1,2,ng)*c2
365 bmf(ep,11)=thk*bm(ep,11)+vq(ep,1,2,ng)*bc2
366 bmf(ep,12)=thk*bm(ep,12)+vq(ep,1,1,ng)*bc2+vq(ep,1,2,ng)*bc1
367
368
369
370 bm(ep,13)=vq(ep,2,1,ng)*c1
371 bmf(ep,13)=thk*bm(ep,13)+vq(ep,2,1,ng)*bc1
372 bm(ep,14)=vq(ep,2,2,ng)*c2
373 bmf(ep,14)=thk*bm(ep,14)+vq(ep,2,2,ng)*bc2
374 bmf(ep,15)=thk*bm(ep,15)+vq(ep,2,1,ng)*bc2+vq(ep,2,2,ng)*bc1
375
376
377
378 bm(ep,16)=vq(ep,3,1,ng)*c1
379 bmf(ep,16)=thk*bm(ep,16)+vq(ep,3,1,ng)*bc1
380 bm(ep,17)=vq(ep,3,2,ng)*c2
381 bmf(ep,17)=thk*bm(ep,17)+vq(ep,3,2,ng)*bc2
382 bmf(ep,18)=thk*bm(ep,18)+vq(ep,3,1,ng)*bc2+vq(ep,3,2,ng)*bc1
383
384
385 vdef(ep,1)= vdef(ep,1)+ c1*vt1
386 vdef(ep,2)= vdef(ep,2)+ c2*vt2
387
388
389 vdef(ep,6)= vdef(ep,6)+ bc1*vt1
390 vdef(ep,7)= vdef(ep,7)+ bc2*vt2
391 vdef(ep,8)= vdef(ep,8)+ bc1*vt2+bc2*vt1
392
393
394 v1(2)=vq(ep,1,1,ng)*vqn(ep,1,2)+vq(ep,2,1,ng)*vqn(ep,2,2)
395 1 +vq(ep,3,1,ng)*vqn(ep,3,2)
396 v1(1)=-(vq(ep,1,1,ng)*vqn(ep,4,2)+vq(ep,2,1,ng)*vqn(ep,5,2)
397 1 +vq(ep,3,1,ng)*vqn
398 v2(2)=vq(ep,1,2,ng)*vqn(ep,1,2)+vq(ep,2,2,ng)*vqn(ep,2,2)
399 1 +vq(ep,3,2,ng)*vqn(ep,3,2)
400 v2(1)=-(vq(ep,1,2,ng)*vqn(ep,4,2)+vq(ep,2,2,ng)*vqn(ep,5,2)
401 1 +vq(ep,3,2,ng)*vqn(ep,6,2))
402
403 rv1=v1(1)*rxyz(ep,2+1)+v1(2)*rxyz(ep,2+2)
404
405 rv2=v2(1)*rxyz(ep,2+1)+v2(2)*rxyz(ep,2+2)
406
407
408 bf(ep,7)=v1(1)*c1
409 bf(ep,8)=v2(1)*c2
410 bf(ep,9)=v1(1)*c2+v2(1)*c1
411 bf(ep,10)=v1(2)*c1
412 bf(ep,11)=v2(2)*c2
413 bf(ep,12)=v1(2)*c2+v2(2)*c1
414
415 vdef(ep,6)= vdef(ep,6)+c1*rv1
416 vdef(ep,7)= vdef(ep,7)+c2*rv2
417 vdef(ep,8)= vdef(ep,8)+c1*rv2
418
419
420
421 vt1=vq(ep,1,1,ng)*vxyz(ep,7)+vq(ep,2,1,ng)*vxyz(ep,8)
422 1 +vq(ep,3,1,ng)*vxyz(ep,9)
423
424 vt2=vq(ep,1,2,ng)*vxyz(ep,7)+vq(ep,2,2,ng)*vxyz(ep,8)
425 1 +vq(ep,3,2,ng)*vxyz(ep,9)
426
427
428 c1=vksi(3,ng)*tc(ep,1,1)+veta(3,ng)*tc(ep,2,1)
429 c2=vksi(3,ng)*tc(ep,1,2)+veta(3,ng)*tc(ep,2,2)
430
431 bc1=vksi(3,ng)*tbc(1,1)+veta(3,ng)*tbc(2,1)
432 bc2=vksi(3,ng)*tbc(1,2)+veta(3,ng)*tbc(2,2)
433
434 IF (isrot>0) THEN
435 bxy(1)=vq(ep,1,1,ng)*c2
436 bxy(2)=vq(ep,2,1,ng)*c2
437 bxy(3)=vq(ep,3,1,ng)*c2
438 byx(1)=vq(ep,1,2,ng)*c1
439 byx(2)=vq(ep,2,2,ng)*c1
440 byx(3)=vq(ep,3,2,ng)*c1
441 brz(i,1,3)=-bxy(1)+byx(1)
442 brz(i,2,3)=-bxy(2)+byx(2)
443 brz(i,3,3)=-bxy(3)+byx(3)
444 bm(ep,21)=bxy(1)+byx(1)
445 bm(ep,24)=bxy(2)+byx(2)
446 bm(ep,27)=bxy(3)+byx(3)
447 vdef(ep,3)= vdef(ep,3)+ c1*vt2+c2*vt1
448 ELSE
449 bm(ep,27)=zero
450 END IF
451
452 bm(ep,19)=vq(ep,1,1,ng)*c1
453 bmf(ep,19)=thk*bm(ep,19)+vq(ep,1,1,ng)*bc1
454 bm(ep,20)=vq(ep,1,2,ng)*c2
455 bmf(ep,20)=thk*bm(ep,20)+vq(ep,1,2,ng)*bc2
456 bmf(ep,21)=thk*bm(ep,21)+vq(ep,1,1,ng)*bc2+vq(ep,1,2,ng)*bc1
457
458
459 bm(ep,22)=vq(ep,2,1,ng)*c1
460 bmf(ep,22)=thk*bm(ep,22)+vq(ep,2,1,ng)*bc1
461 bm(ep,23)=vq(ep,2,2,ng)*c2
462 bmf(ep,23)=thk*bm(ep,23)+vq(ep,2,2,ng)*bc2
463 bmf(ep,24)=thk*bm(ep,24)+vq(ep,2,1,ng)*bc2+vq(ep,2,2,ng)*bc1
464
465
466 bm(ep,25)=vq(ep,3,1,ng)*c1
467 bmf(ep,25)=thk*bm(ep,25)+vq(ep,3,1,ng)*bc1
468 bm(ep,26)=vq(ep,3,2,ng)*c2
469 bmf(ep,26)=thk*bm(ep,26)+vq(ep,3,2,ng)*bc2
470 bmf(ep,27)=thk*bm(ep,27)+vq(ep,3,1,ng)*bc2+vq(ep,3,2,ng
471
472
473 vdef(ep,1)= vdef(ep,1)+ c1*vt1
474 vdef(ep,2)= vdef(ep,2)+ c2*vt2
475
476
477 vdef(ep,6)= vdef(ep,6)+ bc1*vt1
478 vdef(ep,7)= vdef(ep,7)+ bc2*vt2
479 vdef(ep,8)= vdef(ep,8)+ bc1*vt2+bc2*vt1
480
481
482 v1(2)=vq(ep,1,1,ng)*vqn(ep,1,3)+vq(ep,2,1,ng)*vqn(ep,2,3)
483 1 +vq(ep,3,1,ng)*vqn(ep,3,3)
484 v1(1)=-(vq(ep,1,1,ng)*vqn(ep,4,3)+vq(ep,2,1,ng)*vqn(ep,5,3)
485 1 +vq(ep,3,1,ng)*vqn(ep,6,3))
486 v2(2)=vq(ep,1,2,ng)*vqn(ep,1,3)+vq(ep,2,2,ng)*vqn(ep,2,3)
487 1 +vq(ep,3,2,ng)*vqn(ep,3,3)
488 v2(1)=-(vq(ep,1,2,ng)*vqn(ep,4,3)+vq(ep,2,2,ng)*vqn(ep,5,3)
489 1 +vq(ep,3,2,ng)*vqn(ep,6,3))
490
491 rv1=v1(1)*rxyz(ep,4+1)+v1(2)*rxyz(ep,4+2)
492
493 rv2=v2(1)*rxyz(ep,4+1)+v2(2)*rxyz(ep,4+2)
494
495
496 bf(ep,13)=v1(1)*c1
497 bf(ep,14)=v2(1)*c2
498 bf(ep,15)=v1(1)*c2+v2(1)*c1
499 bf(ep,16)=v1(2)*c1
500 bf(ep,17)=v2(2)*c2
501 bf(ep,18)=v1(2)*c2+v2(2)*c1
502
503 vdef(ep,6)= vdef(ep,6)+c1*rv1
504 vdef(ep,7)= vdef(ep,7)+c2*rv2
505 vdef(ep,8)= vdef(ep,8)+c1*rv2+c2*rv1
506
507
508 vt1=vq(ep,1,1,ng)*vxyz(ep,10)+vq(ep,2,1,ng)*vxyz(ep,11)
509 1 +vq(ep,3,1,ng)*vxyz(ep,12)
510
511 vt2=vq(ep,1,2,ng)*vxyz(ep,10)+vq(ep,2,2,ng)*vxyz(ep,11)
512 1 +vq(ep,3,2,ng)*vxyz(ep,12)
513
514
515 c1=vksi(4,ng)*tc(ep,1,1)+veta(4,ng)*tc(ep,2,1)
516 c2=vksi(4,ng)*tc(ep,1,2)+veta(4,ng)*tc(ep,2,2)
517
518 bc1=vksi(4,ng)*tbc(1,1)+veta(4,ng)*tbc(2,1)
519 bc2=vksi(4,ng)*tbc(1,2)+veta(4,ng)*tbc(2,2)
520
521 IF (isrot>0) THEN
522 bxy(1)=vq(ep,1,1,ng)*c2
523 bxy(2)=vq(ep,2,1,ng)*c2
524 bxy(3)=vq(ep,3,1,ng)*c2
525 byx(1)=vq(ep,1,2,ng)*c1
526 byx(2)=vq(ep,2,2,ng)*c1
527 byx(3)=vq(ep,3,2,ng)*c1
528 brz(i,1,4)=-bxy(1)+byx(1)
529 brz(i,2,4)=-bxy(2)+byx(2)
530 brz(i,3,4)=-bxy(3)+byx(3)
531 bm(ep,30)=bxy(1)+byx(1)
532 bm(ep,33)=bxy(2)+byx(2)
533 bm(ep,36)=bxy(3)+byx(3)
534 vdef(ep,3)= vdef(ep,3)+ c1*vt2+c2*vt1
535 ELSE
536 bm(ep,36)=zero
537 END IF
538 bm(ep,28)=vq(ep,1,1,ng)*c1
539 bmf(ep,28)=thk*bm(ep,28)+vq(ep,1,1,ng)*bc1
540 bm(ep,29)=vq(ep,1,2,ng)*c2
541 bmf(ep,29)=thk*bm(ep,29)+vq(ep,1,2,ng)*bc2
542
543 bmf(ep,30)=thk*bm(ep,30)+vq(ep,1,1,ng)*bc2+vq(ep,1,2,ng)*bc1
544
545
546 bm(ep,31)=vq(ep,2,1,ng)*c1
547 bmf(ep,31)=thk*bm(ep,31)+vq(ep,2,1,ng)*bc1
548 bm(ep,32)=vq(ep,2,2,ng)*c2
549 bmf(ep,32)=thk*bm(ep,32)+vq(ep,2,2,ng)*bc2
550 bmf(ep,33)=thk*bm(ep,33)+vq(ep,2,1,ng)*bc2+vq(ep,2,2,ng)*bc1
551
552
553 bm(ep,34)=vq(ep,3,1,ng)*c1
554 bmf(ep,34)=thk*bm(ep,34)+vq(ep,3,1,ng)*bc1
555 bm(ep,35)=vq(ep,3,2,ng)*c2
556 bmf(ep,35)=thk*bm(ep,35)+vq(ep,3,2,ng)*bc2
557 bmf(ep,36)=thk*bm(ep,36)+vq(ep,3,1,ng)*bc2+vq(ep,3,2,ng)*bc1
558
559
560 vdef(ep,1)= vdef(ep,1)+ c1*vt1
561 vdef(ep,2)= vdef(ep,2)+ c2*vt2
562
563
564 vdef(ep,6)= vdef(ep,6)+ bc1*vt1
565 vdef(ep,7)= vdef(ep,7)+ bc2*vt2
566 vdef(ep,8)= vdef(ep,8)+ bc1*vt2+bc2*vt1
567
568
569 v1(2)=vq(ep,1,1,ng)*vqn(ep,1,4)+vq(ep,2,1,ng)*vqn(ep,2,4)
570 1 +vq(ep,3,1,ng)*vqn(ep,3,4)
571 v1(1)=-(vq(ep,1,1,ng)*vqn(ep,4,4)+vq(ep,2,1,ng)*vqn(ep,5,4)
572 1 +vq(ep,3,1,ng)*vqn(ep,6,4))
573 v2(2)=vq(ep,1,2,ng)*vqn(ep,1,4)+vq(ep,2,2,ng)*vqn(ep,2,4)
574 1 +vq(ep,3,2,ng)*vqn(ep,3,4)
575 v2(1)=-(vq(ep,1,2,ng)*vqn(ep,4,4)+vq(ep,2,2,ng)*vqn(ep,5,4)
576 1 +vq(ep,3,2,ng)*vqn(ep,6,4))
577
578 rv1=v1(1)*rxyz(ep,6+1)+v1(2)*rxyz(ep,6+2)
579
580 rv2=v2(1)*rxyz(ep,6+1)+v2(2)*rxyz(ep,6+2)
581
582
583 bf(ep,19)=v1(1)*c1
584 bf(ep,20)=v2(1)*c2
585 bf(ep,21)=v1(1)*c2+v2(1)*c1
586 bf(ep,22)=v1(2)*c1
587 bf(ep,23)=v2(2)*c2
588 bf(ep,24)=v1(2)*c2+v2(2)*c1
589
590 vdef(ep,6)= vdef(ep,6)+thk*vdef(ep,1)+c1*rv1
591 vdef(ep,7)= vdef(ep,7)+thk*vdef(ep,2)+c2*rv2
592 vdef(ep,8)= vdef(ep,8)+thk*vdef(ep,3)+c1*rv2+c2*rv1
593
594
595
596
597
598
599
600 v11(1)=vksi(2,ng)
601 v11(2)=vksi(3,ng)
602 v11(3)=veta(4,ng)
603 v11(4)=veta(3,ng)
604
605
606
607
608
609
610
611 c1=v11(1)*vnrm(ep,1)
612 bc(ep,1)=-c1
613 bc(ep,11)=c1
614
615 c1=v11(1)*vnrm(ep,2)
616 bc(ep,3)=-c1
617 bc(ep,13)=c1
618
619 c1=v11(1)*vnrm(ep,3)
620 bc(ep,5)=-c1
621 bc(ep,15)=c1
622
623 bc(ep,7)=v11(1)*vastn(ep,1)
624 bc(ep,9)=v11(1)*vastn(ep,2)
625 bc(ep,17)=v11(1)*vastn(ep,3)
626 bc(ep,19)=v11(1)*vastn(ep,4)
627
628
629
630
631
632
633
634 c1=v11(2)*vnrm(ep,4)
635 bc(ep,31)=-c1
636 bc(ep,21)=c1
637
638 c1=v11(2)*vnrm(ep,5)
639 bc(ep,33)=-c1
640 bc(ep,23)=c1
641
642 c1=v11(2)*vnrm(ep,6)
643 bc(ep,35)=-c1
644 bc(ep,25)=c1
645
646 bc(ep,37)=v11(2)*vastn(ep,5)
647 bc(ep,39)=v11(2)*vastn(ep,6)
648 bc(ep,27)=v11(2)*vastn(ep,7)
649 bc(ep,29)=v11(2)*vastn(ep,8)
650
651
652
653
654
655
656
657 c1=v11(3)*vnrm(ep,7)
658 bc(ep,2)=-c1
659 bc(ep,32)=c1
660
661 c1=v11(3)*vnrm(ep,8)
662 bc(ep,4)=-c1
663 bc(ep,34)=c1
664
665 c1=v11(3)*vnrm(ep,9)
666 bc(ep,6)=-c1
667 bc(ep,36)=c1
668
669 bc(ep,8)=v11(3)*vastn(ep,9)
670 bc(ep,10)=v11(3)*vastn(ep,10)
671 bc(ep,38)=v11(3)*vastn(ep,11)
672 bc(ep,40)=v11(3)*vastn(ep,12)
673
674
675
676
677
678
679
680 c1=v11(4)*vnrm(ep,10)
681 bc(ep,12)=-c1
682 bc(ep,22)=c1
683
684 c1=v11(4)*vnrm(ep,11)
685 bc(ep,14)=-c1
686 bc(ep,24)=c1
687
688 c1=v11(4)*vnrm(ep,12)
689 bc(ep,16)=-c1
690 bc(ep,26)=c1
691
692 bc(ep,18)=v11(4)*vastn(ep,13)
693 bc(ep,20)=v11(4)*vastn(ep,14)
694 bc(ep,28)=v11(4)*vastn(ep,15)
695 bc(ep,30)=v11(4)*vastn(ep,16)
696
697
698
699 bcx=
700 1 bc(ep,1)*vxyz(ep,1)+bc(ep,3)*vxyz(ep,2)
701 2 +bc(ep,5)*vxyz(ep,3)+bc(ep,7)*rxyz(ep,1)
702 3 +bc(ep,9)*rxyz(ep,2)
703 bcy=
704 1 bc(ep,2)*vxyz(ep,1)+bc(ep,4)*vxyz(ep,2)
705 2 +bc(ep,6)*vxyz(ep,3)+bc(ep,8)*rxyz(ep,1)
706 3 +bc(ep,10)*rxyz(ep,2)
707
708 bcx=bcx
709 1 +bc(ep,11)*vxyz(ep,4)+bc(ep,13)*vxyz(ep,5)
710 2 +bc(ep,15)*vxyz(ep,6)+bc(ep,17)*rxyz(ep,3)
711 3 +bc(ep,19)*rxyz(ep,4)
712 bcy=bcy
713 1 +bc(ep,12)*vxyz(ep,4)+bc(ep,14)*vxyz(ep,5)
714 2 +bc(ep,16)*vxyz(ep,6)+bc(ep,18)*rxyz(ep,3)
715 3 +bc(ep,20)*rxyz(ep,4)
716
717 bcx=bcx
718 1 +bc(ep,21)*vxyz(ep,7)+bc(ep,23)*vxyz(ep,8)
719 2 +bc(ep,25)*vxyz(ep,9)+bc(ep,27)*rxyz(ep,5)
720 3 +bc(ep,29)*rxyz(ep,6)
721 bcy=bcy
722 1 +bc(ep,22)*vxyz(ep,7)+bc(ep,24)*vxyz(ep,8)
723 2 +bc(ep,26)*vxyz(ep,9)+bc(ep,28)*rxyz(ep,5)
724 3 +bc(ep,30)*rxyz(ep,6)
725
726 bcx=bcx
727 1 +bc(ep,31)*vxyz(ep,10)+bc(ep,33)*vxyz(ep,11)
728 2 +bc(ep,35)*vxyz(ep,12)+bc(ep,37)*rxyz(ep,7)
729 3 +bc(ep,39)*rxyz(ep,8)
730 bcy=bcy
731 1 +bc(ep,32)*vxyz(ep,10)+bc(ep,34)*vxyz(ep,11)
732 2 +bc(ep,36)*vxyz(ep,12)+bc(ep,38)*rxyz(ep,7)
733 3 +bc(ep,40)*rxyz(ep,8)
734 vdef(ep,4)=tc(ep,1,1)*bcx+tc(ep,2,1)*bcy
735 vdef(ep,5)=tc(ep,1,2)*bcx+tc(ep,2,2)*bcy
736
737 150 CONTINUE
738 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)