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