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 I, EP, IUN
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(
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
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 vt1=vq(ep,1,1,ng)*vxyz(ep,1)+vq(ep,2,1,ng)*vxyz(ep,2)
240 1 +vq(ep,3,1,ng)*vxyz(ep,3)
241 vt2=vq(ep,1,2,ng)*vxyz(ep,1)+vq(ep,2,2,ng)*vxyz(ep,2)
242 1 +vq(ep,3,2,ng)*vxyz(ep,3)
243
244 c1=vksi(1,ng)*tc(ep,1,1)+veta(1,ng)*tc(ep,2,1)
245 c2=vksi(1,ng)*tc(ep,1,2)+veta(1,ng)*tc(ep,2,2)
246
247 bc1=vksi(1,ng)*tbc(1,1)+veta(1,ng)*tbc(2,1)
248 bc2=vksi(1,ng)*tbc(1,2)+veta(1,ng)*tbc(2,2)
249
250 IF (isrot>0) THEN
251 bxy(1)=vq(ep,1,1,ng)*c2
252 bxy(2)=vq(ep,2,1,ng)*c2
253 bxy(3)=vq(ep,3,1,ng)*c2
254 byx(1)=vq(ep,1,2,ng)*c1
255 byx(2)=vq(ep,2,2,ng)*c1
256 byx(3)=vq(ep,3,2,ng)*c1
257 brz(i,1,1)=-bxy(1)+byx(1)
258 brz(i,2,1)=-bxy(2)+byx(2)
259 brz(i,3,1)=-bxy(3)+byx(3)
260 bm(ep,3)=bxy(1)+byx(1)
261 bm(ep,6)=bxy(2)+byx(2)
262 bm(ep,9)=bxy(3)+byx(3)
263 vdef(ep,3)= c1*vt2+c2*vt1
264 ELSE
265 bm(ep,9)=zero
266 END IF
267
268 bm(ep,1)=vq(ep,1,1,ng)*c1
269 bmf(ep,1)=thk*bm(ep,1)+vq(ep,1,1,ng)*bc1
270
271 bm(ep,2)=vq(ep,1,2,ng)*c2
272 bmf(ep,2)=thk*bm(ep,2)+vq(ep,1,2,ng)*bc2
273
274 bmf(ep,3)=thk*bm(ep,3)+vq(ep,1,1,ng)*bc2+vq(ep,1,2,ng)*bc1
275
276
277 bm(ep,4)=vq(ep,2,1,ng)*c1
278 bmf(ep,4)=thk*bm(ep,4)+vq(ep,2,1,ng)*bc1
279 bm(ep,5)=vq(ep,2,2,ng)*c2
280 bmf(ep,5)=thk*bm(ep,5)+vq(ep,2,2,ng)*bc2
281 bmf(ep,6)=thk*bm(ep,6)+vq(ep,2,1,ng)*bc2+vq(ep,2,2,ng)*bc1
282
283
284 bm(ep,7)=vq(ep,3,1,ng)*c1
285 bmf(ep,7)=thk*bm(ep,7)+vq(ep,3,1,ng)*bc1
286 bm(ep,8)=vq(ep,3,2,ng)*c2
287 bmf(ep,8)=thk*bm(ep,8)+vq(ep,3,2,ng)*bc2
288 bmf(ep,9)=thk*bm(ep,9)+vq(ep,3,1,ng)*bc2+vq(ep,3,2,ng)*bc1
289
290
291 vdef(ep,1)= c1*vt1
292 vdef(ep,2)= c2*vt2
293
294
295
296 vdef(ep,6)= bc1*vt1
297 vdef(ep,7)= bc2*vt2
298 vdef(ep,8)= bc1*vt2+bc2*vt1
299
300
301 v1(2)=vq(ep,1,1,ng)*vqn(ep,1,1)+vq(ep,2,1,ng)*vqn(ep,2,1)
302 1 +vq(ep,3,1,ng)*vqn(ep,3,1)
303 v1(1)=-(vq(ep,1,1,ng)*vqn(ep,4,1)+vq(ep,2,1,ng)*vqn(ep,5,1)
304 1 +vq(ep,3,1,ng)*vqn(ep,6,1))
305 v2(2)=vq(ep,1,2,ng)*vqn(ep,1,1)+vq(ep,2,2,ng)*vqn(ep,2,1)
306 1 +vq(ep,3,2,ng)*vqn(ep,3,1)
307 v2(1)=-(vq(ep,1,2,ng)*vqn(ep,4,1)+vq(ep,2,2,ng)*vqn(ep,5,1)
308 1 +vq(ep,3,2,ng)*vqn(ep,6,1))
309 rv1=v1(1)*rxyz(ep,1)+v1(2)*rxyz(ep,2)
310 rv2=v2(1)*rxyz(ep,1)+v2(2)*rxyz(ep,2)
311
312
313 bf(ep,1)=v1(1)*c1
314 bf(ep,2)=v2(1)*c2
315 bf(ep,3)=v1(1)*c2+v2(1)*c1
316 bf(ep,4)=v1(2)*c1
317 bf(ep,5)=v2(2)*c2
318 bf(ep,6)=v1(2)*c2+v2(2)*c1
319
320 vdef(ep,6)= vdef(ep,6)+c1*rv1
321 vdef(ep,7)= vdef(ep,7)+c2*rv2
322 vdef(ep,8)= vdef(ep,8)+c1*rv2+c2*rv1
323
324
325 vt1=vq(ep,1,1,ng)*vxyz(ep,4)+vq(ep,2,1,ng)*vxyz(ep,5)
326 1 +vq(ep,3,1,ng)*vxyz(ep,6)
327 vt2=vq(ep,1,2,ng)*vxyz(ep,4)+vq(ep,2,2,ng)*vxyz(ep,5)
328 1 +vq(ep,3,2,ng)*vxyz(ep,6)
329
330
331 c1=vksi(2,ng)*tc(ep,1,1)+veta(2,ng)*tc(ep,2,1)
332 c2=vksi(2,ng)*tc(ep,1,2)+veta(2,ng)*tc(ep,2,2)
333
334 bc1=vksi(2,ng)*tbc(1,1)+veta(2,ng)*tbc(2,1)
335 bc2=vksi(2,ng)*tbc(1,2)+veta(2,ng)*tbc(2,2)
336
337
338 IF (isrot>0) THEN
339 bxy(1)=vq(ep,1,1,ng)*c2
340 bxy(2)=vq(ep,2,1,ng)*c2
341 bxy(3)=vq(ep,3,1,ng)*c2
342 byx(1)=vq(ep,1,2,ng)*c1
343 byx(2)=vq(ep,2,2,ng)*c1
344 byx(3)=vq(ep,3,2,ng)*c1
345 brz(i,1,2)=-bxy(1)+byx(1)
346 brz(i,2,2)=-bxy(2)+byx(2)
347 brz(i,3,2)=-bxy(3)+byx(3)
348 bm(ep,12)=bxy(1)+byx(1)
349 bm(ep,15)=bxy(2)+byx(2)
350 bm(ep,18)=bxy(3)+byx(3)
351 vdef(ep,3)= vdef(ep,3)+ c1*vt2+c2*vt1
352 ELSE
353 bm(ep,18)=zero
354 END IF
355
356 bm(ep,10)=vq(ep,1,1,ng)*c1
357 bmf(ep,10)=thk*bm(ep,10)+vq(ep,1,1,ng)*bc1
358 bm(ep,11)=vq(ep,1,2,ng)*c2
359 bmf(ep,11)=thk*bm(ep,11)+vq(ep,1,2,ng)*bc2
360 bmf(ep,12)=thk*bm(ep,12)+vq(ep,1,1,ng)*bc2+vq(ep,1,2,ng)*bc1
361
362
363
364 bm(ep,13)=vq(ep,2,1,ng)*c1
365 bmf(ep,13)=thk*bm(ep,13)+vq(ep,2,1,ng)*bc1
366 bm(ep,14)=vq(ep,2,2,ng)*c2
367 bmf(ep,14)=thk*bm(ep,14)+vq(ep,2,2,ng)*bc2
368 bmf(ep,15)=thk*bm(ep,15)+vq(ep,2,1,ng)*bc2+vq(ep,2,2,ng)*bc1
369
370
371
372 bm(ep,16)=vq(ep,3,1,ng)*c1
373 bmf(ep,16)=thk*bm(ep,16)+vq(ep,3,1,ng)*bc1
374 bm(ep,17)=vq(ep,3,2,ng)*c2
375 bmf(ep,17)=thk*bm(ep,17)+vq(ep,3,2,ng)*bc2
376 bmf(ep,18)=thk*bm(ep,18)+vq(ep,3,1,ng)*bc2+vq(ep,3,2,ng)*bc1
377
378
379 vdef(ep,1)= vdef(ep,1)+ c1*vt1
380 vdef(ep,2)= vdef(ep,2)+ c2*vt2
381
382
383 vdef(ep,6)= vdef(ep,6)+ bc1*vt1
384 vdef(ep,7)= vdef(ep,7)+ bc2*vt2
385 vdef(ep,8)= vdef(ep,8)+ bc1*vt2+bc2*vt1
386
387
388 v1(2)=vq(ep,1,1,ng)*vqn(ep,1,2)+vq(ep,2,1,ng)*vqn(ep,2,2)
389 1 +vq(ep,3,1,ng)*vqn(ep,3,2)
390 v1(1)=-(vq(ep,1,1,ng)*vqn(ep,4,2)+vq(ep,2,1,ng)*vqn(ep,5,2)
391 1 +vq(ep,3,1,ng)*vqn(ep,6,2))
392 v2(2)=vq(ep,1,2,ng)*vqn(ep,1,2)+vq(ep,2,2,ng)*vqn(ep,2,2)
393 1 +vq(ep,3,2,ng)*vqn(ep,3,2)
394 v2(1)=-(vq(ep,1,2,ng)*vqn(ep,4,2)+vq(ep,2,2,ng)*vqn(ep,5,2)
395 1 +vq(ep,3,2,ng)*vqn(ep,6,2))
396 rv1=v1(1)*rxyz(ep,2+1)+v1(2)*rxyz(ep,2+2)
397 rv2=v2(1)*rxyz(ep,2+1)+v2(2)*rxyz(ep,2+2)
398
399
400 bf(ep,7)=v1(1)*c1
401 bf(ep,8)=v2(1)*c2
402 bf(ep,9)=v1(1)*c2+v2(1)*c1
403 bf(ep,10)=v1(2)*c1
404 bf(ep,11)=v2(2)*c2
405 bf(ep,12)=v1(2)*c2+v2(2)*c1
406
407 vdef(ep,6)= vdef(ep,6)+c1*rv1
408 vdef(ep,7)= vdef(ep,7)+c2*rv2
409 vdef(ep,8)= vdef(ep,8)+c1*rv2+c2*rv1
410
411
412 vt1=vq(ep,1,1,ng)*vxyz(ep,7)+vq(ep,2,1,ng)*vxyz(ep,8)
413 1 +vq(ep,3,1,ng)*vxyz(ep,9)
414 vt2=vq(ep,1,2,ng)*vxyz(ep,7)+vq(ep,2,2,ng)*vxyz(ep,8)
415 1 +vq(ep,3,2,ng)*vxyz(ep,9)
416
417
418 c1=vksi(3,ng)*tc(ep,1,1)+veta(3,ng)*tc(ep,2,1)
419 c2=vksi(3,ng)*tc(ep,1,2)+veta(3,ng)*tc(ep,2,2)
420
421 bc1=vksi(3,ng)*tbc(1,1)+veta(3,ng)*tbc(2,1)
422 bc2=vksi(3,ng)*tbc(1,2)+veta(3,ng)*tbc(2,2)
423
424 IF (isrot>0) THEN
425 bxy(1)=vq(ep,1,1,ng)*c2
426 bxy(2)=vq(ep,2,1,ng)*c2
427 bxy(3)=vq(ep,3,1,ng)*c2
428 byx(1)=vq(ep,1,2,ng)*c1
429 byx(2)=vq(ep,2,2,ng)*c1
430 byx(3)=vq(ep,3,2,ng)*c1
431 brz(i,1,3)=-bxy(1)+byx(1)
432 brz(i,2,3)=-bxy(2)+byx(2)
433 brz(i,3,3)=-bxy(3)+byx(3)
434 bm(ep,21)=bxy(1)+byx(1)
435 bm(ep,24)=bxy(2)+byx(2)
436 bm(ep,27)=bxy(3)+byx(3)
437 vdef(ep,3)= vdef(ep,3)+ c1*vt2+c2*vt1
438 ELSE
439 bm(ep,27)=zero
440 END IF
441
442 bm(ep,19)=vq(ep,1,1,ng)*c1
443 bmf(ep,19)=thk*bm(ep,19)+vq(ep,1,1,ng)*bc1
444 bm(ep,20)=vq(ep,1,2,ng)*c2
445 bmf(ep,20)=thk*bm(ep,20)+vq(ep,1,2,ng)*bc2
446 bmf(ep,21)=thk*bm(ep,21)+vq(ep,1,1,ng)*bc2+vq(ep,1,2,ng)*bc1
447
448
449 bm(ep,22)=vq(ep,2,1,ng)*c1
450 bmf(ep,22)=thk*bm(ep,22)+vq(ep,2,1,ng)*bc1
451 bm(ep,23)=vq(ep,2,2,ng)*c2
452 bmf(ep,23)=thk*bm(ep,23)+vq(ep,2,2,ng)*bc2
453 bmf(ep,24)=thk*bm(ep,24)+vq(ep,2,1,ng)*bc2+vq(ep,2,2,ng)*bc1
454
455
456 bm(ep,25)=vq(ep,3,1,ng)*c1
457 bmf(ep,25)=thk*bm(ep,25)+vq(ep,3,1,ng)*bc1
458 bm(ep,26)=vq(ep,3,2,ng)*c2
459 bmf(ep,26)=thk*bm(ep,26)+vq(ep,3,2,ng)*bc2
460 bmf(ep,27)=thk*bm(ep,27)+vq(ep,3,1,ng)*bc2+vq(ep,3,2,ng)*bc1
461
462
463 vdef(ep,1)= vdef(ep,1)+ c1*vt1
464 vdef(ep,2)= vdef(ep,2)+ c2*vt2
465
466
467 vdef(ep,6)= vdef(ep,6)+ bc1*vt1
468 vdef(ep,7)= vdef(ep,7)+ bc2*vt2
469 vdef(ep,8)= vdef(ep,8)+ bc1*vt2+bc2*vt1
470 v1(2)=vq(ep,1,1,ng)*vqn(ep,1,3)+vq(ep,2,1,ng)*vqn(ep,2,3)
471 1 +vq(ep,3,1,ng)*vqn(ep,3,3)
472 v1(1)=-(vq(ep,1,1,ng)*vqn(ep,4,3)+vq(ep,2,1,ng)*vqn(ep,5,3)
473 1 +vq(ep,3,1,ng)*vqn(ep,6,3))
474 v2(2)=vq(ep,1,2,ng)*vqn(ep,1,3)+vq(ep,2,2,ng)*vqn(ep,2,3)
475 1 +vq(ep,3,2,ng)*vqn(ep,3,3)
476 v2(1)=-(vq(ep,1,2,ng)*vqn(ep,4,3)+vq(ep,2,2,ng)*vqn(ep,5,3)
477 1 +vq(ep,3,2,ng)*vqn(ep,6,3))
478 rv1=v1(1)*rxyz(ep,4+1)+v1(2)*rxyz(ep,4+2)
479 rv2=v2(1)*rxyz(ep,4+1)+v2(2)*rxyz(ep,4+2)
480 bf(ep,13)=v1(1)*c1
481 bf(ep,14)=v2(1)*c2
482 bf(ep,15)=v1(1)*c2+v2(1)*c1
483 bf(ep,16)=v1(2)*c1
484 bf(ep,17)=v2(2)*c2
485 bf(ep,18)=v1(2)*c2+v2(2)*c1
486 vdef(ep,6)= vdef(ep,6)+c1*rv1
487 vdef(ep,7)= vdef(ep,7)+c2*rv2
488 vdef(ep,8)= vdef(ep,8)+c1*rv2+c2*rv1
489
490 vt1=vq(ep,1,1,ng)*vxyz(ep,10)+vq(ep,2,1,ng)*vxyz(ep,11)
491 1 +vq(ep,3,1,ng)*vxyz(ep,12)
492 vt2=vq(ep,1,2,ng)*vxyz(ep,10)+vq(ep,2,2,ng)*vxyz(ep,11)
493 1 +vq(ep,3,2,ng)*vxyz(ep,12)
494
495
496 c1=vksi(4,ng)*tc(ep,1,1)+veta(4,ng)*tc(ep,2,1)
497 c2=vksi(4,ng)*tc(ep,1,2)+veta(4,ng)*tc(ep,2,2)
498
499 bc1=vksi(4,ng)*tbc(1,1)+veta(4,ng)*tbc(2,1)
500 bc2=vksi(4,ng)*tbc(1,2)+veta(4,ng)*tbc(2,2)
501
502 IF (isrot>0) THEN
503 bxy(1)=vq(ep,1,1,ng)*c2
504 bxy(2)=vq(ep,2,1,ng)*c2
505 bxy(3)=vq(ep,3,1,ng)*c2
506 byx(1)=vq(ep,1,2,ng)*c1
507 byx(2)=vq(ep,2,2,ng)*c1
508 byx(3)=vq(ep,3,2,ng)*c1
509 brz(i,1,4)=-bxy(1)+byx(1)
510 brz(i,2,4)=-bxy(2)+byx(2)
511 brz(i,3,4)=-bxy(3)+byx(3)
512 bm(ep,30)=bxy(1)+byx(1)
513 bm(ep,33)=bxy(2)+byx(2)
514 bm(ep,36)=bxy(3)+byx(3)
515 vdef(ep,3)= vdef(ep,3)+ c1*vt2+c2*vt1
516 ELSE
517 bm(ep,36)=zero
518 END IF
519 bm(ep,28)=vq(ep,1,1,ng)*c1
520 bmf(ep,28)=thk*bm(ep,28)+vq(ep,1,1,ng)*bc1
521 bm(ep,29)=vq(ep,1,2,ng)*c2
522 bmf(ep,29)=thk*bm(ep,29)+vq(ep,1,2,ng)*bc2
523
524 bmf(ep,30)=thk*bm(ep,30)+vq(ep,1,1,ng)*bc2+vq(ep,1,2,ng)*bc1
525
526
527 bm(ep,31)=vq(ep,2,1,ng)*c1
528 bmf(ep,31)=thk*bm(ep,31)+vq(ep,2,1,ng)*bc1
529 bm(ep,32)=vq(ep,2,2,ng)*c2
530 bmf(ep,32)=thk*bm(ep,32)+vq(ep,2,2,ng)*bc2
531 bmf(ep,33)=thk*bm(ep,33)+vq(ep,2,1,ng)*bc2+vq(ep,2,2,ng)*bc1
532
533
534 bm(ep,34)=vq(ep,3,1,ng)*c1
535 bmf(ep,34)=thk*bm(ep,34)+vq(ep,3,1,ng)*bc1
536 bm(ep,35)=vq(ep,3,2,ng)*c2
537 bmf(ep,35)=thk*bm(ep,35)+vq(ep,3,2,ng)*bc2
538 bmf(ep,36)=thk*bm(ep,36)+vq(ep,3,1,ng)*bc2+vq(ep,3,2,ng)*bc1
539
540
541 vdef(ep,1)= vdef(ep,1)+ c1*vt1
542 vdef(ep,2)= vdef(ep,2)+ c2*vt2
543
544
545 vdef(ep,6)= vdef(ep,6)+ bc1*vt1
546 vdef(ep,7)= vdef(ep,7)+ bc2*vt2
547 vdef(ep,8)= vdef(ep,8)+ bc1*vt2+bc2*vt1
548
549
550 v1(2)=vq(ep,1,1,ng)*vqn(ep,1,4)+vq(ep,2,1,ng)*vqn(ep,2,4)
551 1 +vq(ep,3,1,ng)*vqn(ep,3,4)
552 v1(1)=-(vq(ep,1,1,ng)*vqn(ep,4,4)+vq(ep,2,1,ng)*vqn(ep,5,4)
553 1 +vq(ep,3,1,ng)*vqn(ep,6,4))
554 v2(2)=vq(ep,1,2,ng)*vqn(ep,1,4)+vq(ep,2,2,ng)*vqn(ep,2,4)
555 1 +vq(ep,3,2,ng)*vqn(ep,3,4)
556 v2(1)=-(vq(ep,1,2,ng)*vqn(ep,4,4)+vq(ep,2,2,ng)*vqn(ep,5,4)
557 1 +vq(ep,3,2,ng)*vqn(ep,6,4))
558 rv1=v1(1)*rxyz(ep,6+1)+v1(2)*rxyz(ep,6+2)
559 rv2=v2(1)*rxyz(ep,6+1)+v2(2)*rxyz(ep,6+2)
560
561 bf(ep,19)=v1(1)*c1
562 bf(ep,20)=v2(1)*c2
563 bf(ep,21)=v1(1)*c2+v2(1)*c1
564 bf(ep,22)=v1(2)*c1
565 bf(ep,23)=v2(2)*c2
566 bf(ep,24)=v1(2)*c2+v2(2)*c1
567 vdef(ep,6)= vdef(ep,6)+thk*vdef(ep,1)+c1*rv1
568 vdef(ep,7)= vdef(ep,7)+thk*vdef(ep,2)+c2*rv2
569 vdef(ep,8)= vdef(ep,8)+thk*vdef(ep,3)+c1*rv2+c2*rv1
570
571
572
573
574
575
576
577 v11(1)=vksi(2,ng)
578 v11(2)=vksi(3,ng)
579 v11(3)=veta(4,ng)
580 v11(4)=veta(3,ng)
581
582
583
584
585
586
587
588 c1=v11(1)*vnrm(ep,1)
589 bc(ep,1)=-c1
590 bc(ep,11)=c1
591
592 c1=v11(1)*vnrm(ep,2)
593 bc(ep,3)=-c1
594 bc(ep,13)=c1
595
596 c1=v11(1)*vnrm(ep,3)
597 bc(ep,5)=-c1
598 bc(ep,15)=c1
599
600 bc(ep,7)=v11(1)*vastn(ep,1)
601 bc(ep,9)=v11(1)*vastn(ep,2)
602 bc(ep,17)=v11(1)*vastn(ep,3)
603 bc(ep,19)=v11(1)*vastn(ep,4)
604
605
606
607
608
609
610
611 c1=v11(2)*vnrm(ep,4)
612 bc(ep,31)=-c1
613 bc(ep,21)=c1
614
615 c1=v11(2)*vnrm(ep,5)
616 bc(ep,33)=-c1
617 bc(ep,23)=c1
618
619 c1=v11(2)*vnrm(ep,6)
620 bc(ep,35)=-c1
621 bc(ep,25)=c1
622
623 bc(ep,37)=v11(2)*vastn(ep,5)
624 bc(ep,39)=v11(2)*vastn(ep,6)
625 bc(ep,27)=v11(2)*vastn(ep,7)
626 bc(ep,29)=v11(2)*vastn(ep,8)
627
628
629
630
631
632
633
634 c1=v11(3)*vnrm(ep,7)
635 bc(ep,2)=-c1
636 bc(ep,32)=c1
637
638 c1=v11(3)*vnrm(ep,8)
639 bc(ep,4)=-c1
640 bc(ep,34)=c1
641
642 c1=v11(3)*vnrm(ep,9)
643 bc(ep,6)=-c1
644 bc(ep,36)=c1
645
646 bc(ep,8)=v11(3)*vastn(ep,9)
647 bc(ep,10)=v11(3)*vastn(ep,10)
648 bc(ep,38)=v11(3)*vastn(ep,11)
649 bc(ep,40)=v11(3)*vastn(ep,12)
650
651
652
653
654
655
656
657 c1=v11(4)*vnrm(ep,10)
658 bc(ep,12)=-c1
659 bc(ep,22)=c1
660
661 c1=v11(4)*vnrm(ep,11)
662 bc(ep,14)=-c1
663 bc(ep,24)=c1
664
665 c1=v11(4)*vnrm(ep,12)
666 bc(ep,16)=-c1
667 bc(ep,26)=c1
668
669 bc(ep,18)=v11(4)*vastn(ep,13)
670 bc(ep,20)=v11(4)*vastn(ep,14)
671 bc(ep,28)=v11(4)*vastn(ep,15)
672 bc(ep,30)=v11(4)*vastn(ep,16)
673
674
675
676 bcx=
677 1 bc(ep,1)*vxyz(ep,1)+bc(ep,3)*vxyz(ep,2)
678 2 +bc(ep,5)*vxyz(ep,3)+bc(ep,7)*rxyz(ep,1)
679 3 +bc(ep,9)*rxyz(ep,2)
680 bcy=
681 1 bc(ep,2)*vxyz(ep,1)+bc(ep,4)*vxyz(ep,2)
682 2 +bc(ep,6)*vxyz(ep,3)+bc(ep,8)*rxyz(ep,1)
683 3 +bc(ep,10)*rxyz(ep,2)
684
685 bcx=bcx
686 1 +bc(ep,11)*vxyz(ep,4)+bc(ep,13)*vxyz(ep,5)
687 2 +bc(ep,15)*vxyz(ep,6)+bc(ep,17)*rxyz(ep,3)
688 3 +bc(ep,19)*rxyz(ep,4)
689 bcy=bcy
690 1 +bc(ep,12)*vxyz(ep,4)+bc(ep,14)*vxyz(ep,5)
691 2 +bc(ep,16)*vxyz(ep,6)+bc(ep,18)*rxyz(ep,3)
692 3 +bc(ep,20)*rxyz(ep,4)
693
694 bcx=bcx
695 1 +bc(ep,21)*vxyz(ep,7)+bc(ep,23)*vxyz(ep,8)
696 2 +bc(ep,25)*vxyz(ep,9)+bc(ep,27)*rxyz(ep,5)
697 3 +bc(ep,29)*rxyz(ep,6)
698 bcy=bcy
699 1 +bc(ep,22)*vxyz(ep,7)+bc(ep,24)*vxyz(ep,8)
700 2 +bc(ep,26)*vxyz(ep,9)+bc(ep,28)*rxyz(ep,5)
701 3 +bc(ep,30)*rxyz(ep,6)
702
703 bcx=bcx
704 1 +bc(ep,31)*vxyz(ep,10)+bc(ep,33)*vxyz(ep,11)
705 2 +bc(ep,35)*vxyz(ep,12)+bc(ep,37)*rxyz(ep,7)
706 3 +bc(ep,39)*rxyz(ep,8)
707 bcy=bcy
708 1 +bc(ep,32)*vxyz(ep,10)+bc(ep,34)*vxyz(ep,11)
709 2 +bc(ep,36)*vxyz(ep,12)+bc(ep,38)*rxyz(ep,7)
710 3 +bc(ep,40)*rxyz(ep,8)
711 vdef(ep,4)=tc(ep,1,1)*bcx+tc(ep,2,1)*bcy
712 vdef(ep,5)=tc(ep,1,2)*bcx+tc(ep,2,2)*bcy
713
714 150 CONTINUE
715 RETURN
subroutine area(d1, x, x2, y, y2, eint, stif0)