42
43
44
46 USE elbufdef_mod
47 USE my_alloc_mod
48
49
50
51#include "implicit_f.inc"
52
53
54
55#include "vect01_c.inc"
56#include "mvsiz_p.inc"
57#include "com01_c.inc"
58#include "com04_c.inc"
59#include "sphcom.inc"
60#include "param_c.inc"
61#include "task_c.inc"
62#include "spmd_c.inc"
63#include "scr17_c.inc"
64
65
66
67 my_real tens(6,*),epsdot(6,*),pm(npropm,*),x(3,*)
68 INTEGER IPARG(NPARG,*),ITENS,
69 . IXS(NIXS,*),EL2FA(*),IADG(NSPMD,*),IPM(NPROPMI,*),
70 . NBF,NBPART,IPART(LIPART1,*),IPARTSP(*),
71 . ISPH3D,IGEO(NPROPGI,*)
72 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
73
74
75
76 my_real off, fac, a1, a2, a3, thk, gama(6),evar_tmp(6)
77 REAL R4(18)
78 INTEGER I,I1,I2,,N,J,NG,NEL,IPT,MT1,MLW, ISTRAIN,TSHELL,
79 . IPID, NS1, NS2 ,IALEL, ISTRE,IPRT,PTI,IADPG,PID,
80 . NN1,NN2,NN3,NN4,ICSIG,IOR_TSH,NUVAR,BUF,L_PLA,L_STRA,KHBE,
81 . KCVT,ISOLNOD,NLAY,NPTR,NPTS,NPTT,NPTG,IL,IS,IR,IT,IVISC,IOK,
82 . JJ(6),IR0,IS0,IT0
83 REAL,DIMENSION(:),ALLOCATABLE :: WA
84 TYPE(G_BUFEL_) ,POINTER :: GBUF
85 TYPE(L_BUFEL_) ,POINTER :: LBUF
87
88 CALL my_alloc(wa,6*nbf)
89 DO j=1,18
90 r4(j) = zero
91 ENDDO
92 nn1 = 1
93 nn2 = 1
94 nn3 = nn2 + numels
95 nn4 = nn3 + isph3d*(numsph+maxpjet)
96
97 DO ng=1,ngroup
98 gbuf => elbuf_tab(ng)%GBUF
99 istrain = iparg(44,ng)
100 isolnod = iparg(28,ng)
101 ivisc = iparg(61,ng)
103 2 mlw ,nel ,nft ,iad ,ity ,
104 3 npt ,jale ,ismstr ,jeul ,jtur ,
105 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
106 5 nvaux ,jpor ,kcvt ,jclose ,jplasol ,
107 6 irep ,iint ,igtyp ,israt ,isrot ,
108 7 icsen ,isorth ,isorthg ,ifailure,jsms )
109
110 DO i=1,6
111 jj(i) = nel*(i-1)
112 ENDDO
113
114 IF(mlw /= 13) THEN
115 lft=1
116 llt=nel
117
118
119
120 IF (ity == 1) THEN
121 tshell = 0
122 ior_tsh = 0
123 IF (igtyp==20 .OR. igtyp==21 .OR. igtyp==22) tshell = 1
124 IF (igtyp == 21.OR.igtyp == 22) ior_tsh = 1
125 nlay = elbuf_tab(ng)%NLAY
126 nptr = elbuf_tab(ng)%NPTR
127 npts = elbuf_tab(ng)%NPTS
128 nptt = elbuf_tab(ng)%NPTT
129 nptg = nptt*npts*nptr
130 npt = nptg*nlay
131 pid=ixs(10,1 + nft)
132 mt1=ixs(1,1 + nft)
133
134 IF (kcvt==1.AND.isorth/=0) kcvt=2
135 nuvar = ipm(8,mt1)
136 IF (igtyp /= 22) THEN
137 IF (isorth > 0) isorthg = 0
138 END IF
139 IF(mlw==0)THEN
140 DO i=lft,llt
141 n = i + nft
142 tens(1,el2fa(nn2+n)) = zero
143 tens(2,el2fa(nn2+n)) = zero
144 tens(3,el2fa(nn2+n)) = zero
145 tens(4,el2fa(nn2+n)) = zero
146 tens(5,el2fa(nn2+n)) = zero
147 tens(6,el2fa(nn2+n)) = zero
148 ENDDO
149 cycle
150 END IF
151 evar(1:6,lft:llt)=zero
152 IF (itens == 1) THEN
153
154
155
156 DO i=lft,llt
157 n = i + nft
158 evar(1,i) = gbuf%SIG(jj(1) + i)
159 evar(2,i) = gbuf%SIG(jj(2) + i)
160 evar(3,i) = gbuf%SIG(jj(3) + i)
161 evar(4,i) = gbuf%SIG(jj(4) + i)
162 evar(5,i) = gbuf%SIG(jj(5) + i)
163 evar(6,i) = gbuf%SIG(jj(6) + i)
164 ENDDO
165 IF(ivisc > 0) THEN
166 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
167 DO i=lft,llt
168 evar(1,i) =evar(1,i)+ lbuf%VISC(jj(1) + i)
169 evar(2,i) =evar(2,i)+ lbuf%VISC(jj(2) + i)
170 evar(3,i) =evar(3,i)+ lbuf%VISC(jj(3) + i)
171 evar(4,i) =evar(4,i)+ lbuf%VISC(jj(4) + i)
172 evar(5,i) =evar(5,i)+ lbuf%VISC(jj(5) + i)
173 evar(6,i) =evar(6,i)+ lbuf%VISC(jj(6) + i)
174 ENDDO
175 ENDIF
176
177 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 ) THEN
178 DO i=lft,llt
179 evar(1,i) = evar(1,i) * gbuf%FILL(i)
180 evar(2,i) = evar(2,i) * gbuf%FILL(i)
181 evar(3,i) = evar(3,i) * gbuf%FILL(i)
182 evar(4,i) = evar(4,i) * gbuf%FILL(i)
183 evar(5,i) = evar(5,i) * gbuf%FILL(i)
184 evar(6,i) = evar(6,i) * gbuf%FILL(i)
185 ENDDO
186 ENDIF
187
188 IF (jhbe == 17 .AND. iint ==3) THEN
189
190 DO i=lft,llt
191 n = i + nft
192 IF(el2fa(nn2+n) /= 0)THEN
193
194 IF(kcvt==2.AND.jhbe/=14.AND.jhbe/=15)THEN
195 gama(1)=gbuf%GAMA(jj(1) + i)
196 gama(2)=gbuf%GAMA(jj(2) + i)
197 gama(3)=gbuf%GAMA(jj(3) + i)
198 gama(4)=gbuf%GAMA(jj(4) + i)
199 gama(5)=gbuf%GAMA(jj(5) + i)
200 gama(6)=gbuf%GAMA(jj(6) + i)
201 ELSE
202 gama(1)=one
203 gama(2)=zero
204 gama(3)=zero
205 gama(4)=zero
206 gama(5)=one
207 gama(6)=zero
208 END IF
210 2 igtyp, gbuf%COR_FR(
211 ENDIF
212 ENDDO
213 ELSE IF (kcvt /= 0 .AND. jhbe /= 16) THEN
214
215 DO i=lft,llt
216 n = i + nft
217 IF(el2fa(nn2+n) /= 0)THEN
218
219 IF(kcvt==2.AND.jhbe/=14.AND.jhbe/=15)THEN
220 gama(1)=gbuf%GAMA(jj(1) + i)
221 gama(2)=gbuf%GAMA(jj(2) + i)
222 gama(3)=gbuf%GAMA(jj(3) + i)
223 gama(4)=gbuf%GAMA(jj(4) + i)
224 gama(5)=gbuf%GAMA(jj(5) + i)
225 gama(6)=gbuf%GAMA(jj(6) + i)
226 ELSE
227 gama(1)=one
228 gama(2)=zero
229 gama(3)=zero
230 gama(4)=zero
231 gama(5)=one
232 gama(6)=zero
233 END IF
234 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
235 ENDIF
236 ENDDO
237 ENDIF
238
239 ELSEIF (itens == 2)THEN
240
241
242
243
244 IF (isolnod == 8 .AND. igtyp == 43) THEN
245 DO i=lft,llt
246 DO ipt= 1,nptr
247 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
248 evar(3,i) = evar(3,i) + lbuf%EPE(jj(1) + i
249 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)/npt
250 evar(1,i) = evar(1,i) + lbuf%EPE(jj(3) + i)/npt
251 ENDDO
252 ENDDO
253 DO i=lft,llt
254 n = i + nft
255 IF(el2fa(nn2+n) /= 0)THEN
256 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
257 ENDIF
258 ENDDO
259
260 ELSEIF (isolnod == 8 .AND. npt == 8 .AND. jhbe /= 14 .AND. jhbe /= 24 .AND. jhbeTHEN
261 nvaux =iparg(18,ng)
262 IF (mlw>=28) THEN
263 DO i=lft,llt
264 n = i + nft
265 DO j=1,8
266 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,j)
267 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)*one_over_8
268 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)*one_over_8
269 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)*one_over_8
270 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)*one_over_8
271 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)*one_over_8
272 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)*one_over_8
273 ENDDO
274 ENDDO
275 ENDIF
276
277 ELSEIF ((isolnod==8 .OR. (isolnod == 4 .AND. isrot==0)) .AND. npt==1 .AND. jhbe /= 14 .AND. jhbe /= 15) THEN
278 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
279 IF (isorth > 0) isorthg = 1
280 IF (mlw>=28.AND.mlw /= 49) THEN
281 DO i=lft,llt
282 n = i + nft
283 evar(1,i) = lbuf%STRA(jj(1) + i
284 evar(2,i) = lbuf%STRA(jj(2) + i)
285 evar(3,i) = lbuf%STRA(jj(3) + i)
286 evar(4,i) = lbuf%STRA(jj(4) + i)*half
287 evar(5,i) = lbuf%STRA(jj(5) + i)*half
288 evar(6,i) = lbuf%STRA(jj(6) + i)*half
289 ENDDO
290 IF (isorth > 0) kcvt = 2
291 ELSEIF (mlw == 12 .OR. mlw == 14)THEN
292 DO i=lft,llt
293 n = i + nft
294 evar(1,i) = evar(1,i) + lbuf%EPE(jj(1) + i)
295 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)
296 evar(3,i) = evar(3,i) + lbuf%EPE(jj(3) + i)
297 ENDDO
298 IF (isorth > 0) kcvt = 2
299 ELSEIF (mlw == 24 .OR. mlw == 25)THEN
300 DO i=lft,llt
301 n = i + nft
302 evar(1,i) = lbuf%STRA(jj(1) + i)
303 evar(2,i) = lbuf%STRA(jj(2) + i)
304 evar(3,i) = lbuf%STRA(jj(3) + i)
305 evar(4,i) = lbuf%STRA(jj(4) + i)*half
306 evar(5,i) = lbuf%STRA(jj(5) + i)*half
307 evar(6,i) = lbuf%STRA(jj(6) + i)*half
308 ENDDO
309 IF (isorth > 0) kcvt = 2
310 ELSEIF (istrain > 0) THEN
311 IF (mlw /= 14 .AND. mlw /= 24 .AND. mlw<28 .OR. mlw == 49) THEN
312 DO i=lft,llt
313 n = i + nft
314 evar(1,i) = lbuf%STRA(jj(1) + i)
315 evar(2,i) = lbuf%STRA(jj(2) + i)
316 evar(3,i) = lbuf%STRA(jj(3) + i)
317 evar(4,i) = lbuf%STRA(jj(4) + i)*half
318 evar(5,i) = lbuf%STRA(jj(5) + i)*half
319 evar(6,i) = lbuf%STRA(jj(6) + i)*half
320 ENDDO
321 ELSE
322 DO i=lft,llt
323 evar(1,i) = zero
324 evar(2,i) = zero
325 evar(3,i) = zero
326 evar(4,i) = zero
327 evar(5,i) = zero
328 evar(6,i) = zero
329 ENDDO
330 ENDIF
331 ENDIF
332 IF (kcvt /= 0) THEN
333
334 DO i=lft,llt
335 n = i + nft
336 IF(el2fa(nn2+n) /= 0)THEN
337 IF(kcvt==2)THEN
338 gama(1)=gbuf%GAMA(jj(1) + i)
339 gama(2)=gbuf%GAMA(jj(2) + i)
340 gama(3)=gbuf%GAMA(jj(3) + i)
341 gama(4)=gbuf%GAMA(jj(4) + i)
342 gama(5)=gbuf%GAMA(jj(5) + i)
343 gama(6)=gbuf%GAMA(jj(6) + i)
344 ELSE
345 gama(1)=one
346 gama(2)=zero
347 gama(3)=zero
348 gama(4)=zero
349 gama(5)=one
350 gama(6)=zero
351 END IF
352 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
353 ENDIF
354 ENDDO
355 ENDIF
356
357 ELSEIF(isolnod == 16 .OR. isolnod == 20 .OR. (isolnod == 8 .AND. (jhbe == 14 .OR. jhbe == 17)))THEN
358
359 IF (mlw>=28.AND.mlw /= 49)THEN
360 DO i=lft,llt
361 n = i + nft
362 DO il=1,nlay
363 DO is=1,npts
364 DO it=1,nptt
365 DO ir=1,nptr
366 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
367 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)/npt
368 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)/npt
369 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)/npt
370 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)*half/npt
371 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)*half/npt
372 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)*half/npt
373 ENDDO
374 ENDDO
375 ENDDO
376 ENDDO
377 ENDDO
378 ELSEIF (mlw == 12 .OR. mlw == 14) THEN
379 DO i=lft,llt
380 n = i + nft
381 DO il=1,nlay
382 DO is=1,npts
383 DO it=1,nptt
384 DO ir=1,nptr
385 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
386 evar(1,i) = evar(1,i) + lbuf%EPE(jj(1) + i)/npt
387 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)/npt
388 evar(3,i) = evar(3,i) + lbuf%EPE(jj(3) + i)/npt
389 ENDDO
390 ENDDO
391 ENDDO
392 ENDDO
393 ENDDO
394 ELSEIF(mlw == 24 .OR. mlw == 25)THEN
395 DO i=lft,llt
396 n = i + nft
397 DO il=1,nlay
398 DO is=1,npts
399 DO it=1,nptt
400 DO ir=1,nptr
401 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
402 IF (elbuf_tab(ng)%BUFLY(il)%L_STRA > 0) THEN
403 evar_tmp(1) = lbuf%STRA(jj(1) + i)/npt
404 evar_tmp(2) = lbuf%STRA(jj(2) + i)/npt
405 evar_tmp(3) = lbuf%STRA(jj(3) + i)/npt
406 evar_tmp(4) = lbuf%STRA(jj(4) + i)*half/npt
407 evar_tmp(5) = lbuf%STRA(jj(5) + i)*half/npt
408 evar_tmp(6) = lbuf%STRA(jj(6) + i)*half/npt
409 icsig=iparg(17,ng)
410 IF (kcvt /= 0 .AND.icsig > 0) THEN
411 IF (igtyp == 21) THEN
412
413 IF (jhbe == 14) THEN
414 SELECT CASE (icsig)
415 CASE (1)
416 IF(el2fa(nn2+n) /= 0)THEN
417 IF(kcvt==2)THEN
418 gama(1)= zero
419 gama(2)= gbuf%GAMA(jj(1) + i)
420 gama(3)= gbuf%GAMA(jj(2) + i)
421 gama(4)= zero
422 gama(5)=-gama(2)
423 gama(6)= gama(1)
424 ELSE
425 gama(1)=one
426 gama(2)=zero
427 gama(3)=zero
428 gama(4)=zero
429 gama(5)=one
430 gama(6)=zero
431 END IF
432 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
433 ENDIF
434 CASE (10)
435 IF(el2fa(nn2+n) /= 0)THEN
436 IF(kcvt==2)THEN
437 gama(1)= gbuf%GAMA(jj(1) + i)
438 gama(2)= gbuf%GAMA(jj(2) + i)
439 gama(3)= zero
440 gama(4)=-gama(2)
441 gama(5)= gama(1)
442 gama(6)= zero
443 ELSE
444 gama(1)=one
445 gama(2)=zero
446 gama(3)=zero
447 gama(4)=zero
448 gama(5)=one
449 gama(6)=zero
450 END IF
451 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
452 ENDIF
453 CASE (100)
454 IF(el2fa(nn2+n) /= 0)THEN
455 IF(kcvt==2)THEN
456 gama(1)= gbuf%GAMA(jj(2) + i)
457 gama(2)= zero
458 gama(3)= gbuf%GAMA(jj(1) + i)
459 gama(4)= gama(3)
460 gama(5)= zero
461 gama(6)=-gama(1)
462 ELSE
463 gama(1)=one
464 gama(2)=zero
465 gama(3)=zero
466 gama(4)=zero
467 gama(5)=one
468 gama(6)=zero
469 END IF
470 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
471 ENDIF
472 END SELECT
473 ENDIF
474 ELSE
475
476 IF (jhbe == 14) THEN
477 SELECT CASE (icsig)
478 CASE (1)
479 IF(el2fa(nn2+n) /= 0)THEN
480 IF(kcvt==2)THEN
481 gama(1)= zero
482 gama(2)= lbuf%GAMA(jj(1) + i)
483 gama(3)= lbuf%GAMA(jj(2) + i)
484 gama(4)= zero
485 gama(5)=-gama(2)
486 gama(6)= gama(1)
487 ELSE
488 gama(1)=one
489 gama(2)=zero
490 gama(3)=zero
491 gama(4)=zero
492 gama(5)=one
493 gama(6)=zero
494 END IF
495 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
496 ENDIF
497 CASE (10)
498 IF(el2fa(nn2+n) /= 0)THEN
499 IF(kcvt==2)THEN
500 gama(1)= lbuf%GAMA(jj(1) + i)
501 gama(2)= lbuf%GAMA(jj(2) + i)
502 gama(3)= zero
503 gama(4)=-gama(2)
504 gama(5)= gama(1)
505 gama(6)= zero
506 ELSE
507 gama(1)=one
508 gama(2)=zero
509 gama(3)=zero
510 gama(4)=zero
511 gama(5)=one
512 gama(6)=zero
513 END IF
514 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
515 ENDIF
516 CASE (100)
517 IF(el2fa(nn2+n) /= 0)THEN
518 IF(kcvt==2)THEN
519 gama(1)= lbuf%GAMA(jj(2) + i)
520 gama(2)= zero
521 gama(3)= lbuf%GAMA(jj(1) + i)
522 gama(4)= gama(3)
523 gama(5)= zero
524 gama(6)=-gama(1)
525 ELSE
526 gama(1)=one
527 gama(2)=zero
528 gama(3)=zero
529 gama(4)=zero
530 gama(5)=one
531 gama(6)=zero
532 END IF
533 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
534 ENDIF
535 END SELECT
536 ENDIF
537 ENDIF
538 ENDIF
539 evar(1,i) = evar(1,i)+evar_tmp(1)
540 evar(2,i) = evar(2,i)+evar_tmp(2)
541 evar(3,i) = evar(3,i)+evar_tmp(3)
542 evar(4,i) = evar(4,i)+evar_tmp(4)
543 evar(5,i) = evar(5,i)+evar_tmp(5)
544 evar(6,i) = evar(6,i)+evar_tmp(6)
545 ENDIF
546 ENDDO
547 ENDDO
548 ENDDO
549 ENDDO
550 ENDDO
551 ELSEIF(istrain > 0)THEN
552 IF (mlw /= 14.AND.mlw /= 24.AND.mlw<28)THEN
553 DO i=lft,llt
554 n = i + nft
555 DO il=1,nlay
556 DO is=1,npts
557 DO it=1,nptt
558 DO ir=1,nptr
559 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
560 evar_tmp(1) = lbuf%STRA(jj(1) + i)/npt
561 evar_tmp(2) = lbuf%STRA(jj(2) + i)/npt
562 evar_tmp(3) = lbuf%STRA(jj(3) + i)/npt
563 evar_tmp(4) = lbuf%STRA(jj(4) + i)*half/npt
564 evar_tmp(5) = lbuf%STRA(jj(5) + i)*half/npt
565 evar_tmp(6) = lbuf%STRA(jj(6) + i)*half/npt
566 icsig=iparg(17,ng)
567 IF (kcvt /= 0 .AND.icsig > 0) THEN
568
569 IF (jhbe == 14) THEN
570 SELECT CASE (icsig)
571 CASE (1)
572 IF(el2fa(nn2+n) /= 0)THEN
573 IF(kcvt==2)THEN
574 gama(1)= zero
575 gama(2)= lbuf%GAMA(jj(1) + i)
576 gama(3)= lbuf%GAMA(jj(2) + i)
577 gama(4)= zero
578 gama(5)=-gama(2)
579 gama(6)= gama(1)
580 ELSE
581 gama(1)=one
582 gama(2)=zero
583 gama(3)=zero
584 gama(4)=zero
585 gama(5)=one
586 gama(6)=zero
587 END IF
588 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
589 ENDIF
590 CASE (10)
591 IF(el2fa(nn2+n) /= 0)THEN
592 IF(kcvt==2)THEN
593 gama(1)= lbuf%GAMA(jj(1) + i)
594 gama(2)= lbuf%GAMA(jj(2) + i)
595 gama(3)= zero
596 gama(4)=-gama(2)
597 gama(5)= gama(1)
598 gama(6)= zero
599 ELSE
600 gama(1)=one
601 gama(2)=zero
602 gama(3)=zero
603 gama(4)=zero
604 gama(5)=one
605 gama(6)=zero
606 END IF
607 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
608 ENDIF
609 CASE (100)
610 IF(el2fa(nn2+n) /= 0)THEN
611 IF(kcvt==2)THEN
612 gama(1)= lbuf%GAMA(jj(2) + i)
613 gama(2)= zero
614 gama(3)= lbuf%GAMA(jj(1) + i)
615 gama(4)= gama(3)
616 gama(5)= zero
617 gama(6)=-gama(1)
618 ELSE
619 gama(1)=one
620 gama(2)=zero
621 gama(3)=zero
622 gama(4)=zero
623 gama(5)=one
624 gama(6)=zero
625 END IF
626 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
627 ENDIF
628 END SELECT
629 ENDIF
630 ENDIF
631 evar(1,i) = evar(1,i)+evar_tmp(1)
632 evar(2,i) = evar(2,i)+evar_tmp(2)
633 evar(3,i) = evar(3,i)+evar_tmp(3)
634 evar(4,i) = evar(4,i)+evar_tmp(4)
635 evar(5,i) = evar(5,i)+evar_tmp(5)
636 evar(6,i) = evar(6,i)+evar_tmp(6)
637 ENDDO
638 ENDDO
639 ENDDO
640 ENDDO
641 ENDDO
642 ELSE
643 DO i=lft,llt
644 evar(1,i) = zero
645 evar(2,i) = zero
646 evar(3,i) = zero
647 evar(4,i) = zero
648 evar(5,i) = zero
649 evar(6,i) = zero
650 ENDDO
651 ENDIF
652 ENDIF
653 icsig=iparg(17,ng)
654 IF (jhbe == 17) THEN
655 IF (mlw == 12 .OR. mlw == 14 .OR. mlw == 24 .OR. mlw == 25 .OR. (mlw >= 28 .AND. mlw /= 49)) THEN
656 IF (isorth > 0) kcvt = 2
657 ENDIF
658 ENDIF
659 IF (kcvt /= 0 .AND.icsig == 0 .AND. jhbe /= 16) THEN
660
661 DO i=lft,llt
662 n = i + nft
663 IF(el2fa(nn2+n) /= 0)THEN
664 IF(kcvt==2)THEN
665 gama(1)=gbuf%GAMA(jj(1) + i)
666 gama(2)=gbuf%GAMA(jj(2) + i)
667 gama(3)=gbuf%GAMA(jj(3) + i)
668 gama(4)=gbuf%GAMA(jj(4) + i)
669 gama(5)=gbuf%GAMA(jj(5) + i)
670 gama(6)=gbuf%GAMA(jj(6) + i)
671 ELSE
672 gama(1)=one
673 gama(2)=zero
674 gama(3)=zero
675 gama(4)=zero
676 gama(5)=one
677 gama(6)=zero
678 END IF
679 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
680 ENDIF
681 ENDDO
682 ENDIF
683
684 ELSEIF (isolnod==10 .OR. (isolnod==4 .AND. isrot==1)) THEN
685
686 IF (mlw>=28.AND.mlw /= 49)THEN
687 DO i=lft,llt
688 n = i + nft
689 DO ipt=1,npt
690 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
691 evar(1,i) = evar(1,i)+lbuf%STRA(jj(1) + i)/npt
692 evar(2,i) = evar(2,i)+lbuf%STRA(jj(2) + i)/npt
693 evar(3,i) = evar(3,i)+lbuf%STRA(jj(3) + i)/npt
694 evar(4,i) = evar(4,i)+lbuf%STRA(jj(4) + i)*half/npt
695 evar(5,i) = evar(5,i)+lbuf%STRA(jj(5) + i)*half/npt
696 evar(6,i) = evar(6,i)+lbuf%STRA(jj(6) + i)*half/npt
697 ENDDO
698 ENDDO
699 ELSEIF(mlw == 12 .OR. mlw == 14)THEN
700 DO i=lft,llt
701 n = i + nft
702 DO ipt=1,npt
703 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
704 evar(1,i) = evar(1,i) + lbuf%EPE(jj(1) + i)/npt
705 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)/npt
706 evar(3,i) = evar(3,i) + lbuf%EPE(jj(3) + i)/npt
707 ENDDO
708 ENDDO
709 ELSEIF ((mlw == 24 .OR. mlw == 25) .and. istrain > 0) THEN
710 DO i=lft,llt
711 n = i + nft
712 DO ipt=1,npt
713 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
714 evar(1,i) = evar(1,i)+lbuf%STRA(jj(1) + i)/npt
715 evar(2,i) = evar(2,i)+lbuf%STRA(jj(2) + i)/npt
716 evar(3,i) = evar(3,i)+lbuf%STRA(jj(3) + i)/npt
717 evar(4,i) = evar(4,i)+lbuf%STRA(jj(4) + i)*half/npt
718 evar(5,i) = evar(5,i)+lbuf%STRA(jj(5) + i)*half/npt
719 evar(6,i) = evar(6,i)+lbuf%STRA(jj(6) + i)*half/npt
720 ENDDO
721 ENDDO
722 ELSEIF(istrain > 0)THEN
723 IF (mlw /= 14.AND.mlw /= 24.AND.mlw<28) THEN
724 DO i=lft,llt
725 n = i + nft
726 DO ipt=1,npt
727 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
728 evar(1,i) = evar(1,i)+lbuf%STRA(jj(1) + i)/npt
729 evar(2,i) = evar(2,i)+lbuf%STRA(jj(2) + i)/npt
730 evar(3,i) = evar(3,i)+lbuf%STRA(jj(3) + i)/npt
731 evar(4,i) = evar(4,i)+lbuf%STRA(jj(4) + i)*half/npt
732 evar(5,i) = evar(5,i)+lbuf%STRA(jj(5) + i)*half/npt
733 evar(6,i) = evar(6,i)+lbuf%STRA(jj(6) + i)*half/npt
734 ENDDO
735 ENDDO
736 ELSE
737 DO i=lft,llt
738 evar(1,i) = zero
739 evar(2,i) = zero
740 evar(3,i) = zero
741 evar(4,i) = zero
742 evar(5,i) = zero
743 evar(6,i) = zero
744 ENDDO
745 ENDIF
746 ENDIF
747 IF (kcvt /= 0) THEN
748
749 DO i=lft,llt
750 n = i + nft
751 IF (el2fa(nn2+n) /= 0) THEN
752 IF (kcvt==2) THEN
753 gama(1)=gbuf%GAMA(jj(1) + i)
754 gama(2)=gbuf%GAMA(jj(2) + i)
755 gama(3)=gbuf%GAMA(jj(3) + i)
756 gama(4)=gbuf%GAMA(jj(4) + i)
757 gama(5)=gbuf%GAMA(jj(5) + i)
758 gama(6)=gbuf%GAMA(jj(6) + i)
759 ELSE
760 gama(1)=one
761 gama(2)=zero
762 gama(3)=zero
763 gama(4)=zero
764 gama(5)=one
765 gama(6)=zero
766 ENDIF
767 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
768 ENDIF
769 ENDDO
770 ENDIF
771
772 ELSEIF((isolnod == 6.OR.isolnod == 8).AND.jhbe == 15)THEN
773
774 IF (mlw>=28.AND.mlw /= 49.AND.istrain > 0) THEN
775 DO i=lft,llt
776 n = i + nft
777 DO il= 1,nlay
778 DO ipt=1,nptg
779 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ipt,1,1)
780 evar(1,i) = evar(1,i)+lbuf%STRA(jj(1) + i)/(nptg*nlay)
781 evar(2,i) = evar(2,i)+lbuf%STRA(jj(2) + i)/(nptg*nlay)
782 evar(3,i) = evar(3,i)+lbuf%STRA(jj(3) + i)/(nptg*nlay)
783 evar(4,i) = evar(4,i)+lbuf%STRA(jj(4) + i)*half/(nptg*nlay)
784 evar(5,i) = evar(5,i)+lbuf%STRA(jj(5) + i)*half/(nptg*nlay)
785 evar(6,i) = evar(6,i)+lbuf%STRA(jj(6) + i)*half/(nptg*nlay)
786 ENDDO
787 ENDDO
788 ENDDO
789 ELSEIF(mlw == 12 .OR. mlw == 14)THEN
790 DO i=lft,llt
791 DO il= 1,nlay
792 DO ipt=1,nptg
793 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ipt,1,1)
794 evar(1,i) = evar(1,i) + lbuf%EPE(jj(1) + i)/(nptg*nlay)
795 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)/(nptg*nlay)
796 evar(3,i) = evar(3,i) + lbuf%EPE(jj(3) + i)/(nptg*nlay)
797 ENDDO
798 ENDDO
799 ENDDO
800 ELSEIF ((mlw == 24 .OR. mlw == 25) .and. istrain > 0)THEN
801 DO i=lft,llt
802 n = i + nft
803 DO il= 1,nlay
804 DO ipt=1,nptg
805 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ipt,1,1)
806 evar(1,i) = evar(1,i)+lbuf%STRA(jj(1) + i)/(nptg*nlay)
807 evar(2,i) = evar(2,i)+lbuf%STRA(jj(2) + i)/(nptg*nlay)
808 evar(3,i) = evar(3,i)+lbuf%STRA(jj(3) + i)/(nptg*nlay)
809 evar(4,i) = evar(4,i)+lbuf%STRA(jj(4) + i)*half/(nptg*nlay)
810 evar(5,i) = evar(5,i)+lbuf%STRA(jj(5) + i)*half/(nptg*nlay)
811 evar(6,i) = evar(6,i)+lbuf%STRA(jj(6) + i)*half/(nptg*nlay)
812 ENDDO
813 ENDDO
814 ENDDO
815 ELSEIF (istrain > 0) THEN
816 IF(mlw /= 14.AND.mlw /= 24.AND.mlw<28) THEN
817 DO i=lft,llt
818 n = i + nft
819 DO il= 1,nlay
820 DO ipt=1,nptg
821 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ipt,1,1)
822 evar(1,i) = evar(1,i)+lbuf%STRA(jj(1) + i)/(nptg*nlay)
823 evar(2,i) = evar(2,i)+lbuf%STRA(jj(2) + i)/(nptg*nlay)
824 evar(3,i) = evar(3,i)+lbuf%STRA(jj(3) + i)/(nptg*nlay)
825 evar(4,i) = evar(4,i)+lbuf%STRA(jj(4) + i)*half/(nptg*nlay)
826 evar(5,i) = evar(5,i)+lbuf%STRA(jj(5) + i)*half/(nptg*nlay)
827 evar(6,i) = evar(6,i)+lbuf%STRA(jj(6) + i)*half/(nptg*nlay)
828 ENDDO
829 ENDDO
830 ENDDO
831 ELSE
832 DO i=lft,llt
833 evar(1,i) = zero
834 evar(2,i) = zero
835 evar(3,i) = zero
836 evar(4,i) = zero
837 evar(5,i) = zero
838 evar(6,i) = zero
839 ENDDO
840 ENDIF
841 ENDIF
842 IF (kcvt /= 0) THEN
843
844 DO i=lft,llt
845 n = i + nft
846 IF (el2fa(nn2+n) /= 0) THEN
847 IF (kcvt==2)THEN
848 gama(1)= gbuf%GAMA(jj(1) + i)
849 gama(2)= gbuf%GAMA(jj(2) + i)
850 gama(3)= zero
851 gama(4)=-gama(2)
852 gama(5)= gama(1)
853 gama(6)= zero
854 ELSE
855 gama(1)=one
856 gama(2)=zero
857 gama(3)=zero
858 gama(4)=zero
859 gama(5)=one
860 gama(6)=zero
861 END IF
862 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
863 ENDIF
864 ENDDO
865 ENDIF
866
867 ENDIF
868
869
870
871 ELSEIF (itens == 4 .AND. mlw == 24 .AND. nint(pm(56,mt1)) == 1) THEN
872
873 DO i=lft,llt
874 evar(1,i) = zero
875 evar(2,i) = zero
876 evar(3,i) = zero
877 evar(4,i) = zero
878 evar(5,i) = zero
879 evar(6,i) = zero
880 ENDDO
881
882 IF (isolnod == 8 .AND.(jhbe == 14 .OR. jhbe == 15)) THEN
883
884 ELSE
885 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
886 DO i=lft,llt
887 evar(1,i) = evar(1,i)+lbuf%DGLO(jj(1) + i)
888 evar(2,i) = evar(2,i)+lbuf%DGLO(jj(2) + i)
889 evar(3,i) = evar(3,i)+lbuf%DGLO(jj(3) + i)
890 evar(4,i) = evar(4,i)+lbuf%DGLO(jj(4) + i)
891 evar(5,i) = evar(5,i)+lbuf%DGLO(jj(5) + i)
892 evar(6,i) = evar(6,i)+lbuf%DGLO(jj(6) + i)
893 ENDDO
894 ENDIF
895 IF (kcvt /= 0) THEN
896
897 DO i=lft,llt
898 n = i + nft
899 IF(el2fa(nn2+n) /= 0)THEN
900 IF (kcvt==2) THEN
901 gama(1)= gbuf%GAMA(jj(1) + i)
902 gama(2)= gbuf%GAMA(jj(2) + i)
903 gama(3)= zero
904 gama(4)=-gama(2)
905 gama(5)= gama(1)
906 gama(6)= zero
907 ELSE
908 gama(1)=one
909 gama(2)=zero
910 gama(3)=zero
911 gama(4)=zero
912 gama(5)=one
913 gama(6)=zero
914 END IF
915 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
916 ENDIF
917 ENDDO
918 ENDIF
919
920 ELSEIF (itens == 5) THEN
921
922
923
924 DO i=lft,llt
925 evar(1,i) = zero
926 evar(2,i) = zero
927 evar(3,i) = zero
928 evar(4,i) = zero
929 evar(5,i) = zero
930 evar(6,i) = zero
931 ENDDO
932
933 IF ((isolnod == 8 .OR. (isolnod == 4 .AND. isrot == 0)) .AND. npt == 1 .AND. jhbe /= 14 .AND. jhbe /= 15) THEN
934
935 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
936 IF (isorth > 0) isorthg = 1
937 IF (mlw == 24) THEN
938 DO i=lft,llt
939 n = i + nft
940 evar(1,i) = lbuf%PLA(jj(1) + i + nel)
941 evar(2,i) = lbuf%PLA(jj(2) + i + nel)
942 evar(3,i) = lbuf%PLA(jj(3) + i + nel)
943 evar(4,i) = lbuf%PLA(jj(4) + i + nel)*half
944 evar(5,i) = lbuf%PLA(jj(5) + i + nel)*half
945 evar(6,i) = lbuf%PLA(jj(6) + i + nel)*half
946 ENDDO
947 ENDIF
948
949 IF (kcvt /= 0) THEN
950! plastic strain tensor in global system
951 DO i=lft,llt
952 n = i + nft
953 IF (el2fa(nn2+n) /= 0) THEN
954 IF (kcvt == 2) THEN
955 gama(1) = gbuf%GAMA(jj(1) + i)
956 gama(2) = gbuf%GAMA(jj(2) + i)
957 gama(3) = gbuf%GAMA(jj(3) + i)
958 gama(4) = gbuf%GAMA(jj(4) + i)
959 gama(5) = gbuf%GAMA(jj(5) + i)
960 gama(6) = gbuf%GAMA(jj(6) + i)
961 ELSE
962 gama(1) = one
963 gama(2) = zero
964 gama(3) = zero
965 gama(4) = zero
966 gama(5) = one
967 gama(6) = zero
968 ENDIF
969 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
970 ENDIF
971 ENDDO
972 ENDIF
973
974 ELSEIF (isolnod == 16 .OR. isolnod == 20 .OR. (isolnod == 8 .AND. (jhbe == 14 .OR. jhbe == 17))) THEN
975
976 IF (mlw == 24) THEN
977 DO i=lft,llt
978 n = i + nft
979 DO il=1,nlay
980 DO is=1,npts
981 DO it=1,nptt
982 DO ir=1,nptr
983 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ir,is,it)
984 IF (elbuf_tab(ng)%BUFLY(il)%L_PLA > 0) THEN
985
986 evar_tmp(1) = lbuf%PLA(jj(1) + i + nel)/npt
987 evar_tmp(2) = lbuf%PLA(jj(2) + i + nel)/npt
988 evar_tmp(3) = lbuf%PLA(jj(3) + i + nel)/npt
989 evar_tmp(4) = lbuf%PLA(jj(4) + i + nel)*half/npt
990 evar_tmp(5) = lbuf%PLA(jj(5) + i + nel)*half/npt
991 evar_tmp(6) = lbuf%PLA(jj(6) + i + nel)*half/npt
992
993 icsig=iparg(17,ng)
994 IF (kcvt /= 0 .AND.icsig > 0) THEN
995 IF (igtyp == 21) THEN
996
997 IF (jhbe == 14) THEN
998 SELECT CASE (icsig)
999 CASE (1)
1000 IF (el2fa(nn2+n) /= 0) THEN
1001 IF (kcvt == 2) THEN
1002 gama(1) = zero
1003 gama(2) = gbuf%GAMA(jj(1) + i)
1004 gama(3) = gbuf%GAMA(jj(2) + i)
1005 gama(4) = zero
1006 gama(5) =-gama(2)
1007 gama(6) = gama(1)
1008 ELSE
1009 gama(1) = one
1010 gama(2) = zero
1011 gama(3) = zero
1012 gama(4) = zero
1013 gama(5) = one
1014 gama(6) = zero
1015 ENDIF
1016 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
1017 ENDIF
1018 CASE (10)
1019 IF (el2fa(nn2+n) /= 0) THEN
1020 IF (kcvt == 2) THEN
1021 gama(1) = gbuf%GAMA(jj(1) + i)
1022 gama(2) = gbuf%GAMA(jj(2) + i)
1023 gama(3) = zero
1024 gama(4) =-gama(2)
1025 gama(5) = gama(1)
1026 gama(6) = zero
1027 ELSE
1028 gama(1) = one
1029 gama(2) = zero
1030 gama(3) = zero
1031 gama(4) = zero
1032 gama(5) = one
1033 gama(6) = zero
1034 ENDIF
1035 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
1036 ENDIF
1037 CASE (100)
1038 IF (el2fa(nn2+n) /= 0) THEN
1039 IF (kcvt == 2) THEN
1040 gama(1) = gbuf%GAMA(jj(2) + i)
1041 gama(2) = zero
1042 gama(3) = gbuf%GAMA(jj(1) + i)
1043 gama(4) = gama(3)
1044 gama(5) = zero
1045 gama(6) =-gama(1)
1046 ELSE
1047 gama(1) = one
1048 gama(2) = zero
1049 gama(3) = zero
1050 gama(4) = zero
1051 gama(5) = one
1052 gama(6) = zero
1053 ENDIF
1054 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth
1055 ENDIF
1056 END SELECT
1057 ENDIF
1058 ELSE
1059
1060 IF (jhbe == 14) THEN
1061 SELECT CASE (icsig)
1062 CASE (1)
1063 IF (el2fa(nn2+n) /= 0) THEN
1064 IF (kcvt == 2) THEN
1065 gama(1) = zero
1066 gama(2) = lbuf%GAMA(jj(1) + i)
1067 gama(3) = lbuf%GAMA(jj(2) + i)
1068 gama(4) = zero
1069 gama(5) =-gama(2)
1070 gama(6) = gama(1)
1071 ELSE
1072 gama(1) = one
1073 gama(2) = zero
1074 gama(3) = zero
1075 gama(4) = zero
1076 gama(5) = one
1077 gama(6) = zero
1078 ENDIF
1079 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
1080 ENDIF
1081 CASE (10)
1082 IF (el2fa(nn2+n) /= 0) THEN
1083 IF (kcvt == 2) THEN
1084 gama(1) = lbuf%GAMA(jj(1) + i)
1085 gama(2) = lbuf%GAMA(jj(2) + i)
1086 gama(3) = zero
1087 gama(4) =-gama(2)
1088 gama(5) = gama(1)
1089 gama(6) = zero
1090 ELSE
1091 gama(1) = one
1092 gama(2) = zero
1093 gama(3) = zero
1094 gama(4) = zero
1095 gama(5) = one
1096 gama(6) = zero
1097 ENDIF
1098 CALL srota6(x, ixs(1,n),kcvt, evar_tmp, gama, jhbe, igtyp, isorth)
1099 ENDIF
1100 CASE (100)
1101 IF (el2fa(nn2+n) /= 0) THEN
1102 IF (kcvt == 2) THEN
1103 gama(1) = lbuf%GAMA(jj(2) + i)
1104 gama(2) = zero
1105 gama(3) = lbuf%GAMA(jj(1) + i)
1106 gama(4) = gama(3)
1107 gama(5) = zero
1108 gama(6) =-gama(1)
1109 ELSE
1110 gama(1) = one
1111 gama(2) = zero
1112 gama(3) = zero
1113 gama(4) = zero
1114 gama(5) = one
1115 gama(6) = zero
1116 ENDIF
1117 CALL srota6(x, ixs(1,n),kcvt, evar_tmp,gama, jhbe, igtyp, isorth)
1118 ENDIF
1119 END SELECT
1120 ENDIF
1121 ENDIF
1122 ENDIF
1123 evar(1,i) = evar(1,i)+evar_tmp(1)
1124 evar(2,i) = evar(2,i)+evar_tmp(2)
1125 evar(3,i) = evar(3,i)+evar_tmp(3)
1126 evar(4,i) = evar(4,i)+evar_tmp(4)
1127 evar(5,i) = evar(5,i)+evar_tmp(5)
1128 evar(6,i) = evar(6,i)+evar_tmp(6)
1129 ENDIF
1130 ENDDO
1131 ENDDO
1132 ENDDO
1133 ENDDO
1134 ENDDO
1135 ENDIF
1136
1137 icsig = iparg(17,ng)
1138 IF (kcvt /= 0 .AND. icsig == 0 .AND. jhbe /= 16) THEN
1139
1140 DO i=lft,llt
1141 n = i + nft
1142 IF (el2fa(nn2+n) /= 0) THEN
1143 IF (kcvt == 2) THEN
1144 gama(1) = gbuf%GAMA(jj(1) + i)
1145 gama(2) = gbuf%GAMA(jj(2) + i)
1146 gama(3) = gbuf%GAMA(jj(3) + i)
1147 gama(4) = gbuf%GAMA(jj(4) + i)
1148 gama(5) = gbuf%GAMA(jj(5) + i)
1149 gama(6) = gbuf%GAMA(jj(6) + i)
1150 ELSE
1151 gama(1) = one
1152 gama(2) = zero
1153 gama(3) = zero
1154 gama(4) = zero
1155 gama(5) = one
1156 gama(6) = zero
1157 ENDIF
1158 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1159 ENDIF
1160 ENDDO
1161 ENDIF
1162
1163 ELSEIF (isolnod == 10 .OR. (isolnod == 4 .AND. isrot == 1)) THEN
1164
1165 IF (mlw == 24 .AND. istrain > 0) THEN
1166 DO i=lft,llt
1167 n = i + nft
1168 DO ipt=1,npt
1169 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1170 evar(1,i) = evar(1,i) + lbuf%PLA(jj(1) + i + nel)/npt
1171 evar(2,i) = evar(2,i) + lbuf%PLA(jj(2) + i + nel)/npt
1172 evar(3,i) = evar(3,i) + lbuf%PLA(jj(3) + i + nel)/npt
1173 evar(4,i) = evar(4,i) + lbuf%PLA(jj(4) + i + nel)*half/npt
1174 evar(5,i) = evar(5,i) + lbuf%PLA(jj(5) + i + nel)*half/npt
1175 evar(6,i) = evar(6,i) + lbuf%PLA(jj(6) + i + nel)*half/npt
1176 ENDDO
1177 ENDDO
1178 ENDIF
1179
1180 IF (kcvt /= 0) THEN
1181
1182 DO i=lft,llt
1183 n = i + nft
1184 IF (el2fa(nn2+n) /= 0) THEN
1185 IF (kcvt == 2) THEN
1186 gama(1) = gbuf%GAMA(jj(1) + i)
1187 gama(2) = gbuf%GAMA(jj(2) + i)
1188 gama(3) = gbuf%GAMA(jj(3) + i)
1189 gama(4) = gbuf%GAMA(jj(4) + i)
1190 gama(5) = gbuf%GAMA(jj(5) + i)
1191 gama(6) = gbuf%GAMA(jj(6) + i)
1192 ELSE
1193 gama(1) = one
1194 gama(2) = zero
1195 gama(3) = zero
1196 gama(4) = zero
1197 gama(5) = one
1198 gama(6) = zero
1199 ENDIF
1200 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1201 ENDIF
1202 ENDDO
1203 ENDIF
1204
1205 ELSEIF ((isolnod == 6 .OR. isolnod == 8) .AND. jhbe == 15) THEN
1206
1207 IF (mlw == 24 .AND. istrain > 0) THEN
1208 DO i=lft,llt
1209 n = i + nft
1210 DO il= 1,nlay
1211 DO ipt=1,nptg
1212 lbuf => elbuf_tab(ng)%BUFLY(il)%LBUF(ipt,1,1)
1213 evar(1,i) = evar(1,i)+lbuf%PLA(jj(1) + i + nel)/(nptg*nlay)
1214 evar(2,i) = evar(2,i)+lbuf%PLA(jj(2) + i + nel)/(nptg*nlay)
1215 evar(3,i) = evar(3,i)+lbuf%PLA(jj(3) + i + nel)/(nptg*nlay)
1216 evar(4,i) = evar(4,i)+lbuf%PLA(jj(4) + i + nel)*half/(nptg*nlay)
1217 evar(5,i) = evar(5,i)+lbuf%PLA(jj(5) + i + nel)*half/(nptg*nlay)
1218 evar(6,i) = evar(6,i)+lbuf%PLA(jj(6) + i + nel)*half/(nptg*nlay)
1219 ENDDO
1220 ENDDO
1221 ENDDO
1222 ENDIF
1223
1224 IF (kcvt /= 0) THEN
1225
1226 DO i=lft,llt
1227 n = i + nft
1228 IF (el2fa(nn2+n) /= 0) THEN
1229 IF (kcvt == 2) THEN
1230 gama(1) = gbuf%GAMA(jj(1) + i)
1231 gama(2) = gbuf%GAMA(jj(2) + i)
1232 gama(3) = zero
1233 gama(4) =-gama(2)
1234 gama(5) = gama(1)
1235 gama(6) = zero
1236 ELSE
1237 gama(1) = one
1238 gama(2) = zero
1239 gama(3) = zero
1240 gama(4) = zero
1241 gama(5) = one
1242 gama(6) = zero
1243 ENDIF
1244 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1245 ENDIF
1246 ENDDO
1247 ENDIF
1248
1249 ENDIF
1250
1251
1252
1253
1254
1255 ELSEIF (itens>=10.AND.itens<=1009)THEN
1256 pti = itens - 10
1257
1258 IF (isolnod == 8 .AND. igtyp == 43) THEN
1259
1260 IF(ivisc == 0) THEN
1261 DO i=lft,llt
1262 DO ipt= 1,nptr
1263 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1264 evar(3,i) = evar(3,i) + lbuf%SIG(jj(3) + i)/nptr
1265 evar(2,i) = evar(2,i) + lbuf%SIG(jj(5) + i)/nptr
1266 evar(1,i) = evar(1,i) + lbuf%SIG(jj(6) + i)/nptr
1267 ENDDO
1268 ENDDO
1269 ELSE
1270 DO i=lft,llt
1271 DO ipt= 1,nptr
1272 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1273 evar(3,i)= evar(3,i)+ lbuf%SIG(jj(3) + i)/nptr+ lbuf%VISC(jj(3) + i)/nptr
1274 evar(2,i)= evar(2,i)+ lbuf%SIG(jj(5) + i)/nptr+ lbuf%VISC
1275 evar(1,i)= evar(1,i)+ lbuf%SIG(jj(6) + i)/nptr+ lbuf%VISC(jj(6) + i)/nptr
1276 ENDDO
1277 ENDDO
1278 ENDIF
1279 DO i=lft,llt
1280 n = i + nft
1281 IF(el2fa(nn2+n) /= 0)THEN
1282 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth
1283 ENDIF
1284 ENDDO
1285
1286 ELSEIF (isolnod == 8 .AND. npt == 8.AND. jhbe /= 14 .AND. jhbe /= 24 .AND. jhbe /= 15) THEN
1287
1288 ir = abs(pti)/100
1289 is = mod(abs(pti)/10,10)
1290 it = mod(abs(pti),10)
1291 IF (ir == 0 .AND. it == 0)THEN
1292
1293 ELSEIF(ir <= nptr .AND. is <= npts .AND. it <= nptt)THEN
1294 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1295 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
1296 IF (ipt <= 8 )THEN
1297 DO i=lft,llt
1298 evar(1,i) = lbuf%SIG(jj(1) + i)
1299 evar(2,i) = lbuf%SIG(jj(2) + i)
1300 evar(3,i) = lbuf%SIG(jj(3) + i)
1301 evar(4,i) = lbuf%SIG(jj(4) + i)
1302 evar(5,i) = lbuf%SIG(jj(5) + i)
1303 evar(6,i) = lbuf%SIG(jj(6) + i)
1304 ENDDO
1305 IF(ivisc > 0) THEN
1306 DO i=lft,llt
1307 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1308 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1309 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1310 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1311 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1312 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1313 ENDDO
1314 ENDIF
1315 ENDIF
1316 IF (kcvt /= 0) THEN
1317
1318 DO i=lft,llt
1319 n = i + nft
1320 IF(el2fa(nn2+n) /= 0)THEN
1321 IF(kcvt==2)THEN
1322 gama(1)= gbuf%GAMA(jj(1) + i)
1323 gama(2)= gbuf%GAMA(jj(2) + i)
1324 gama(3)= gbuf%GAMA(jj(3) + i)
1325 gama(4)= gbuf%GAMA(jj(4) + i)
1326 gama(5)= gbuf%GAMA(jj(5) + i)
1327 gama(6)= gbuf%GAMA(jj(6) + i)
1328 ELSE
1329 gama(1)=one
1330 gama(2)=zero
1331 gama(3)=zero
1332 gama(4)=zero
1333 gama(5)=one
1334 gama(6)=zero
1335 END IF
1336 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp
1337 ENDIF
1338 ENDDO
1339 ENDIF
1340 ELSE
1341 DO i=lft,llt
1342 evar(1,i) = zero
1343 evar(2,i) = zero
1344 evar(3,i) = zero
1345 evar(4,i) = zero
1346 evar(5,i) = zero
1347 evar(6,i) = zero
1348 ENDDO
1349 ENDIF
1350
1351 ELSEIF((isolnod == 8.OR.npt == 1) .AND. jhbe /= 14.AND.jhbe /= 15.AND.jhbe /= 17)THEN
1352
1353 nptr= one
1354 npts= one
1355 nptt= one
1356 ir = abs(pti)/100
1357 is = mod(abs(pti)/10,10)
1358 it = mod(abs(pti),10)
1359 IF (ir == 0 .AND. it == 0)THEN
1360 ELSE
1361 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1362 IF (ipt == 1 )THEN
1363 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
1364 DO i=lft,llt
1365 evar(1,i) = lbuf%SIG(jj(1) + i)
1366 evar(2,i) = lbuf%SIG(jj(2) + i)
1367 evar(3,i) = lbuf%SIG(jj(3) + i)
1368 evar(4,i) = lbuf%SIG(jj(4) + i)
1369 evar(5,i) = lbuf%SIG(jj(5) + i)
1370 evar(6,i) = lbuf%SIG(jj(6) + i)
1371 ENDDO
1372 IF(ivisc > 0) THEN
1373 DO i=lft,llt
1374 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1375 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1376 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1377 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1378 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1379 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1380 ENDDO
1381 ENDIF
1382 ENDIF
1383 IF (kcvt /= 0) THEN
1384
1385 DO i=lft,llt
1386 n = i + nft
1387 IF(el2fa(nn2+n) /= 0)THEN
1388 IF(kcvt==2)THEN
1389 gama(1)=gbuf%GAMA(jj(1) + i)
1390 gama(2)=gbuf%GAMA(jj(2) + i)
1391 gama(3)=gbuf%GAMA(jj(3) + i)
1392 gama(4)=gbuf%GAMA(jj(4) + i)
1393 gama(5)=gbuf%GAMA(jj(5) + i)
1394 gama(6)=gbuf%GAMA(jj(6) + i)
1395 ELSE
1396 gama(1)=one
1397 gama(2)=zero
1398 gama(3)=zero
1399 gama(4)=zero
1400 gama(5)=one
1401 gama(6)=zero
1402 END IF
1403 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1404 ENDIF
1405 ENDDO
1406 ENDIF
1407 ENDIF
1408
1409 ELSEIF (isolnod == 20 .OR. isolnod == 16 ) THEN
1410
1411 ir=abs(pti)/100
1412 is=mod(abs(pti)/10,10)
1413 it=mod(abs(pti),10)
1414 IF (ir == 0 .OR. is == 0.OR. it == 0) cycle
1415 IF (tshell == 1 .AND. is <= nlay ) THEN
1416 lbuf => elbuf_tab(ng)%BUFLY(is)%LBUF(ir,1,it)
1417 iok = 1
1418 ELSEIF(ir <= nptr .AND. is <= npts .AND. it <= nptt) THEN
1419 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
1420 iok = 1
1421 ENDIF
1422 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1423 IF (iok==1) THEN
1424 DO i=lft,llt
1425 evar(1,i) = lbuf%SIG(jj(1) + i)
1426 evar(2,i) = lbuf%SIG(jj(2) + i)
1427 evar(3,i) = lbuf%SIG(jj(3) + i)
1428 evar(4,i) = lbuf%SIG(jj(4) + i)
1429 evar(5,i) = lbuf%SIG(jj(5) + i)
1430 evar(6,i) = lbuf%SIG(jj(6) + i)
1431 ENDDO
1432 IF(ivisc > 0) THEN
1433 DO i=lft,llt
1434 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1435 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1436 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1437 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1438 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1439 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1440 ENDDO
1441 ENDIF
1442 ENDIF
1443 IF (kcvt /= 0 .AND. jhbe /= 16) THEN
1444
1445 DO i=lft,llt
1446 n = i + nft
1447 IF(el2fa(nn2+n) /= 0)THEN
1448 IF(kcvt==2)THEN
1449 gama(1)=gbuf%GAMA(jj(1) + i)
1450 gama(2)=gbuf%GAMA(jj(2) + i)
1451 gama(3)=gbuf%GAMA(jj(3) + i)
1452 gama(4)=gbuf%GAMA(jj(4) + i)
1453 gama(5)=gbuf%GAMA(jj(5) + i)
1454 gama(6)=gbuf%GAMA(jj(6) + i)
1455 ELSE
1456 gama(1)=one
1457 gama(2)=zero
1458 gama(3)=zero
1459 gama(4)=zero
1460 gama(5)=one
1461 gama(6)=zero
1462 END IF
1463 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1464 ENDIF
1465 ENDDO
1466 ENDIF
1467
1468 ELSEIF (isolnod == 8 .AND. jhbe == 14 )THEN
1469
1470 icsig = iparg(17,ng)
1471 nptg = nptr * npts * nptt * nlay
1472 ir0=abs(pti)/100
1473 is0=mod(abs(pti)/10,10)
1474 it0=mod(abs(pti),10)
1475 ipid = ixs(10,1 + nft)
1476 IF (ir0==0.OR.is0==0.OR.it0==0) cycle
1477 ir = ir0
1478 is = is0
1479 it = it0
1480 IF (tshell == 1) THEN
1481 IF (icsig==100) THEN
1482 ir = is0
1483 is = it0
1484 it = ir0
1485 ELSEIF (icsig==10) THEN
1486 ir = it0
1487 is = ir0
1488 it = is0
1489 ELSE
1490 ir = ir0
1491 is = is0
1492 it = it0
1493 END IF
1494 ENDIF
1495
1496 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1497 iok = 0
1498 IF (tshell == 1 .AND. it <= nlay ) THEN
1499 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
1500 iok = 1
1501 ELSEIF(ir0 <= nptr .AND. is0 <= npts .AND. it0 <= nptt) THEN
1502 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
1503 iok = 1
1504 ENDIF
1505 IF ( iok == 1) THEN
1506 DO i=lft,llt
1507 evar(1,i) = lbuf%SIG(jj(1) + i)
1508 evar(2,i) = lbuf%SIG(jj(2) + i)
1509 evar(3,i) = lbuf%SIG(jj(3) + i)
1510 evar(4,i) = lbuf%SIG(jj(4) + i)
1511 evar(5,i) = lbuf%SIG(jj(5) + i)
1512 evar(6,i) = lbuf%SIG(jj(6) + i)
1513 ENDDO
1514 IF(ivisc > 0) THEN
1515 DO i=lft,llt
1516 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1517 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1518 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1519 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1520 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1521 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1522 ENDDO
1523 ENDIF
1524 ENDIF
1525 IF (kcvt /= 0) THEN
1526
1527
1528 IF (icsig >0) THEN
1529 IF (igtyp == 21) THEN
1530 SELECT CASE (icsig)
1531 CASE (1)
1532 DO i=lft,llt
1533 n = i + nft
1534 IF(el2fa(nn2+n) /= 0)THEN
1535 IF(kcvt==2)THEN
1536 gama(1)=zero
1537 gama(2)=gbuf%GAMA(jj(1) + i)
1538 gama(3)=gbuf%GAMA(jj(2) + i)
1539 gama(4)=zero
1540 gama(5)=-gama(2)
1541 gama(6)=gama(1)
1542 ELSE
1543 gama(1)=one
1544 gama(2)=zero
1545 gama(3)=zero
1546 gama(4)=zero
1547 gama(5)=one
1548 gama(6)=zero
1549 END IF
1550 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1551 ENDIF
1552 ENDDO
1553 CASE (10)
1554 DO i=lft,llt
1555 n = i + nft
1556 IF(el2fa(nn2+n) /= 0)THEN
1557 IF(kcvt==2)THEN
1558 gama(1)=gbuf%GAMA(jj(1) + i)
1559 gama(2)=gbuf%GAMA(jj(2) + i)
1560 gama(3)=zero
1561 gama(4)=-gama(2)
1562 gama(5)=gama(1)
1563 gama(6)=zero
1564 ELSE
1565 gama(1)=one
1566 gama(2)=zero
1567 gama(3)=zero
1568 gama(4)=zero
1569 gama(5)=one
1570 gama(6)=zero
1571 END IF
1572 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1573 ENDIF
1574 ENDDO
1575 CASE (100)
1576 DO i=lft,llt
1577 n = i + nft
1578 IF(el2fa(nn2+n) /= 0)THEN
1579 IF(kcvt==2)THEN
1580 gama(1)=gbuf%GAMA(jj(2) + i)
1581 gama(2)=zero
1582 gama(3)=gbuf%GAMA(jj(1) + i)
1583 gama(4)=gama(3)
1584 gama(5)=zero
1585 gama(6)=-gama(1)
1586 ELSE
1587 gama(1)=one
1588 gama(2)=zero
1589 gama(3)=zero
1590 gama(4)=zero
1591 gama(5)=one
1592 gama(6)=zero
1593 END IF
1594 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1595 ENDIF
1596 ENDDO
1597 END SELECT
1598 ELSE
1599 SELECT CASE (icsig)
1600 CASE (1)
1601 DO i=lft,llt
1602 n = i + nft
1603 IF(el2fa(nn2+n) /= 0)THEN
1604 IF(kcvt==2)THEN
1605 gama(1)=zero
1606 gama(2)=lbuf%GAMA(jj(1) + i)
1607 gama(3)=lbuf%GAMA(jj(2) + i)
1608 gama(4)=zero
1609 gama(5)=-gama(2)
1610 gama(6)=gama(1)
1611 ELSE
1612 gama(1)=one
1613 gama(2)=zero
1614 gama(3)=zero
1615 gama(4)=zero
1616 gama(5)=one
1617 gama(6)=zero
1618 END IF
1619 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1620 ENDIF
1621 ENDDO
1622 CASE (10)
1623 DO i=lft,llt
1624 n = i + nft
1625 IF(el2fa(nn2+n) /= 0)THEN
1626 IF(kcvt==2)THEN
1627 gama(1)=lbuf%GAMA(jj(1) + i)
1628 gama(2)=lbuf%GAMA(jj(2) + i)
1629 gama(3)=zero
1630 gama(4)=-gama(2)
1631 gama(5)=gama(1)
1632 gama(6)=zero
1633 ELSE
1634 gama(1)=one
1635 gama(2)=zero
1636 gama(3)=zero
1637 gama(4)=zero
1638 gama(5)=one
1639 gama(6)=zero
1640 END IF
1641 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1642 ENDIF
1643 ENDDO
1644 CASE (100)
1645 DO i=lft,llt
1646 n = i + nft
1647 IF(el2fa(nn2+n) /= 0)THEN
1648 IF(kcvt==2)THEN
1649 gama(1)=lbuf%GAMA(jj(2) + i)
1650 gama(2)=zero
1651 gama(3)=lbuf%GAMA(jj(1) + i)
1652 gama(4)=gama(3)
1653 gama(5)=zero
1654 gama(6)=-gama(1)
1655 ELSE
1656 gama(1)=one
1657 gama(2)=zero
1658 gama(3)=zero
1659 gama(4)=zero
1660 gama(5)=one
1661 gama(6)=zero
1662 END IF
1663 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1664 ENDIF
1665 ENDDO
1666 END SELECT
1667 ENDIF
1668 ELSE
1669 DO i=lft,llt
1670 n = i + nft
1671 IF(el2fa(nn2+n) /= 0)THEN
1672 IF(kcvt==2)THEN
1673 gama(1)=gbuf%GAMA(jj(1) + i)
1674 gama(2)=gbuf%GAMA(jj(2) + i)
1675 gama(3)=gbuf%GAMA(jj(3) + i)
1676 gama(4)=gbuf%GAMA(jj(4) + i)
1677 gama(5)=gbuf%GAMA(jj(5) + i)
1678 gama(6)=gbuf%GAMA(jj(6) + i)
1679 ELSE
1680 gama(1)=one
1681 gama(2)=zero
1682 gama(3)=zero
1683 gama(4)=zero
1684 gama(5)=one
1685 gama(6)=zero
1686 END IF
1687 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1688 ENDIF
1689 ENDDO
1690 ENDIF
1691 ENDIF
1692
1693 ELSEIF(isolnod == 10.OR.(isolnod == 4 .AND. isrot == 1))THEN
1694
1695 ir=abs(pti)/100
1696 is=mod(abs(pti)/10,10)
1697 it=mod(abs(pti),10)
1698 IF (ir == 0 .AND. it == 0)THEN
1699 ELSE
1700 ipt = 0
1701 IF (ir == 1 .AND. is == 1 .AND. it == 1) ipt = 1
1702 IF (ir == 2 .AND. is == 1 .AND. it == 1) ipt = 2
1703 IF (ir == 1 .AND. is == 2 .AND. it == 1) ipt = 3
1704 IF (ir == 1 .AND. is == 1 .AND. it == 2) ipt = 4
1705 IF (ipt > 0) THEN
1706 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
1707 DO i=lft,llt
1708 evar(1,i) = lbuf%SIG(jj(1) + i)
1709 evar(2,i) = lbuf%SIG(jj(2) + i)
1710 evar(3,i) = lbuf%SIG(jj(3) + i)
1711 evar(4,i) = lbuf%SIG(jj(4) + i)
1712 evar(5,i) = lbuf%SIG(jj(5) + i)
1713 evar(6,i) = lbuf%SIG(jj(6) + i)
1714 ENDDO
1715 IF(ivisc > 0) THEN
1716 DO i=lft,llt
1717 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1718 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1719 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1720 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1721 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1722 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1723 ENDDO
1724 ENDIF
1725 ENDIF
1726 IF (kcvt /= 0) THEN
1727
1728 DO i=lft,llt
1729 n = i + nft
1730 IF(el2fa(nn2+n) /= 0)THEN
1731 IF(kcvt==2)THEN
1732 gama(1)=gbuf%GAMA(jj(1) + i)
1733 gama(2)=gbuf%GAMA(jj(2) + i)
1734 gama(3)=gbuf%GAMA(jj(3) + i)
1735 gama(4)=gbuf%GAMA(jj(4) + i)
1736 gama(5)=gbuf%GAMA(jj(5) + i)
1737 gama(6)=gbuf%GAMA(jj(6) + i)
1738 ELSE
1739 gama(1)=one
1740 gama(2)=zero
1741 gama(3)=zero
1742 gama(4)=zero
1743 gama(5)=one
1744 gama(6)=zero
1745 END IF
1746 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1747 ENDIF
1748 ENDDO
1749 ENDIF
1750 ENDIF
1751
1752 ELSEIF ((isolnod == 6 .OR. isolnod == 8).AND.jhbe == 15) THEN
1753 ipt = mod(abs(pti)/10,10)
1754 IF ( ipt > 0 .AND. ipt<=nlay) THEN
1755
1756 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(1,1,1)
1757 DO i=lft,llt
1758 evar(1,i) = lbuf%SIG(jj(1) + i)
1759 evar(2,i) = lbuf%SIG(jj(2) + i)
1760 evar(3,i) = lbuf%SIG(jj(3) + i)
1761 evar(4,i) = lbuf%SIG(jj(4) + i)
1762 evar(5,i) = lbuf%SIG(jj(5) + i)
1763 evar(6,i) = lbuf%SIG(jj(6) + i)
1764 ENDDO
1765 IF(ivisc > 0) THEN
1766 DO i=lft,llt
1767 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1768 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1769 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1770 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1771 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1772 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1773 ENDDO
1774 ENDIF
1775 IF (kcvt==2) THEN
1776
1777 DO i=lft,llt
1778 n = i + nft
1779 IF(el2fa(nn2+n) /= 0)THEN
1780 gama(1)= gbuf%GAMA(jj(1) + i)
1781 gama(2)= gbuf%GAMA(jj(2) + i)
1782 gama(3)= zero
1783 gama(4)=-gama(2)
1784 gama(5)= gama(1)
1785 gama(6)= zero
1786 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1787 ENDIF
1788 ENDDO
1789 ENDIF
1790 ENDIF
1791 ENDIF
1792
1793 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 ) THEN
1794 DO i=lft,llt
1795 evar(1,i) = evar(1,i) * gbuf%FILL(i)
1796 evar(2,i) = evar(2,i) * gbuf%FILL(i)
1797 evar(3,i) = evar(3,i) * gbuf%FILL(i)
1798 evar(4,i) = evar(4,i) * gbuf%FILL(i)
1799 evar(5,i) = evar(5,i) * gbuf%FILL(i)
1800 evar(6,i) = evar(6,i) * gbuf%FILL(i)
1801 ENDDO
1802 ENDIF
1803
1804! stress tensor / integration point more than 9 point in direction s
1805 ELSEIF(itens>=2010.AND.itens<=22109) THEN
1806
1807 pti = itens - 2010
1808 IF ((isolnod == 6 .OR. isolnod == 8).AND.jhbe == 15) THEN
1809 ipt = mod(abs(pti)/10,201)
1810 IF ( ipt > 0 .AND. ipt<=nlay .AND.nlay>9) THEN
1811
1812 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(1,1,1)
1813 DO i=lft,llt
1814 evar(1,i) = lbuf%SIG(jj(1) + i)
1815 evar(2,i) = lbuf%SIG(jj(2) + i)
1816 evar(3,i) = lbuf%SIG(jj(3) + i)
1817 evar(4,i) = lbuf%SIG(jj(4) + i)
1818 evar(5,i) = lbuf%SIG(jj(5) + i)
1819 evar(6,i) = lbuf%SIG(jj(6) + i)
1820 ENDDO
1821 IF(ivisc > 0) THEN
1822 DO i=lft,llt
1823 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1824 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1825 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1826 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1827 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1828 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1829 ENDDO
1830 ENDIF
1831 IF (kcvt==2) THEN
1832
1833 DO i=lft,llt
1834 n = i + nft
1835 IF(el2fa(nn2+n) /= 0)THEN
1836 gama(1)= lbuf%GAMA(jj(1) + i)
1837 gama(2)= lbuf%GAMA(jj(2) + i)
1838 gama(3)= zero
1839 gama(4)=-gama(2)
1840 gama(5)= gama(1)
1841 gama(6)= zero
1842 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1843 ENDIF
1844 ENDDO
1845 ENDIF
1846 ENDIF
1847
1848 ELSEIF (isolnod == 16.OR.(isolnod == 8 .AND.jhbe == 14)) THEN
1849
1850 icsig = iparg(17,ng)
1851 ir0=abs(pti)/2010
1852 is0=mod(abs(pti)/10,201)
1853 it0=mod(abs(pti),10)
1854 IF (ir0==0.OR.is0==0.OR.it0==0.OR.nlay<10) cycle
1855 ir = ir0
1856 is = is0
1857 it = it0
1858 IF (tshell == 1) THEN
1859 IF (icsig==100) THEN
1860 ir = is0
1861 is = it0
1862 it = ir0
1863 ELSEIF (icsig==10) THEN
1864 ir = it0
1865 is = ir0
1866 it = is0
1867 ELSE
1868 ir = ir0
1869 is = is0
1870 it = it0
1871 END IF
1872 ENDIF
1873 IF (ir>nptr.OR.is>npts.OR.it>nlay) cycle
1874 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1875 IF ( ipt <= npt ) THEN
1876 IF (tshell == 1) THEN
1877 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
1878 ELSE
1879 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
1880 ENDIF
1881 DO i=lft,llt
1882 evar(1,i) = lbuf%SIG(jj(1) + i)
1883 evar(2,i) = lbuf%SIG(jj(2) + i)
1884 evar(3,i) = lbuf%SIG(jj(3) + i)
1885 evar(4,i) = lbuf%SIG(jj(4) + i)
1886 evar(5,i) = lbuf%SIG(jj(5) + i)
1887 evar(6,i) = lbuf%SIG(jj(6) + i)
1888 ENDDO
1889 IF(ivisc > 0) THEN
1890 DO i=lft,llt
1891 evar(1,i) =evar(1,i)+lbuf%VISC(jj(1) + i)
1892 evar(2,i) =evar(2,i)+lbuf%VISC(jj(2) + i)
1893 evar(3,i) =evar(3,i)+lbuf%VISC(jj(3) + i)
1894 evar(4,i) =evar(4,i)+lbuf%VISC(jj(4) + i)
1895 evar(5,i) =evar(5,i)+lbuf%VISC(jj(5) + i)
1896 evar(6,i) =evar(6,i)+lbuf%VISC(jj(6) + i)
1897 ENDDO
1898 ENDIF
1899 ENDIF
1900 IF (kcvt /= 0 .AND. jhbe /= 16) THEN
1901
1902
1903 SELECT CASE (icsig)
1904 CASE (1)
1905 DO i=lft,llt
1906 n = i + nft
1907 IF(el2fa(nn2+n) /= 0)THEN
1908 IF(kcvt==2)THEN
1909 gama(1)=zero
1910 gama(2)=lbuf%GAMA(jj(1) + i)
1911 gama(3)=lbuf%GAMA(jj(2) + i)
1912 gama(4)=zero
1913 gama(5)=-gama(2)
1914 gama(6)=gama(1)
1915 ELSE
1916 gama(1)=one
1917 gama(2)=zero
1918 gama(3)=zero
1919 gama(4)=zero
1920 gama(5)=one
1921 gama(6)=zero
1922 END IF
1923 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1924 ENDIF
1925 ENDDO
1926 CASE (10)
1927 DO i=lft,llt
1928 n = i + nft
1929 IF(el2fa(nn2+n) /= 0)THEN
1930 IF(kcvt==2)THEN
1931 gama(1)=lbuf%GAMA(jj(1) + i)
1932 gama(2)=lbuf%GAMA(jj(2) + i)
1933 gama(3)=zero
1934 gama(4)=-gama(2)
1935 gama(5)=gama(1)
1936 gama(6)=zero
1937 ELSE
1938 gama(1)=one
1939 gama(2)=zero
1940 gama(3)=zero
1941 gama(4)=zero
1942 gama(5)=one
1943 gama(6)=zero
1944 END IF
1945 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1946 ENDIF
1947 ENDDO
1948 CASE (100)
1949 DO i=lft,llt
1950 n = i + nft
1951 IF(el2fa(nn2+n) /= 0)THEN
1952 IF(kcvt==2)THEN
1953 gama(1)=lbuf%GAMA(jj(2) + i)
1954 gama(2)=zero
1955 gama(3)=lbuf%GAMA(jj(1) + i)
1956 gama(4)=gama(3)
1957 gama(5)=zero
1958 gama(6)=-gama(1)
1959 ELSE
1960 gama(1)=one
1961 gama(2)=zero
1962 gama(3)=zero
1963 gama(4)=zero
1964 gama(5)=one
1965 gama(6)=zero
1966 END IF
1967 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
1968 ENDIF
1969 ENDDO
1970 END SELECT
1971 END IF
1972
1973 ENDIF
1974
1975 IF( nfilsol /= 0 .AND. gbuf%G_FILL /= 0 ) THEN
1976 DO i=lft,llt
1977 evar(1,i) = evar(1,i) * gbuf%FILL(i)
1978 evar(2,i) = evar(2,i) * gbuf%FILL(i)
1979 evar(3,i) = evar(3,i) * gbuf%FILL(i)
1980 evar(4,i) = evar(4,i) * gbuf%FILL(i)
1981 evar(5,i) = evar(5,i) * gbuf%FILL(i)
1982 evar(6,i) = evar(6,i) * gbuf%FILL(i)
1983 ENDDO
1984 ENDIF
1985
1986
1987 ELSEIF (itens>=1010.AND.itens<=2009) THEN
1988
1989 pti = itens - 1010
1990 IF (isolnod == 8.AND.npt == 8 .AND. jhbe /= 14 .AND. jhbe /= 24 .AND. jhbe /= 15 .AND. jhbe /= 17) THEN
1991 ir=abs(pti)/100
1992 is=mod(abs(pti)/10,10)
1993 it=mod(abs(pti),10)
1994 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
1995 IF (ipt <= 8) THEN
1996 IF(ir <= nptr .AND. is <= npts .AND. it <= nptt)THEN
1997 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
1998 IF (mlw >= 28) THEN
1999 DO i=lft,llt
2000 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)
2001 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)
2002 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)
2003 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)
2004 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)
2005 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)
2006 ENDDO
2007 ENDIF
2008 ELSE
2009 DO i=lft,llt
2010 evar(1,i) = zero
2011 evar(2,i) = zero
2012 evar(3,i) = zero
2013 evar(4,i) = zero
2014 evar(5,i) = zero
2015 evar(6,i) = zero
2016 ENDDO
2017 ENDIF
2018 ENDIF
2019 IF (kcvt /= 0) THEN
2020
2021 DO i=lft,llt
2022 n = i + nft
2023 IF(el2fa(nn2+n) /= 0)THEN
2024 IF(kcvt==2)THEN
2025 gama(1)=gbuf%GAMA(jj(1) + i)
2026 gama(2)=gbuf%GAMA(jj(2) + i)
2027 gama(3)=gbuf%GAMA(jj(3) + i)
2028 gama(4)=gbuf%GAMA(jj(4) + i)
2029 gama(5)=gbuf%GAMA(jj(5) + i)
2030 gama(6)=gbuf%GAMA(jj(6) + i)
2031 ELSE
2032 gama(1)=one
2033 gama(2)=zero
2034 gama(3)=zero
2035 gama(4)=zero
2036 gama(5)=one
2037 gama(6)=zero
2038 END IF
2039 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2040 ENDIF
2041 ENDDO
2042 ENDIF
2043
2044 ELSEIF ((isolnod == 8 .OR. npt == 1 .OR. (isolnod == 4 .AND. isrot == 0)) .AND.
2045 . jhbe /= 14 .AND. jhbe /= 15 .AND. jhbe /= 17) THEN
2046
2047 ir=abs(pti)/100
2048 is=mod(abs(pti)/10,10)
2049 it=mod(abs(pti),10)
2050 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
2051 IF (ipt == 1 ) THEN
2052 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
2053 IF (mlw>=28.AND.mlw /= 49 .OR. mlw == 24) THEN
2054 DO i=lft,llt
2055 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)
2056 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)
2057 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)
2058 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)*half
2059 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)*half
2060 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)*half
2061 END DO
2062 ELSEIF(mlw == 12 .OR. mlw == 14) THEN
2063 DO i=lft,llt
2064 evar(1,i) = evar(1,i) + lbuf%EPE(jj(1) + i)
2065 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)
2066 evar(3,i) = evar(3,i) + lbuf%EPE(jj(3) + i)
2067 ENDDO
2068 ELSEIF (istrain > 0)THEN
2069 IF (mlw /= 14.AND.mlw /= 24.AND.mlw<28.OR. mlw == 49) THEN
2070 DO i=lft,llt
2071 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)
2072 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)
2073 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)
2074 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)*half
2075 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)*half
2076 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)*half
2077 ENDDO
2078 ENDIF
2079 ENDIF
2080 ENDIF
2081
2082 IF (kcvt /= 0) THEN
2083
2084 DO i=lft,llt
2085 n = i + nft
2086 IF(el2fa(nn2+n) /= 0)THEN
2087 IF(kcvt==2)THEN
2088 gama(1)=gbuf%GAMA(jj(1) + i)
2089 gama(2)=gbuf%GAMA(jj(2) + i)
2090 gama(3)=gbuf%GAMA(jj(3) + i)
2091 gama(4)=gbuf%GAMA(jj(4) + i)
2092 gama(5)=gbuf%GAMA(jj(5) + i)
2093 gama(6)=gbuf%GAMA(jj(6) + i)
2094 ELSE
2095 gama(1)=one
2096 gama(2)=zero
2097 gama(3)=zero
2098 gama(4)=zero
2099 gama(5)=one
2100 gama(6)=zero
2101 END IF
2102 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2103 ENDIF
2104 ENDDO
2105 ENDIF
2106
2107 ELSEIF (isolnod == 16.OR.isolnod == 20.OR.(isolnod == 8.AND. (jhbe == 14 .OR. jhbe == 17))) THEN
2108
2109 icsig = iparg(17,ng)
2110 ir0=abs(pti)/100
2111 is0=mod(abs(pti)/10,10)
2112 it0=mod(abs(pti),10)
2113 IF (ir0==0.OR.is0==0.OR.it0==0) cycle
2114 ir = ir0
2115 is = is0
2116 it = it0
2117 IF (tshell == 1) THEN
2118 IF (icsig==100) THEN
2119 ir = is0
2120 is = it0
2121 it = ir0
2122 ELSEIF (icsig==10) THEN
2123 ir = it0
2124 is = ir0
2125 it = is0
2126 ELSE
2127 ir = ir0
2128 is = is0
2129 it = it0
2130 END IF
2131 ENDIF
2132 IF (ir>nptr.OR.is>npts) cycle
2133 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
2134 iok = 0
2135 IF (tshell == 1) THEN
2136 IF (isolnod == 16.AND. is0 <= nlay) THEN
2137 lbuf => elbuf_tab(ng)%BUFLY(is0)%LBUF(ir,1,it)
2138 iok = 1
2139 ELSEIF (it <= nlay) THEN
2140 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
2141 iok = 1
2142 END IF
2143 ELSE
2144 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
2145 iok = 1
2146 ENDIF
2147 IF (iok == 1 ) THEN
2148 IF(mlw>=28.AND.mlw /= 49)THEN
2149 DO i=lft,llt
2150
2151 evar(1,i) = lbuf%STRA(jj(1) + i)
2152 evar(2,i) = lbuf%STRA(jj(2) + i)
2153 evar(3,i) = lbuf%STRA(jj(3) + i)
2154 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2155 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2156 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2157 ENDDO
2158 ELSEIF(mlw == 12 .OR. mlw == 14)THEN
2159 DO i=lft,llt
2160
2161 evar(1,i) = lbuf%EPE(jj(1) + i)
2162 evar(2,i) = lbuf%EPE(jj(2) + i)
2163 evar(3,i) = lbuf%EPE(jj(3) + i)
2164 ENDDO
2165 ELSEIF(mlw == 24 .OR. mlw == 25)THEN
2166 DO i=lft,llt
2167
2168 evar(1,i) = lbuf%STRA(jj(1) + i)
2169 evar(2,i) = lbuf%STRA(jj(2) + i)
2170 evar(3,i) = lbuf%STRA(jj(3) + i)
2171 evar(4,i) = lbuf%STRA(jj(4) + i) * half
2172 evar(5,i) = lbuf%STRA(jj(5) + i) * half
2173 evar(6,i) = lbuf%STRA(jj(6) + i) * half
2174 ENDDO
2175 ELSEIF (mlw == 25) THEN
2176 DO i=lft,llt
2177 evar(1,i) = lbuf%STRA(jj(1) + i)
2178 evar(2,i) = lbuf%STRA(jj(2) + i)
2179 evar(3,i) = lbuf%STRA(jj(3) + i)
2180 evar(4,i) = lbuf%STRA(jj(4) + i) * half
2181 evar(5,i) = lbuf%STRA(jj(5) + i) * half
2182 evar(6,i) = lbuf%STRA(jj(6) + i) * half
2183 ENDDO
2184 ELSEIF(istrain > 0)THEN
2185 IF(mlw /= 14.AND.mlw /= 24.AND.mlw<28)THEN
2186 DO i=lft,llt
2187
2188 evar(1,i) = lbuf%STRA(jj(1) + i)
2189 evar(2,i) = lbuf%STRA(jj(2) + i)
2190 evar(3,i) = lbuf%STRA(jj(3) + i)
2191 evar(4,i) = lbuf%STRA(jj(4) + i) * half
2192 evar(5,i) = lbuf%STRA(jj(5) + i) * half
2193 evar(6,i) = lbuf%STRA(jj(6) + i) * half
2194 ENDDO
2195 ENDIF
2196 ENDIF
2197
2198 IF (kcvt >1 .AND. jhbe /= 16) THEN
2199
2200 icsig=iparg(17,ng)
2201 IF (jhbe == 14.AND.icsig > 0) THEN
2202 IF (igtyp == 21) THEN
2203 SELECT CASE (icsig)
2204 CASE (1)
2205 DO i=lft,llt
2206 n = i + nft
2207 IF(el2fa(nn2+n) /= 0)THEN
2208 IF(kcvt==2)THEN
2209 gama(1)=zero
2210 gama(2)=gbuf%GAMA(jj(1) + i)
2211 gama(3)=gbuf%GAMA(jj(2) + i)
2212 gama(4)=zero
2213 gama(5)=-gama(2)
2214 gama(6)=gama(1)
2215 ELSE
2216 gama(1)=one
2217 gama(2)=zero
2218 gama(3)=zero
2219 gama(4)=zero
2220 gama(5)=one
2221 gama(6)=zero
2222 END IF
2223 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2224 ENDIF
2225 ENDDO
2226 CASE (10)
2227 DO i=lft,llt
2228 n = i + nft
2229 IF(el2fa(nn2+n) /= 0)THEN
2230 IF(kcvt==2)THEN
2231 gama(1)=gbuf%GAMA(jj(1) + i)
2232 gama(2)=gbuf%GAMA(jj(2) + i)
2233 gama(3)=zero
2234 gama(4)=-gama(2)
2235 gama(5)=gama(1)
2236 gama(6)=zero
2237 ELSE
2238 gama(1)=one
2239 gama(2)=zero
2240 gama(3)=zero
2241 gama(4)=zero
2242 gama(5)=one
2243 gama(6)=zero
2244 END IF
2245 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2246 ENDIF
2247 ENDDO
2248 CASE (100)
2249 DO i=lft,llt
2250 n = i + nft
2251 IF(el2fa(nn2+n) /= 0)THEN
2252 IF(kcvt==2)THEN
2253 gama(1)=gbuf%GAMA(jj(2) + i)
2254 gama(2)=zero
2255 gama(3)=gbuf%GAMA(jj(1) + i)
2256 gama(4)=gama(3)
2257 gama(5)=zero
2258 gama(6)=-gama(1)
2259 ELSE
2260 gama(1)=one
2261 gama(2)=zero
2262 gama(3)=zero
2263 gama(4)=zero
2264 gama(5)=one
2265 gama(6)=zero
2266 END IF
2267 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2268 ENDIF
2269 ENDDO
2270 END SELECT
2271 ELSE
2272 SELECT CASE (icsig)
2273 CASE (1)
2274 DO i=lft,llt
2275 n = i + nft
2276 IF(el2fa(nn2+n) /= 0)THEN
2277 IF(kcvt==2)THEN
2278 gama(1)=zero
2279 gama(2)=lbuf%GAMA(jj(1) + i)
2280 gama(3)=lbuf%GAMA(jj(2) + i)
2281 gama(4)=zero
2282 gama(5)=-gama(2)
2283 gama(6)=gama(1)
2284 ELSE
2285 gama(1)=one
2286 gama(2)=zero
2287 gama(3)=zero
2288 gama(4)=zero
2289 gama(5)=one
2290 gama(6)=zero
2291 END IF
2292 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2293 ENDIF
2294 ENDDO
2295 CASE (10)
2296 DO i=lft,llt
2297 n = i + nft
2298 IF(el2fa(nn2+n) /= 0)THEN
2299 IF(kcvt==2)THEN
2300 gama(1)=lbuf%GAMA(jj(1) + i)
2301 gama(2)=lbuf%GAMA(jj(2) + i)
2302 gama(3)=zero
2303 gama(4)=-gama(2)
2304 gama(5)=gama(1)
2305 gama(6)=zero
2306 ELSE
2307 gama(1)=one
2308 gama(2)=zero
2309 gama(3)=zero
2310 gama(4)=zero
2311 gama(5)=one
2312 gama(6)=zero
2313 END IF
2314 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2315 ENDIF
2316 ENDDO
2317 CASE (100)
2318 DO i=lft,llt
2319 n = i + nft
2320 IF(el2fa(nn2+n) /= 0)THEN
2321 IF(kcvt==2)THEN
2322 gama(1)=lbuf%GAMA(jj(2) + i)
2323 gama(2)=zero
2324 gama(3)=lbuf%GAMA(jj(1) + i)
2325 gama(4)=gama(3)
2326 gama(5)=zero
2327 gama(6)=-gama(1)
2328 ELSE
2329 gama(1)=one
2330 gama(2)=zero
2331 gama(3)=zero
2332 gama(4)=zero
2333 gama(5)=one
2334 gama(6)=zero
2335 END IF
2336 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2337 ENDIF
2338 ENDDO
2339 END SELECT
2340 ENDIF
2341 ELSE
2342 DO i=lft,llt
2343 n = i + nft
2344 IF(el2fa(nn2+n) /= 0)THEN
2345 IF(kcvt==2)THEN
2346 gama(1)=gbuf%GAMA(jj(1) + i)
2347 gama(2)=gbuf%GAMA(jj(2) + i)
2348 gama(3)=gbuf%GAMA(jj(3) + i)
2349 gama(4)=gbuf%GAMA(jj(4) + i)
2350 gama(5)=gbuf%GAMA(jj(5) + i)
2351 gama(6)=gbuf%GAMA(jj(6) + i)
2352 ELSE
2353 gama(1)=one
2354 gama(2)=zero
2355 gama(3)=zero
2356 gama(4)=zero
2357 gama(5)=one
2358 gama(6)=zero
2359 END IF
2360 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2361 ENDIF
2362 ENDDO
2363 ENDIF
2364 ENDIF
2365 ENDIF
2366
2367 ELSEIF ((isolnod == 6 .OR. isolnod == 8).AND.jhbe == 15) THEN
2368 ipt = mod(abs(pti)/10,10)
2369 IF ( ipt > 0 .AND. ipt<=nlay ) THEN
2370 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(1,1,1)
2371 IF(mlw>=28.AND.mlw /= 49)THEN
2372 DO i=lft,llt
2373 evar(1,i) = lbuf%STRA(jj(1) + i)
2374 evar(2,i) = lbuf%STRA(jj(2) + i)
2375 evar(3,i) = lbuf%STRA(jj(3) + i)
2376 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2377 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2378 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2379 ENDDO
2380 ELSEIF(mlw == 12 .OR. mlw == 14)THEN
2381 DO i=lft,llt
2382 evar(1,i) = lbuf%EPE(jj(1) + i)
2383 evar(2,i) = lbuf%EPE(jj(2) + i)
2384 evar(3,i) = lbuf%EPE(jj(3) + i)
2385 ENDDO
2386 ELSE
2387 DO i=lft,llt
2388 evar(1,i) = lbuf%STRA(jj(1) + i)
2389 evar(2,i) = lbuf%STRA(jj(2) + i)
2390 evar(3,i) = lbuf%STRA(jj(3) + i)
2391 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2392 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2393 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2394 ENDDO
2395 END IF
2396 IF (kcvt /= 0 ) THEN
2397
2398 DO i=lft,llt
2399 n = i + nft
2400 IF(el2fa(nn2+n) /= 0)THEN
2401 IF(kcvt==2)THEN
2402 gama(1)=gbuf%GAMA(jj(1) + i)
2403 gama(2)=gbuf%GAMA(jj(2) + i)
2404 gama(3)=zero
2405 gama(4)=-gama(2)
2406 gama(5)=gama(1)
2407 gama(6)=zero
2408 ELSE
2409 gama(1)=one
2410 gama(2)=zero
2411 gama(3)=zero
2412 gama(4)=zero
2413 gama(5)=one
2414 gama(6)=zero
2415 END IF
2416 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2417 ENDIF
2418 ENDDO
2419 ENDIF
2420 END IF
2421
2422 ELSEIF (isolnod==10 .OR. (isolnod==4 .AND. isrot==1)) THEN
2423
2424 ir=abs(pti)/100
2425 is=mod(abs(pti)/10,10)
2426 it=mod(abs(pti),10)
2427 ipt = 0
2428 IF (ir == 1 .AND. is == 1 .AND. it == 1) ipt = 1
2429 IF (ir == 2 .AND. is == 1 .AND. it == 1) ipt = 2
2430 IF (ir == 1 .AND. is == 2 .AND. it == 1) ipt = 3
2431 IF (ir == 1 .AND. is == 1 .AND. it == 2) ipt = 4
2432 IF ( ipt > 0) THEN
2433 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
2434 IF (mlw>=28.AND.mlw /= 49 .OR. mlw == 24) THEN
2435 DO i=lft,llt
2436 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)
2437 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)
2438 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)
2439 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)*half
2440 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)*half
2441 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)*half
2442 ENDDO
2443 ELSEIF (mlw == 12 .OR. mlw == 14) THEN
2444 DO i=lft,llt
2445 evar(1,i) = evar(1,i) + lbuf%EPE(jj(1) + i)
2446 evar(2,i) = evar(2,i) + lbuf%EPE(jj(2) + i)
2447 evar(3,i) = evar(3,i) + lbuf%EPE(jj(3) + i)
2448 ENDDO
2449 ELSEIF (istrain > 0) THEN
2450 IF (mlw /= 14.AND.mlw /= 24.AND.mlw<28) THEN
2451 DO i=lft,llt
2452 evar(1,i) = evar(1,i) + lbuf%STRA(jj(1) + i)
2453 evar(2,i) = evar(2,i) + lbuf%STRA(jj(2) + i)
2454 evar(3,i) = evar(3,i) + lbuf%STRA(jj(3) + i)
2455 evar(4,i) = evar(4,i) + lbuf%STRA(jj(4) + i)*half
2456 evar(5,i) = evar(5,i) + lbuf%STRA(jj(5) + i)*half
2457 evar(6,i) = evar(6,i) + lbuf%STRA(jj(6) + i)*half
2458 ENDDO
2459 ENDIF
2460 ENDIF
2461 ENDIF
2462
2463 IF (kcvt /= 0) THEN
2464 DO i=lft,llt
2465 n = i + nft
2466 IF(el2fa(nn2+n) /= 0)THEN
2467 IF(kcvt==2)THEN
2468 gama(1)=gbuf%GAMA(jj(1) + i)
2469 gama(2)=gbuf%GAMA(jj(2) + i)
2470 gama(3)=gbuf%GAMA(jj(3) + i)
2471 gama(4)=gbuf%GAMA(jj(4) + i)
2472 gama(5)=gbuf%GAMA(jj(5) + i)
2473 gama(6)=gbuf%GAMA(jj(6) + i)
2474 ELSE
2475 gama(1)=one
2476 gama(2)=zero
2477 gama(3)=zero
2478 gama(4)=zero
2479 gama(5)=one
2480 gama(6)=zero
2481 END IF
2482 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2483 ENDIF
2484 ENDDO
2485 ENDIF
2486 END IF
2487
2488
2489
2490 ELSEIF (itens>=22110.AND.itens<=42209) THEN
2491
2492 pti = itens - 22110
2493 IF ((isolnod == 6 .OR. isolnod == 8).AND.jhbe == 15) THEN
2494 ipt = mod(abs(pti)/10,201)
2495 IF ( ipt > 0 .AND. ipt<=nlay.AND.nlay>9) THEN
2496 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(1,1,1)
2497 IF(mlw>=28.AND.mlw /= 49)THEN
2498 DO i=lft,llt
2499 evar(1,i) = lbuf%STRA(jj(1) + i)
2500 evar(2,i) = lbuf%STRA(jj(2) + i)
2501 evar(3,i) = lbuf%STRA(jj(3) + i)
2502 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2503 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2504 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2505 ENDDO
2506 ELSEIF(mlw == 12 .OR. mlw == 14)THEN
2507 DO i=lft,llt
2508 evar(1,i) = lbuf%EPE(jj(1) + i)
2509 evar(2,i) = lbuf%EPE(jj(2) + i)
2510 evar(3,i) = lbuf%EPE(jj(3) + i)
2511 ENDDO
2512 ELSE
2513 DO i=lft,llt
2514 evar(1,i) = lbuf%STRA(jj(1) + i)
2515 evar(2,i) = lbuf%STRA(jj(2) + i)
2516 evar(3,i) = lbuf%STRA(jj(3) + i)
2517 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2518 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2519 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2520 ENDDO
2521 END IF
2522 IF (kcvt /= 0 ) THEN
2523
2524 DO i=lft,llt
2525 n = i + nft
2526 IF(el2fa(nn2+n) /= 0)THEN
2527 IF(kcvt==2)THEN
2528 gama(1)=lbuf%GAMA(jj(1) + i)
2529 gama(2)=lbuf%GAMA(jj(2) + i)
2530 gama(3)=zero
2531 gama(4)=-gama(2)
2532 gama(5)=gama(1)
2533 gama(6)=zero
2534 ELSE
2535 gama(1)=one
2536 gama(2)=zero
2537 gama(3)=zero
2538 gama(4)=zero
2539 gama(5)=one
2540 gama(6)=zero
2541 END IF
2542 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2543 ENDIF
2544 ENDDO
2545 ENDIF
2546 END IF
2547
2548 ELSEIF (isolnod==16.OR.(isolnod==8.AND.jhbe==14)) THEN
2549
2550 icsig = iparg(17,ng)
2551 ir0=abs(pti)/2010
2552 is0=mod(abs(pti)/10,201)
2553 it0=mod(abs(pti),10)
2554 IF (ir0==0.OR.is0==0.OR.it0==0.OR.nlay<10) cycle
2555 ir = ir0
2556 is = is0
2557 it = it0
2558 IF (tshell == 1) THEN
2559 IF (icsig==100) THEN
2560 ir = is0
2561 is = it0
2562 it = ir0
2563 ELSEIF (icsig==10) THEN
2564 ir = it0
2565 is = ir0
2566 it = is0
2567 ELSE
2568 ir = ir0
2569 is = is0
2570 it = it0
2571 END IF
2572 ENDIF
2573 IF (ir>nptr.OR.is>npts.OR.it>nlay) cycle
2574 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
2575 IF (ipt <= npt ) THEN
2576 IF (tshell == 1) THEN
2577 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
2578 ELSE
2579 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
2580 ENDIF
2581 IF(mlw>=28.AND.mlw /= 49)THEN
2582 DO i=lft,llt
2583 evar(1,i) = lbuf%STRA(jj(1) + i)
2584 evar(2,i) = lbuf%STRA(jj(2) + i)
2585 evar(3,i) = lbuf%STRA(jj(3) + i)
2586 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2587 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2588 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2589 ENDDO
2590 ELSEIF(mlw == 12 .OR. mlw == 14)THEN
2591 DO i=lft,llt
2592 evar(1,i) = lbuf%EPE(jj(1) + i)
2593 evar(2,i) = lbuf%EPE(jj(2) + i)
2594 evar(3,i) = lbuf%EPE(jj(3) + i)
2595 ENDDO
2596 ELSEIF(mlw == 24 .OR. mlw == 25)THEN
2597 DO i=lft,llt
2598 evar(1,i) = lbuf%STRA(jj(1) + i)
2599 evar(2,i) = lbuf%STRA(jj(2) + i)
2600 evar(3,i) = lbuf%STRA(jj(3) + i)
2601 evar(4,i) = lbuf%STRA(jj(4) + i)*half
2602 evar(5,i) = lbuf%STRA(jj(5) + i)*half
2603 evar(6,i) = lbuf%STRA(jj(6) + i)*half
2604 ENDDO
2605 ELSEIF (mlw == 25) THEN
2606 DO i=lft,llt
2607 evar(1,i) = lbuf%STRA(jj(1) + i)
2608 evar(2,i) = lbuf%STRA(jj(2) + i)
2609 evar(3,i) = lbuf%STRA(jj(3) + i)
2610 evar(4,i) = lbuf%STRA(jj(4) + i) * half
2611 evar(5,i) = lbuf%STRA(jj(5) + i) * half
2612 evar(6,i) = lbuf%STRA(jj(6) + i) * half
2613 ENDDO
2614 ELSEIF(istrain > 0)THEN
2615 IF(mlw /= 14.AND.mlw /= 24.AND.mlw<28)THEN
2616 DO i=lft,llt
2617 evar(1,i) = lbuf%STRA(jj(1) + i)
2618 evar(2,i) = lbuf%STRA(jj(2) + i)
2619 evar(3,i) = lbuf%STRA(jj(3) + i)
2620 evar(4,i) = lbuf%STRA(jj(4) + i) * half
2621 evar(5,i) = lbuf%STRA(jj(5) + i) * half
2622 evar(6,i) = lbuf%STRA(jj(6) + i) * half
2623 ENDDO
2624 ENDIF
2625 END IF
2626 END IF
2627
2628 IF (kcvt /= 0 .AND. jhbe /= 16) THEN
2629
2630 icsig=iparg(17,ng)
2631 IF (jhbe == 14.AND.icsig > 0) THEN
2632 SELECT CASE (icsig)
2633 CASE (1)
2634 DO i=lft,llt
2635 n = i + nft
2636 IF(el2fa(nn2+n) /= 0)THEN
2637 IF(kcvt==2)THEN
2638 gama(1)=zero
2639 gama(2)=lbuf%GAMA(jj(1) + i)
2640 gama(3)=lbuf%GAMA(jj(2) + i)
2641 gama(4)=zero
2642 gama(5)=-gama(2)
2643 gama(6)=gama(1)
2644 ELSE
2645 gama(1)=one
2646 gama(2)=zero
2647 gama(3)=zero
2648 gama(4)=zero
2649 gama(5)=one
2650 gama(6)=zero
2651 END IF
2652 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2653 ENDIF
2654 ENDDO
2655 CASE (10)
2656 DO i=lft,llt
2657 n = i + nft
2658 IF(el2fa(nn2+n) /= 0)THEN
2659 IF(kcvt==2)THEN
2660 gama(1)=lbuf%GAMA(jj(1) + i)
2661 gama(2)=lbuf%GAMA(jj(2) + i)
2662 gama(3)=zero
2663 gama(4)=-gama(2)
2664 gama(5)=gama(1)
2665 gama(6)=zero
2666 ELSE
2667 gama(1)=one
2668 gama(2)=zero
2669 gama(3)=zero
2670 gama(4)=zero
2671 gama(5)=one
2672 gama(6)=zero
2673 END IF
2674 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
2675 ENDIF
2676 ENDDO
2677 CASE (100)
2678 DO i=lft,llt
2679 n = i + nft
2680 IF(el2fa(nn2+n) /= 0)THEN
2681 IF(kcvt==2)THEN
2682 gama(1)=lbuf%GAMA(jj(2) + i)
2683 gama(2)=zero
2684 gama(3)=lbuf%GAMA(jj(1) + i)
2685 gama(4)=gama(3)
2686 gama(5)=zero
2687 gama(6)=-gama(1)
2688 ELSE
2689 gama(1)=one
2690 gama(2)=zero
2691 gama(3)=zero
2692 gama(4)=zero
2693 gama(5)=one
2694 gama(6)=zero
2695 END IF
2696 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2697 ENDIF
2698 ENDDO
2699 END SELECT
2700 END IF
2701 END IF
2702 END IF
2703
2704
2705 ELSEIF (itens >= 42210 .AND. itens <= 43209) THEN
2706
2707 pti = itens - 42210
2708
2709 IF (isolnod == 16.OR.isolnod == 20.OR.(isolnod == 8.AND. (jhbe == 14 .OR. jhbe == 17))) THEN
2710
2711 icsig = iparg(17,ng)
2712 ir0=abs(pti)/100
2713 is0=mod(abs(pti)/10,10)
2714 it0=mod(abs(pti),10)
2715 ipid = ixs(10,1 + nft)
2716 IF (ir0==0.OR.is0==0.OR.it0==0) cycle
2717 ir = ir0
2718 is = is0
2719 it = it0
2720 IF (tshell == 1) THEN
2721 IF (icsig==100) THEN
2722 ir = is0
2723 is = it0
2724 it = ir0
2725 ELSEIF (icsig==10) THEN
2726 ir = it0
2727 is = ir0
2728 it = is0
2729 ELSE
2730 ir = ir0
2731 is = is0
2732 it = it0
2733 END IF
2734 ENDIF
2735 IF (ir>nptr.OR.is>npts) cycle
2736 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
2737 iok = 0
2738 IF (tshell == 1) THEN
2739 IF (isolnod == 16.AND. is0 <= nlay) THEN
2740 lbuf => elbuf_tab(ng)%BUFLY(is0)%LBUF(ir,1,it)
2741 iok = 1
2742 ELSEIF (it <= nlay) THEN
2743 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
2744 iok = 1
2745 ENDIF
2746 ELSE
2747 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ir,is,it)
2748 iok = 1
2749 ENDIF
2750 IF (iok == 1 ) THEN
2751
2752 IF (mlw == 24) THEN
2753 DO i=lft,llt
2754
2755 evar(1,i) = lbuf%PLA(jj(1) + i + nel)
2756 evar(2,i) = lbuf%PLA(jj(2) + i + nel)
2757 evar(3,i) = lbuf%PLA(jj(3) + i + nel)
2758 evar(4,i) = lbuf%PLA(jj(4) + i + nel) * half
2759 evar(5,i) = lbuf%PLA(jj(5) + i + nel) * half
2760 evar(6,i) = lbuf%PLA(jj(6) + i + nel) * half
2761 ENDDO
2762 ENDIF
2763
2764 IF (kcvt /= 0 .AND. jhbe /= 16) THEN
2765
2766 icsig=iparg(17,ng)
2767 IF (jhbe == 14 .AND. icsig > 0) THEN
2768 IF (igtyp == 21) THEN
2769 SELECT CASE (icsig)
2770 CASE (1)
2771 DO i=lft,llt
2772 n = i + nft
2773 IF (el2fa(nn2+n) /= 0) THEN
2774 IF (kcvt == 2) THEN
2775 gama(1) = zero
2776 gama(2) = gbuf%GAMA(jj(1) + i)
2777 gama(3) = gbuf%GAMA(jj(2) + i)
2778 gama(4) = zero
2779 gama(5) =-gama(2)
2780 gama(6) = gama(1)
2781 ELSE
2782 gama(1) = one
2783 gama(2) = zero
2784 gama(3) = zero
2785 gama(4) = zero
2786 gama(5) = one
2787 gama(6) = zero
2788 ENDIF
2789 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2790 ENDIF
2791 ENDDO
2792 CASE (10)
2793 DO i=lft,llt
2794 n = i + nft
2795 IF (el2fa(nn2+n) /= 0) THEN
2796 IF (kcvt == 2) THEN
2797 gama(1) = gbuf%GAMA(jj(1) + i)
2798 gama(2) = gbuf%GAMA(jj(2) + i)
2799 gama(3) = zero
2800 gama(4) =-gama(2)
2801 gama(5) = gama(1)
2802 gama(6) = zero
2803 ELSE
2804 gama(1) = one
2805 gama(2) = zero
2806 gama(3) = zero
2807 gama(4) = zero
2808 gama(5) = one
2809 gama(6) = zero
2810 ENDIF
2811 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2812 ENDIF
2813 ENDDO
2814 CASE (100)
2815 DO i=lft,llt
2816 n = i + nft
2817 IF (el2fa(nn2+n) /= 0) THEN
2818 IF (kcvt == 2) THEN
2819 gama(1) = gbuf%GAMA(jj(2) + i)
2820 gama(2) = zero
2821 gama(3) = gbuf%GAMA(jj(1) + i)
2822 gama(4) = gama(3)
2823 gama(5) = zero
2824 gama(6) =-gama(1)
2825 ELSE
2826 gama(1) = one
2827 gama(2) = zero
2828 gama(3) = zero
2829 gama(4) = zero
2830 gama(5) = one
2831 gama(6) = zero
2832 ENDIF
2833 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2834 ENDIF
2835 ENDDO
2836 END SELECT
2837 ELSE
2838 SELECT CASE (icsig)
2839 CASE (1)
2840 DO i=lft,llt
2841 n = i + nft
2842 IF (el2fa(nn2+n) /= 0) THEN
2843 IF (kcvt == 2) THEN
2844 gama(1) = zero
2845 gama(2) = lbuf%GAMA(jj(1) + i)
2846 gama(3) = lbuf%GAMA(jj(2) + i)
2847 gama(4) = zero
2848 gama(5) =-gama(2)
2849 gama(6) = gama(1)
2850 ELSE
2851 gama(1) = one
2852 gama(2) = zero
2853 gama(3) = zero
2854 gama(4) = zero
2855 gama(5) = one
2856 gama(6) = zero
2857 ENDIF
2858 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2859 ENDIF
2860 ENDDO
2861 CASE (10)
2862 DO i=lft,llt
2863 n = i + nft
2864 IF (el2fa(nn2+n) /= 0) THEN
2865 IF (kcvt == 2) THEN
2866 gama(1) = lbuf%GAMA(jj(1) + i)
2867 gama(2) = lbuf%GAMA(jj(2) + i)
2868 gama(3) = zero
2869 gama(4) =-gama(2)
2870 gama(5) = gama(1)
2871 gama(6) = zero
2872 ELSE
2873 gama(1) = one
2874 gama(2) = zero
2875 gama(3) = zero
2876 gama(4) = zero
2877 gama(5) = one
2878 gama(6) = zero
2879 ENDIF
2880 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2881 ENDIF
2882 ENDDO
2883 CASE (100)
2884 DO i=lft,llt
2885 n = i + nft
2886 IF (el2fa(nn2+n) /= 0) THEN
2887 IF (kcvt == 2) THEN
2888 gama(1) = lbuf%GAMA(jj(2) + i)
2889 gama(2) = zero
2890 gama(3) = lbuf%GAMA(jj(1) + i)
2891 gama(4) = gama(3)
2892 gama(5) = zero
2893 gama(6) =-gama(1)
2894 ELSE
2895 gama(1) = one
2896 gama(2) = zero
2897 gama(3) = zero
2898 gama(4) = zero
2899 gama(5) = one
2900 gama(6) = zero
2901 ENDIF
2902 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2903 ENDIF
2904 ENDDO
2905 END SELECT
2906 ENDIF
2907 ELSE
2908 DO i=lft,llt
2909 n = i + nft
2910 IF (el2fa(nn2+n) /= 0) THEN
2911 IF (kcvt == 2) THEN
2912 gama(1) = lbuf%GAMA(jj(1) + i)
2913 gama(2) = lbuf%GAMA(jj(2) + i)
2914 gama(3) = lbuf%GAMA(jj(3) + i)
2915 gama(4) = lbuf%GAMA(jj(4) + i)
2916 gama(5) = lbuf%GAMA(jj(5) + i)
2917 gama(6) = lbuf%GAMA(jj(6) + i)
2918 ELSE
2919 gama(1) = one
2920 gama(2) = zero
2921 gama(3) = zero
2922 gama(4) = zero
2923 gama(5) = one
2924 gama(6) = zero
2925 ENDIF
2926 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
2927 ENDIF
2928 ENDDO
2929 ENDIF
2930 ENDIF
2931 ENDIF
2932
2933 ELSEIF (isolnod == 10 .OR. (isolnod==4 .AND. isrot==1)) THEN
2934
2935 ir = abs(pti)/100
2936 is = mod(abs(pti)/10,10)
2937 it = mod(abs(pti),10)
2938 ipt = 0
2939 IF (ir == 1 .AND. is == 1 .AND. it == 1) ipt = 1
2940 IF (ir == 2 .AND. is == 1 .AND. it == 1) ipt = 2
2941 IF (ir == 1 .AND. is == 2 .AND. it == 1) ipt = 3
2942 IF (ir == 1 .AND. is == 1 .AND. it == 2) ipt = 4
2943 IF ( ipt > 0) THEN
2944 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(ipt,1,1)
2945 IF (mlw == 24) THEN
2946 DO i=lft,llt
2947 evar(1,i) = evar(1,i) + lbuf%PLA(jj(1) + i + nel)
2948 evar(2,i) = evar(2,i) + lbuf%PLA(jj(2) + i + nel)
2949 evar(3,i) = evar(3,i) + lbuf%PLA(jj(3) + i + nel)
2950 evar(4,i) = evar(4,i) + lbuf%PLA(jj(4) + i + nel)*half
2951 evar(5,i) = evar(5,i) + lbuf%PLA(jj(5) + i + nel)*half
2952 evar(6,i) = evar(6,i) + lbuf%PLA(jj(6) + i + nel)*half
2953 ENDDO
2954 ENDIF
2955 ENDIF
2956
2957 IF (kcvt /= 0) THEN
2958 DO i=lft,llt
2959 n = i + nft
2960 IF (el2fa(nn2+n) /= 0) THEN
2961 IF (kcvt == 2) THEN
2962 gama(1) = gbuf%GAMA(jj(1) + i)
2963 gama(2) = gbuf%GAMA(jj(2) + i)
2964 gama(3) = gbuf%GAMA(jj(3) + i)
2965 gama(4) = gbuf%GAMA(jj(4) + i)
2966 gama(5) = gbuf%GAMA(jj(5) + i)
2967 gama(6) = gbuf%GAMA(jj(6) + i)
2968 ELSE
2969 gama(1) = one
2970 gama(2) = zero
2971 gama(3) = zero
2972 gama(4) = zero
2973 gama(5) = one
2974 gama(6) = zero
2975 ENDIF
2976 CALL srota6(x, ixs(1,n), kcvt, evar(1,i),gama, jhbe, igtyp, isorth)
2977 ENDIF
2978 ENDDO
2979 ENDIF
2980
2981 ELSEIF ((isolnod == 6 .OR. isolnod == 8).AND.jhbe == 15) THEN
2982
2983 ipt = mod(abs(pti)/10,10)
2984 IF ( ipt > 0 .AND. ipt<=nlay) THEN
2985 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(1,1,1)
2986 IF (mlw == 24) THEN
2987 DO i=lft,llt
2988 evar(1,i) = lbuf%PLA(jj(1) + i + nel)
2989 evar(2,i) = lbuf%PLA(jj(2) + i + nel)
2990 evar(3,i) = lbuf%PLA(jj(3) + i + nel)
2991 evar(4,i) = lbuf%PLA(jj(4) + i + nel)*half
2992 evar(5,i) = lbuf%PLA(jj(5) + i + nel)*half
2993 evar(6,i) = lbuf%PLA(jj(6) + i + nel)*half
2994 ENDDO
2995 ENDIF
2996 DO i=lft,llt
2997 n = i + nft
2998 IF (el2fa(nn2+n) /= 0) THEN
2999 IF (kcvt == 2) THEN
3000 gama(1)=gbuf%GAMA(jj(1) + i)
3001 gama(2)=gbuf%GAMA(jj(2) + i)
3002 gama(3)=zero
3003 gama(4)=-gama(2)
3004 gama(5)=gama(1)
3005 gama(6)=zero
3006 ELSE
3007 gama(1) = one
3008 gama(2) = zero
3009 gama(3) = zero
3010 gama(4) = zero
3011 gama(5) = one
3012 gama(6) = zero
3013 ENDIF
3014 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
3015 ENDIF
3016 ENDDO
3017 ENDIF
3018 END IF
3019
3020
3021 ELSEIF (itens >= 43210 .AND. itens <= 63309) THEN
3022
3023 pti = itens - 43210
3024
3025 IF ((isolnod == 6 .OR. isolnod == 8).AND.jhbe == 15) THEN
3026
3027 ipt = mod(abs(pti)/10,201)
3028 IF ( ipt > 0 .AND. ipt<=nlay .AND. nlay>9) THEN
3029 lbuf => elbuf_tab(ng)%BUFLY(ipt)%LBUF(1,1,1)
3030 IF (mlw == 24) THEN
3031 DO i=lft,llt
3032 evar(1,i) = lbuf%PLA(jj(1) + i + nel)
3033 evar(2,i) = lbuf%PLA(jj(2) + i + nel)
3034 evar(3,i) = lbuf%PLA(jj(3) + i + nel)
3035 evar(4,i) = lbuf%PLA(jj(4) + i + nel)*half
3036 evar(5,i) = lbuf%PLA(jj(5) + i + nel)*half
3037 evar(6,i) = lbuf%PLA(jj(6) + i + nel)*half
3038 ENDDO
3039 ENDIF
3040 DO i=lft,llt
3041 n = i + nft
3042 IF (el2fa(nn2+n) /= 0) THEN
3043 IF (kcvt == 2) THEN
3044 gama(1)=gbuf%GAMA(jj(1) + i)
3045 gama(2)=gbuf%GAMA(jj(2) + i)
3046 gama(3)=zero
3047 gama(4)=-gama(2)
3048 gama(5)=gama(1)
3049 gama(6)=zero
3050 ELSE
3051 gama(1) = one
3052 gama(2) = zero
3053 gama(3) = zero
3054 gama(4) = zero
3055 gama(5) = one
3056 gama(6) = zero
3057 ENDIF
3058 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
3059 ENDIF
3060 ENDDO
3061 ENDIF
3062 ELSEIF ((isolnod == 16.OR.(isolnod == 8 .AND.jhbe == 14))) THEN
3063
3064 icsig = iparg(17,ng)
3065 ir0=abs(pti)/2010
3066 is0=mod(abs(pti)/10,201)
3067 it0=mod(abs(pti),10)
3068 IF (ir0==0.OR.is0==0.OR.it0==0.OR.nlay<10) cycle
3069 ir = ir0
3070 is = is0
3071 it = it0
3072 IF (tshell == 1) THEN
3073 IF (icsig==100) THEN
3074 ir = is0
3075 is = it0
3076 it = ir0
3077 ELSEIF (icsig==10) THEN
3078 ir = it0
3079 is = ir0
3080 it = is0
3081 ELSE
3082 ir = ir0
3083 is = is0
3084 it = it0
3085 END IF
3086 ENDIF
3087 IF (ir>nptr.OR.is>npts) cycle
3088 ipt = ir + ( (is-1) + (it-1)*npts )*nptr
3089 IF (ipt <= npt ) THEN
3090 IF (isolnod == 16) THEN
3091 lbuf => elbuf_tab(ng)%BUFLY(is0)%LBUF(ir,1,it)
3092 ELSE
3093 lbuf => elbuf_tab(ng)%BUFLY(it)%LBUF(ir,is,1)
3094 END IF
3095 IF (mlw == 24) THEN
3096 DO i=lft,llt
3097 evar(1,i) = lbuf%PLA(jj(1) + i + nel)
3098 evar(2,i) = lbuf%PLA(jj(2) + i + nel)
3099 evar(3,i) = lbuf%PLA(jj(3) + i + nel)
3100 evar(4,i) = lbuf%PLA(jj(4) + i + nel)*half
3101 evar(5,i) = lbuf%PLA(jj(5) + i + nel)*half
3102 evar(6,i) = lbuf%PLA(jj(6) + i + nel)*half
3103 ENDDO
3104 ENDIF
3105 ENDIF
3106 IF (kcvt /= 0 .AND. jhbe /= 16) THEN
3107
3108 icsig=iparg(17,ng)
3109 IF (jhbe == 14 .AND. icsig > 0) THEN
3110 SELECT CASE (icsig)
3111 CASE (1)
3112 DO i=lft,llt
3113 n = i + nft
3114 IF (el2fa(nn2+n) /= 0) THEN
3115 IF (kcvt == 2) THEN
3116 gama(1) = zero
3117 gama(2) = lbuf%GAMA(jj(1) + i)
3118 gama(3) = lbuf%GAMA(jj(2) + i)
3119 gama(4) = zero
3120 gama(5) =-gama(2)
3121 gama(6) = gama(1)
3122 ELSE
3123 gama(1) = one
3124 gama(2) = zero
3125 gama(3) = zero
3126 gama(4) = zero
3127 gama(5) = one
3128 gama(6) = zero
3129 ENDIF
3130 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
3131 ENDIF
3132 ENDDO
3133 CASE (10)
3134 DO i=lft,llt
3135 n = i + nft
3136 IF (el2fa(nn2+n) /= 0) THEN
3137 IF (kcvt == 2) THEN
3138 gama(1) = lbuf%GAMA(jj(1) + i)
3139 gama(2) = lbuf%GAMA(jj(2) + i)
3140 gama(3) = zero
3141 gama(4) =-gama(2)
3142 gama(5) = gama(1)
3143 gama(6) = zero
3144 ELSE
3145 gama(1) = one
3146 gama(2) = zero
3147 gama(3) = zero
3148 gama(4) = zero
3149 gama(5) = one
3150 gama(6) = zero
3151 ENDIF
3152 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
3153 ENDIF
3154 ENDDO
3155 CASE (100)
3156 DO i=lft,llt
3157 n = i + nft
3158 IF (el2fa(nn2+n) /= 0) THEN
3159 IF (kcvt == 2) THEN
3160 gama(1) = lbuf%GAMA(jj(2) + i)
3161 gama(2) = zero
3162 gama(3) = lbuf%GAMA(jj(1) + i)
3163 gama(4) = gama(3)
3164 gama(5) = zero
3165 gama(6) =-gama(1)
3166 ELSE
3167 gama(1) = one
3168 gama(2) = zero
3169 gama(3) = zero
3170 gama(4) = zero
3171 gama(5) = one
3172 gama(6) = zero
3173 ENDIF
3174 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
3175 ENDIF
3176 ENDDO
3177 END SELECT
3178 ELSE
3179 DO i=lft,llt
3180 n = i + nft
3181 IF (el2fa(nn2+n) /= 0) THEN
3182 IF (kcvt == 2) THEN
3183 gama(1) = lbuf%GAMA(jj(1) + i)
3184 gama(2) = lbuf%GAMA(jj(2) + i)
3185 gama(3) = lbuf%GAMA(jj(3) + i)
3186 gama(4) = lbuf%GAMA(jj(4) + i)
3187 gama(5) = lbuf%GAMA(jj(5) + i)
3188 gama(6) = lbuf%GAMA(jj(6) + i)
3189 ELSE
3190 gama(1) = one
3191 gama(2) = zero
3192 gama(3) = zero
3193 gama(4) = zero
3194 gama(5) = one
3195 gama(6) = zero
3196 ENDIF
3197 CALL srota6(x, ixs(1,n), kcvt, evar(1,i), gama, jhbe, igtyp, isorth)
3198 ENDIF
3199 ENDDO
3200 ENDIF
3201 ENDIF
3202
3203 ENDIF
3204
3205
3206
3207 ELSE
3208
3209
3210
3211 ENDIF
3212
3213
3214 IF (isolnod == 16) THEN
3215
3216 DO i=lft,llt
3217 n = i + nft
3218 IF(el2fa(nn2+n) /= 0)THEN
3219 tens(1,el2fa(nn2+n)) = evar(1,i)
3220 tens(2,el2fa(nn2+n)) = evar(2,i)
3221 tens(3,el2fa(nn2+n)) = evar(3,i)
3222 tens(4,el2fa(nn2+n)) = evar(4,i)
3223 tens(5,el2fa(nn2+n)) = evar(5,i)
3224 tens(6,el2fa(nn2+n)) = evar(6,i)
3225 tens(1,el2fa(nn2+n)+1) = evar(1,i)
3226 tens(2,el2fa(nn2+n)+1) = evar(2,i)
3227 tens(3,el2fa(nn2+n)+1) = evar(3,i)
3228 tens(4,el2fa(nn2+n)+1) = evar(4,i)
3229 tens(5,el2fa(nn2+n)+1) = evar(5,i)
3230 tens(6,el2fa(nn2+n)+1) = evar(6,i)
3231 tens(1,el2fa(nn2+n)+2) = evar(1,i)
3232 tens(2,el2fa(nn2+n)+2) = evar(2,i)
3233 tens(3,el2fa(nn2+n)+2) = evar(3,i)
3234 tens(4,el2fa(nn2+n)+2) = evar(4,i)
3235 tens(5,el2fa(nn2+n)+2) = evar(5,i)
3236 tens(6,el2fa(nn2+n)+2) = evar(6,i)
3237 tens(1,el2fa(nn2+n)+3) = evar(1,i)
3238 tens(2,el2fa(nn2+n)+3) = evar(2,i)
3239 tens(3,el2fa(nn2+n)+3) = evar(3,i)
3240 tens(4,el2fa(nn2+n)+3) = evar(4,i)
3241 tens(5,el2fa(nn2+n)+3) = evar(5,i)
3242 tens(6,el2fa(nn2+n)+3) = evar(6,i)
3243 ENDIF
3244 ENDDO
3245 ELSE
3246 DO i=lft,llt
3247 n = i + nft
3248 IF(el2fa(nn2+n) /= 0)THEN
3249 tens(1,el2fa(nn2+n)) = evar(1,i)
3250 tens(2,el2fa(nn2+n)) = evar(2,i)
3251 tens(3,el2fa(nn2+n)) = evar(3,i)
3252 tens(4,el2fa(nn2+n)) = evar(4,i)
3253 tens(5,el2fa(nn2+n)) = evar(5,i)
3254 tens(6,el2fa(nn2+n)) = evar(6,i)
3255 ENDIF
3256 ENDDO
3257 ENDIF
3258 isorthg = isorth
3259
3260 ELSEIF (isph3d == 1.AND.ity == 51) THEN
3261
3262
3263
3264 iprt=ipartsp(1 + nft)
3265 mt1 =ipart(1,iprt)
3266 gbuf => elbuf_tab(ng)%GBUF
3267 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
3268
3269
3270 IF (itens == 1) THEN
3271
3272 IF(ivisc == 0) THEN
3273 DO i=lft,llt
3274 n = i + nft
3275 IF (el2fa(nn3+n) /= 0) THEN
3276 tens(1,el2fa(nn3+n)) = lbuf%SIG(jj(1) + i)
3277 tens(2,el2fa(nn3+n)) = lbuf%SIG(jj(2) + i)
3278 tens(3,el2fa(nn3+n)) = lbuf%SIG(jj(3) + i)
3279 tens(4,el2fa(nn3+n)) = lbuf%SIG(jj(4) + i)
3280 tens(5,el2fa(nn3+n)) = lbuf%SIG(jj(5) + i)
3281 tens(6,el2fa(nn3+n)) = lbuf%SIG(jj(6) + i)
3282 ENDIF
3283 ENDDO
3284 ELSE
3285 DO i=lft,llt
3286 n = i + nft
3287 IF (el2fa(nn3+n) /= 0) THEN
3288 tens(1,el2fa(nn3+n)) = lbuf%SIG(jj(1)+i) + lbuf%VISC(jj(1)+i)
3289 tens(2,el2fa(nn3+n)) = lbuf%SIG(jj(2)+i) + lbuf%VISC(jj(2)+i)
3290 tens(3,el2fa(nn3+n)) = lbuf%SIG(jj(3)+i) + lbuf%VISC(jj(3)+i)
3291 tens(4,el2fa(nn3+n)) = lbuf%SIG(jj(4)+i) + lbuf%VISC(jj(4)+i)
3292 tens(5,el2fa(nn3+n)) = lbuf%SIG(jj(5)+i) + lbuf%VISC(jj(5)+i)
3293 tens(6,el2fa(nn3+n)) = lbuf%SIG(jj(6)+i) + lbuf%VISC(jj(6)+i)
3294 ENDIF
3295 ENDDO
3296
3297 ENDIF
3298
3299
3300 ELSEIF(itens == 4.AND.mlw == 24 .AND. nint(pm(56,mt1)) == 1)THEN
3301
3302 DO i=lft,llt
3303 n = i + nft
3304 IF(el2fa(nn3+n) /= 0)THEN
3305 tens(1,el2fa(nn3+n)) = lbuf%DGLO(jj(1) + i)
3306 tens(2,el2fa(nn3+n)) = lbuf%DGLO(jj(2) + i)
3307 tens(3,el2fa(nn3+n)) = lbuf%DGLO(jj(3) + i)
3308 tens(4,el2fa(nn3+n)) = lbuf%DGLO(jj(4) + i)
3309 tens(5,el2fa(nn3+n)) = lbuf%DGLO(jj(5) + i)
3310 tens(6,el2fa(nn3+n)) = lbuf%DGLO(jj(6) + i)
3311 ENDIF
3312 ENDDO
3313
3314 ELSE
3315
3316 DO i=lft,llt
3317 n = i + nft
3318 IF (el2fa(nn3+n) /= 0) THEN
3319 tens(1,el2fa(nn3+n)) = zero
3320 tens(2,el2fa(nn3+n)) = zero
3321 tens(3,el2fa(nn3+n)) = zero
3322 tens(4,el2fa(nn3+n)) = zero
3323 tens(5,el2fa(nn3+n)) = zero
3324 tens(6,el2fa(nn3+n)) = zero
3325 ENDIF
3326 ENDDO
3327 ENDIF
3328
3329 ELSEIF (ity==101) THEN
3330
3331
3332 DO i=lft,llt
3333 n = i + nft
3334 evar(1,i) = zero
3335 evar(2,i) = zero
3336 evar(3,i) = zero
3337 evar(4,i) = zero
3338 evar(5,i) = zero
3339 evar(6,i) = zero
3340 ENDDO
3341
3342 DO i=lft,llt
3343 n = i + nft
3344 IF (el2fa(nn4+n) /= 0) THEN
3345 DO j=1,27
3346 tens(1,el2fa(nn4+n)+j-1) = evar(1,i)
3347 tens(2,el2fa(nn4+n)+j-1) = evar(1,i)
3348 tens(3,el2fa(nn4+n)+j-1) = evar(1,i)
3349 tens(4,el2fa(nn4+n)+j-1) = evar(1,i)
3350 tens(5,el2fa(nn4+n)+j-1) = evar(1,i)
3351 tens(6,el2fa(nn4+n)+j-1) = evar(1,i)
3352 ENDDO
3353 ENDIF
3354 ENDDO
3355
3356 ENDIF
3357 ENDIF
3358 ENDDO
3359
3360
3361 IF (nspmd == 1)THEN
3362 DO n=1,nbf
3363 r4(1) = tens(1,n)
3364 r4(2) = tens(2,n)
3365 r4(3) = tens(3,n)
3366 r4(4) = tens(4,n)
3367 r4(5) = tens(5,n)
3368 r4(6) = tens(6,n)
3370 ENDDO
3371 ELSE
3372 DO n = 1, nbf
3373 wa(6*n-5) = tens(1,n)
3374 wa(6*n-4) = tens(2,n)
3375 wa(6*n-3) = tens(3,n)
3376 wa(6*n-2) = tens(4,n)
3377 wa(6*n-1) = tens(5,n)
3378 wa(6*n ) = tens(6,n)
3379 ENDDO
3380 IF(ispmd == 0) THEN
3381 buf = numelsg*6 + numels16g*18+numsphg*6
3382 ELSE
3383 buf = 1
3384 ENDIF
3386 ENDIF
3387
3388 600 CONTINUE
3389
3390 DEALLOCATE(wa)
3391 RETURN
subroutine spmd_r4get_partn(size, nbf_l, nbpart, iadg, wal, buf)
subroutine srota6_s8s(kcvt, tens, gama, khbe, ityp, frame, iint, isorth)
void write_r_c(float *w, int *len)