38
39
40
41 USE elbufdef_mod
42 USE output_mod
43 use element_mod , only : nixs,nixq,nixc,nixt,nixr,nixp,nixtg
44
45
46
47#include "implicit_f.inc"
48
49
50
51#include "com01_c.inc"
52#include "scr16_c.inc"
53#include "param_c.inc"
54#include "task_c.inc"
55
56
57
58 INTEGER IXC(NIXC,*),IXTG(NIXTG,*),
59 . IPARG(NPARG,*),IPM(NPROPMI,*),IGEO(NPROPGI,*),
60 . WASZ,P0ARS,IXS(NIXS,*),IXR(NIXR,*),IXP(NIXP,*),
61 . IXT(NIXT,*)
63 . geo(npropg,*)
64 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
65 TYPE(OUTPUT_),INTENT(INOUT) :: OUTPUT
66 INTEGER, INTENT(IN) :: LIPART1
67 INTEGER, INTENT(IN) :: NPART
68 INTEGER, INTENT(IN) :: NUMSPH
69 INTEGER, INTENT(IN) :: IPARTSP(NUMSPH)
70 INTEGER, INTENT(IN) :: IPART(LIPART1,NPART)
71
72
73
74 INTEGER ITY,NFT,LFT,LLT,NPT,NPTM,ISTRAIN,IHBE,
75 . NUVAR,MLW,NG,NEL,I,NPG,MPT,ISROT,
76 . RWASZ,WASZ2,P0ARSZ2,RWASZ2,ISOLNOD,
77 . NLAY,NPTR,NPTS,NPTT,IGTYP,
78 . NUVARR,NVARF,IL,NPT_ALL,IPROP,
79 . EL_FIX,EL_VAR,ISMSTR,NFAIL,IPRT,MT
80 TYPE(BUF_FAIL_) ,POINTER :: FBUF
81
82 p0ars = 0
83 wasz = 0
84
85 IF (stat_c(1) == 1.OR.stat_c(2) == 1.OR.stat_r(1) == 1.OR.
86 . stat_p(1) == 1.OR.stat_p(3) == 1.OR.stat_t(1) == 1.OR.
87 . output%STATE%STAT_SPH(3) == 1 ) THEN
88
89 wasz = 3*
max(stat_numelc,stat_numeltg,stat_numelr,stat_numelp,stat_numelt)
90 wasz =
max(wasz,4*output%STATE%STAT_NUMELSPH)
91
92 rwasz = 3*
max(stat_numelc_g,stat_numeltg_g,stat_numelr_g,stat_numelp_g,stat_numelt_g)
93 rwasz=
max(rwasz,4*output%STATE%STAT_NUMELSPH_G)
94 IF (ispmd == 0) p0ars = rwasz
95 ENDIF
96
97 p0arsz2 = 0
98 wasz2 = 0
99
100 IF (stat_c(3) == 1) THEN
101
102
103
104 DO ng=1,ngroup
105 ity = iparg(5,ng)
106 nel = iparg(2,ng)
107 igtyp = iparg(38,ng)
108 IF (ity == 3 .OR. ity == 7) THEN
109 npt = iparg(6,ng)
110 ihbe = iparg(23,ng)
111 nptm =
max(1,iabs(npt))
112 nlay = elbuf_tab(ng)%NLAY
113 nptr = elbuf_tab(ng)%NPTR
114 npts = elbuf_tab(ng)%NPTS
115
116 npg = nptr*npts
117 IF (ity==3 .AND. ihbe==23) npg=4
118
119
120
121 IF (igtyp == 51 .OR. igtyp == 52) THEN
122 npt_all = 0
123 DO il=1,nlay
124 npt_all = npt_all + elbuf_tab(ng)%BUFLY(il)%NPTT
125 ENDDO
126 nptm =
max(1,npt_all)
127 ENDIF
128 wasz2 = wasz2+(6+nptm*npg)*nel
129 ENDIF
130 ENDDO
131
132 rwasz2= wasz2
134 IF (ispmd == 0) p0arsz2 = rwasz2
135 ENDIF
136
137 p0ars=
max(p0ars,p0arsz2)+6
138 wasz =
max(wasz,wasz2)
139
140 p0arsz2 = 0
141 wasz2 = 0
142
143 IF (stat_c(4) == 1) THEN
144
145
146
147 DO ng=1,ngroup
148 ity = iparg(5,ng)
149 nel = iparg(2,ng)
150 igtyp = iparg(38,ng)
151 IF (ity == 3 .OR. ity == 7) THEN
152 npt =iparg(6,ng)
153 mpt =iabs(npt)
154 mlw =iparg(1,ng)
155 ihbe = iparg(23,ng)
156 nlay = elbuf_tab(ng)%NLAY
157 nptr = elbuf_tab(ng)%NPTR
158 npts = elbuf_tab(ng)%NPTS
159
160 npg = nptr*npts
161 IF (ity==3.AND.ihbe==23) npg=4
162
163
164
165 IF (igtyp == 51 .OR. igtyp == 52) THEN
166 npt_all = 0
167 DO il=1,nlay
168 npt_all = npt_all + elbuf_tab(ng)%BUFLY(il)%NPTT
169 ENDDO
171 ENDIF
172 IF (mlw == 1 .OR. mlw == 3 .OR. mlw == 23) mpt=0
173
174 wasz2 = wasz2 + 5*nel
175 IF (mpt == 0) THEN
176 wasz2 = wasz2 + (9*npg+7)*nel
177 ELSE
178 wasz2 = wasz2 + (6*npg*mpt+7)*nel
179 ENDIF
180 ENDIF
181 ENDDO
182
183 rwasz2= wasz2
185 IF (ispmd == 0) p0arsz2 = rwasz2
186 ENDIF
187
188 p0ars=
max(p0ars,p0arsz2)+6
189 wasz =
max(wasz,wasz2)
190
191 p0arsz2 = 0
192 wasz2 = 0
193
194 IF (stat_c(10) == 1) THEN
195
196
197
198 DO ng=1,ngroup
199 ity = iparg(5,ng)
200 nel = iparg(2,ng)
201 igtyp = iparg(38,ng)
202 IF (ity == 3 .OR. ity == 7) THEN
203 npt =iparg(6,ng)
204 mpt =iabs(npt)
205 mlw =iparg(1,ng)
206 ihbe = iparg(23,ng)
207 nlay = elbuf_tab(ng)%NLAY
208 nptr = elbuf_tab(ng)%NPTR
209 npts = elbuf_tab(ng)%NPTS
210
211 npg = nptr*npts
212 IF (ihbe==23) npg=4
213
214
215
216 npt_all = 0
217 DO il=1,nlay
218 npt_all = npt_all + elbuf_tab(ng)%BUFLY(il)%NPTT
219 ENDDO
221 IF (mlw == 1 .OR. mlw == 3 .OR. mlw == 23) mpt=0
222
223 wasz2 = wasz2 + 5*nel
224 IF (mpt == 0) THEN
225 wasz2 = wasz2 + (13*npg+7)*nel
226 ELSE
227 wasz2 = wasz2 + (8*npg*mpt+7)*nel
228 ENDIF
229 ENDIF
230 ENDDO
231
232 rwasz2= wasz2
234 IF (ispmd == 0) p0arsz2 = rwasz2
235 ENDIF
236
237 p0ars=
max(p0ars,p0arsz2)+6
238 wasz =
max(wasz,wasz2)
239
240 p0arsz2 = 0
241 wasz2 = 0
242
243 IF (stat_c(11) == 1) THEN
244
245
246
247 DO ng=1,ngroup
248 ity = iparg(5,ng)
249 nel = iparg(2,ng)
250 IF (ity == 3.OR.ity == 7) THEN
251 npt =iparg(6,ng)
252 mpt =iabs(npt)
253 mlw =iparg(1,ng)
254 nlay = elbuf_tab(ng)%NLAY
255 npt_all = 0
256 DO il=1,nlay
257 npt_all = npt_all + elbuf_tab(ng)%BUFLY(il)%NPTT
258 ENDDO
260 IF (npt==0) mpt=2
261
262 ihbe =iparg(23,ng)
263 npg =iparg(48,ng)
264 IF (ihbe==23) npg=4
265
266 wasz2 = wasz2 + (7*npg*mpt+6)*nel
267 ENDIF
268 ENDDO
269
270 rwasz2= wasz2
272 IF (ispmd == 0) p0arsz2 = rwasz2
273 ENDIF
274
275 p0ars=
max(p0ars,p0arsz2)+6
276 wasz =
max(wasz,wasz2)
277
278 p0arsz2 = 0
279 wasz2 = 0
280
281 IF (stat_c(5) == 1) THEN
282
283
284
285 DO ng=1,ngroup
286 ity = iparg(5,ng)
287 nel = iparg(2,ng)
288 IF (ity == 3.OR.ity == 7) THEN
289 npt =iparg(6,ng)
290 mpt =iabs(npt)
291 mlw =iparg(1,ng)
292 IF (mlw == 1.OR.mlw == 3.OR.mlw == 23) mpt=0
293
294 ihbe =iparg(23,ng)
295 npg =iparg(48,ng)
296
297
298 wasz2 = wasz2 + 5*nel
299 wasz2 = wasz2 + (8*npg+1)*nel
300 ENDIF
301 ENDDO
302
303 rwasz2= wasz2
305 IF (ispmd == 0) p0arsz2 = rwasz2
306 ENDIF
307
308 p0ars=
max(p0ars,p0arsz2)+6
309 wasz =
max(wasz,wasz2)
310
311 p0arsz2 = 0
312 wasz2 = 0
313 IF (stat_c(6) == 1) THEN
314
315
316
317 DO ng=1,ngroup
318 ity = iparg(5,ng)
319 nel = iparg(2,ng)
320 nft = iparg(3,ng)
321
322 IF (ity == 3.OR.ity == 7) THEN
323 lft=1
324 llt=nel
325 mlw = iparg(1,ng)
326 npt = iparg(6,ng)
327 ihbe = iparg(23,ng)
328 igtyp = iparg(38,ng)
329 istrain= iparg(44,ng)
330 nlay = elbuf_tab(ng)%NLAY
331 nptr = elbuf_tab(ng)%NPTR
332 npts = elbuf_tab(ng)%NPTS
333 npg = nptr*npts
334 IF (mlw == 25.OR.mlw == 27.OR.mlw == 32) istrain=1
335
336 nuvar = 0
337 IF (ity == 3) THEN
338 DO i=lft,llt
339 nuvar =
max(nuvar,ipm(8,ixc(1,i+nft)))
340 ENDDO
341 ELSE
342 DO i=lft,llt
343 nuvar =
max(nuvar,ipm(8,ixtg(1,i+nft)))
344 ENDDO
345 ENDIF
346 IF (mlw == 78) THEN
347 nuvar = nuvar + 18
348 ELSEIF (mlw == 87) THEN
349 nuvar = elbuf_tab(ng)%BUFLY(1)%NVAR_MAT + 12
350 ELSEIF (mlw == 112) THEN
351 nuvar = 3
352 ELSE IF (mlw == 36) THEN
353 nuvar = 6
354 END IF
355
356 mpt = iabs(npt)
357
358
359
360 IF (igtyp == 51 .OR. igtyp == 52) THEN
361 npt_all = 0
362 DO il=1,nlay
363 npt_all = npt_all + elbuf_tab(ng)%BUFLY(il)%NPTT
364 ENDDO
366 ENDIF
367
369 wasz2 = wasz2 + nel*(6+npg*nptm*nuvar)
370 ENDIF
371 ENDDO
372
373 rwasz2= wasz2
375 IF (ispmd == 0) p0arsz2 = rwasz2
376 ENDIF
377
378 p0ars=
max(p0ars,p0arsz2)+6
379 wasz =
max(wasz,wasz2)
380
381 p0arsz2 = 0
382 wasz2 = 0
383
384 IF (stat_c(7) == 1) THEN
385
386
387
388 DO ng=1,ngroup
389 ity = iparg(5,ng)
390 nel = iparg(2,ng)
391 nft = iparg(3,ng)
392
393 IF (ity == 3.OR.ity == 7) THEN
394 lft=1
395 llt=nel
396 npt =iparg(6,ng)
397 istrain=iparg(44,ng)
398 ihbe =iparg(23,ng)
399
400 wasz2 = wasz2 + nel*(9+npt*5)
401 END IF
402 ENDDO
403
404 rwasz2= wasz2
406 IF (ispmd == 0) p0arsz2 = rwasz2
407 ENDIF
408
409 p0ars=
max(p0ars,p0arsz2)+6
410 wasz =
max(wasz,wasz2)
411
412 p0arsz2 = 0
413 wasz2 = 0
414
415 IF (stat_c(8) == 1) THEN
416
417
418
419 DO ng=1,ngroup
420 ity =iparg(5,ng)
421 nel =iparg(2,ng)
422 nft =iparg(3,ng)
423
424 IF (ity == 3.OR.ity == 7) THEN
425 lft=1
426 llt=nel
427 mlw = iparg(1,ng)
428 npt = iparg(6,ng)
429 igtyp = iparg(38,ng)
430 istrain= iparg(44,ng)
431 ihbe = iparg(23,ng)
432 nptr = elbuf_tab(ng)%NPTR
433 npts = elbuf_tab(ng)%NPTS
434 npg = nptr*npts
435 IF (mlw == 25.OR.mlw == 27.OR.mlw == 32) istrain=1
436
437 nuvarr = 0
438 IF (ity == 3) THEN
439 DO i=lft,llt
440 nuvarr =
max(nuvarr,ipm(221,ixc(1,i+nft)) + 1)
441 ENDDO
442 ELSE
443 DO i=lft,llt
444 nuvarr =
max(nuvarr,ipm(221,ixtg(1,i+nft)) + 1)
445 ENDDO
446 ENDIF
447
448 mpt=iabs(npt)
449
450
451
452
453 IF (igtyp == 51 .OR. igtyp == 52) THEN
454 npt_all = 0
455 DO il=1,nlay
456 npt_all = npt_all + elbuf_tab(ng)%BUFLY(il)%NPTT
457 ENDDO
459 ENDIF
460
462 wasz2 = wasz2 + nel*(7 + npg*(3+npt *
max(1,nuvarr)* 15))
463 END IF
464 ENDDO
465
466 rwasz2= wasz2
468 IF (ispmd == 0) p0arsz2 = rwasz2
469 ENDIF
470
471 p0ars=
max(p0ars,p0arsz2)+6
472 wasz =
max(wasz,wasz2)
473
474 p0arsz2 = 0
475 wasz2 = 0
476
477
478
479 IF (stat_s(4)==1 .OR. stat_s(8)==1) THEN
480 DO ng=1,ngroup
481 ity =iparg(5,ng)
482 IF(ity==1) THEN
483 nel =iparg(2,ng)
484 nlay = elbuf_tab(ng)%NLAY
485 nptr = elbuf_tab(ng)%NPTR
486 npts = elbuf_tab(ng)%NPTS
487 nptt = elbuf_tab(ng)%NPTT
488 npt = nlay*nptr*npts*nptt
489
490 wasz2 = wasz2 + nel * (12 + 9 * npt)
491 ENDIF
492 ENDDO
493 rwasz2= wasz2
495 IF (ispmd== 0) p0arsz2 = rwasz2
496 ENDIF
497
498 p0ars=
max(p0ars,p0arsz2)+8
499 wasz =
max(wasz,wasz2)
500 p0arsz2 = 0
501 wasz2 = 0
502
503
504
505 IF (stat_s(5)==1 .OR. stat_s(9)==1) THEN
506 DO ng=1,ngroup
507 ity =iparg(5,ng)
508 IF(ity==1) THEN
509 nel =iparg(2,ng)
510 nlay = elbuf_tab(ng)%NLAY
511 nptr = elbuf_tab(ng)%NPTR
512 npts = elbuf_tab(ng)%NPTS
513 nptt = elbuf_tab(ng)%NPTT
514 npt = nlay*nptr*npts*nptt
515
516 wasz2 = wasz2 + nel * (11 + 6 * npt)
517 ENDIF
518 ENDDO
519 rwasz2= wasz2
521 IF (ispmd==0 ) p0arsz2 = rwasz2
522 ENDIF
523
524 p0ars=
max(p0ars,p0arsz2)+6
525 wasz =
max(wasz,wasz2)
526 p0arsz2 = 0
527 wasz2 = 0
528 nuvar = 0
529
530
531
532 IF (stat_s(6)==1) THEN
533 DO ng=1,ngroup
534 mlw =iparg(1,ng)
535 ity =iparg(5,ng)
536 IF(ity==1) THEN
537 nel =iparg(2,ng)
538 nft =iparg(3,ng)
539 nlay = elbuf_tab(ng)%NLAY
540 nptr = elbuf_tab(ng)%NPTR
541 npts = elbuf_tab(ng)%NPTS
542 nptt = elbuf_tab(ng)%NPTT
543 npt = nlay*nptr*npts*nptt
544
545 IF (mlw == 112) THEN
546 nuvar = 3
547 ELSE
548 DO i=1,nel
549 nuvar =
max(nuvar,ipm(8,ixs(1,i+nft)))
550 ENDDO
551 ENDIF
552 wasz2 = wasz2 + nel * (11 + npt * nuvar)
553 ENDIF
554 ENDDO
555 rwasz2= wasz2
557 IF (ispmd==0 ) p0arsz2 = rwasz2
558 ENDIF
559
560 p0ars=
max(p0ars,p0arsz2)+6
561 wasz =
max(wasz,wasz2)
562
563 p0arsz2 = 0
564 wasz2 = 0
565
566
567
568 IF (stat_s(7)==1.OR.stat_s(10)==1) THEN
569 DO ng=1,ngroup
570 ity =iparg(5,ng)
571 IF(ity==1) THEN
572 nel =iparg(2,ng)
573 nlay = elbuf_tab(ng)%NLAY
574 nptr = elbuf_tab(ng)%NPTR
575 npts = elbuf_tab(ng)%NPTS
576 nptt = elbuf_tab(ng)%NPTT
577 npt = nlay*nptr*npts*nptt
578
579 wasz2 = wasz2 + nel * (11 + nlay * 6)
580 ENDIF
581 ENDDO
582 rwasz2= wasz2
584 IF (ispmd ==0) p0arsz2 = rwasz2
585 ENDIF
586
587 p0ars=
max(p0ars,p0arsz2)+14
588 wasz =
max(wasz,wasz2)
589
590 p0arsz2 = 0
591 wasz2 = 0
592
593
594
595 IF (stat_s(11)==1) THEN
596 nvarf = 0
597 nfail = 0
598 DO ng=1,ngroup
599 nfail =
max(nfail,elbuf_tab(ng)%BUFLY(1)%NFAIL)
600 ENDDO
601
602 IF (nfail > 0) THEN
603 DO ng=1,ngroup
604 IF (elbuf_tab(ng)%BUFLY(1)%NFAIL > 0) THEN
605 fbuf => elbuf_tab(ng)%BUFLY(1)%FAIL(1,1,1)
606 nvarf =
max(nvarf,fbuf%FLOC(1)%NVAR)
607 END IF
608 ENDDO
609 ENDIF
610
611 DO ng=1,ngroup
612 ity =iparg(5,ng)
613 IF(ity==1) THEN
614 nel =iparg(2,ng)
615 nft =iparg(3,ng)
616 nlay = elbuf_tab(ng)%NLAY
617 nptr = elbuf_tab(ng)%NPTR
618 npts = elbuf_tab(ng)%NPTS
619 nptt = elbuf_tab(ng)%NPTT
620 npt = nlay*nptr*npts*nptt
621
622 wasz2 = wasz2 + nel * (10 + 5 * (npt * (nvarf+1) + 4) )
623 ENDIF
624 ENDDO
625 rwasz2= wasz2
627 IF (ispmd==0 ) p0arsz2 = rwasz2
628 ENDIF
629
630 p0ars=
max(p0ars,p0arsz2)+6
631 wasz =
max(wasz,wasz2)
632
633 p0arsz2 = 0
634 wasz2 = 0
635
636
637
638 IF (stat_r(1) == 1) THEN
639 DO ng=1,ngroup
640 el_var = 0
641 ity = iparg(5,ng)
642 IF (ity == 6) THEN
643 nel = iparg(2,ng)
644 nft = iparg(3,ng)
645 iprop = ixr(1,nft+1)
646 igtyp = igeo(11,iprop)
647 el_fix = 5
648
649 IF (igtyp == 4) THEN
650 el_var = 7 + el_fix
651 ELSEIF (igtyp == 12) THEN
652 el_var = 8 + el_fix
653 ELSEIF (igtyp == 8 .OR. igtyp == 13 .OR. igtyp == 25
654 . .OR. igtyp == 23 ) THEN
655 el_var = 40 + el_fix
656 ELSEIF (igtyp == 26) THEN
657 el_var = 6 + el_fix
658 ELSEIF (igtyp == 29 .OR. igtyp == 30 .OR. igtyp == 31 .OR.
659 . igtyp == 32 .OR. igtyp == 33 .OR. igtyp == 35 .OR.
660 . igtyp == 36 .OR. igtyp == 44 .OR. igtyp == 45 .OR.
661 . igtyp == 46) THEN
662 el_var = 13 + el_fix
663
664
665
666 nuvar = nint(geo(25,iprop))
667 el_var = el_var + nuvar
668 ENDIF
669
670 wasz2 = wasz2 + nel * el_var
671 ENDIF
672 ENDDO
673 rwasz2= wasz2
675 IF (ispmd == 0) p0arsz2 = rwasz2
676 ENDIF
677
678 p0ars=
max(p0ars,p0arsz2)+6
679 wasz =
max(wasz,wasz2)
680
681 p0arsz2 = 0
682 wasz2 = 0
683
684
685
686 IF (stat_p(1) == 1) THEN
687 DO ng=1,ngroup
688 el_var = 0
689 ity = iparg(5,ng)
690 npt = iparg(6,ng)
691 IF (ity == 5) THEN
692 nel = iparg(2,ng)
693 nft = iparg(3,ng)
694 iprop = ixp(5,nft+1)
695 igtyp = igeo(11,iprop)
696 el_fix = 13
697
698 IF (igtyp == 3) THEN
699 el_var = 1 + el_fix
700 ELSEIF (igtyp == 18) THEN
701 el_var = 4*npt + el_fix
702 nuvar = iparg(46,ng)
703 el_var = el_var + nuvar
704 ENDIF
705
706 wasz2 = wasz2 + nel * el_var
707 ENDIF
708 ENDDO
709 rwasz2= wasz2
711 IF (ispmd == 0) p0arsz2 = rwasz2
712 ENDIF
713
714 p0ars=
max(p0ars,p0arsz2)+6
715 wasz =
max(wasz,wasz2)
716
717 p0arsz2 = 0
718 wasz2 = 0
719
720
721
722 IF (stat_p(3) == 1) THEN
723 DO ng=1,ngroup
724 ity = iparg(5,ng)
725 nel = iparg(2,ng)
726 nft = iparg(3,ng)
727 IF (ity == 5) THEN
728 lft=1
729 llt=nel
730 mlw = iparg(1,ng)
731 npt = iparg(6,ng)
732 igtyp = iparg(38,ng)
733
734 nuvar = 0
735 IF (igtyp == 18 .AND. mlw == 36) THEN
736 DO i=lft,llt
737 nuvar =
max(nuvar,ipm(8,ixp(1,i+nft)))
738 ENDDO
739 ENDIF
740
741 wasz2 = wasz2 + nel*(6+npt*nuvar)
742 ENDIF
743 ENDDO
744
745 rwasz2= wasz2
747 IF (ispmd == 0) p0arsz2 = rwasz2
748 ENDIF
749
750 p0ars=
max(p0ars,p0arsz2)+6
751 wasz =
max(wasz,wasz2)
752
753 p0arsz2 = 0
754 wasz2 = 0
755
756
757
758 IF (stat_t(1) == 1) THEN
759 DO ng=1,ngroup
760 el_fix = 0
761 ity = iparg(5,ng)
762 IF (ity == 4) THEN
763 nel = iparg(2,ng)
764
765 el_fix = 8
766
767 wasz2 = wasz2 + nel * el_fix
768 ENDIF
769 ENDDO
770 rwasz2= wasz2
772 IF (ispmd == 0) p0arsz2 = rwasz2
773 ENDIF
774
775 p0ars=
max(p0ars,p0arsz2)+6
776 wasz =
max(wasz,wasz2)
777
778 p0arsz2 = 0
779 wasz2 = 0
780
781
782
783 IF (stat_s(13)==1) THEN
784 DO ng=1,ngroup
785 ity =iparg(5,ng)
786 isolnod=iparg(28,ng)
787 ismstr =iparg(9,ng)
788 isrot =iparg(41,ng)
789 IF(ity==1) THEN
790 nel =iparg(2,ng)
791
792 wasz2 = wasz2 + nel * 7
793 IF (ismstr==1.OR.ismstr>=10) THEN
794 wasz2 = wasz2 + nel * isolnod*3
795 IF (isolnod==4 .AND. isrot>0) wasz2 = wasz2 + nel * isolnod*10
796 END IF
797 ENDIF
798 ENDDO
799 rwasz2= wasz2
801 IF (ispmd==0 ) p0arsz2 = rwasz2
802 ENDIF
803
804 p0ars=
max(p0ars,p0arsz2)+6
805 wasz =
max(wasz,wasz2)
806 p0arsz2 = 0
807 wasz2 = 0
808
809 IF (output%STATE%STAT_SPH(3) == 1) THEN
810
811
812
813 DO ng=1,ngroup
814 ity = iparg(5,ng)
815 nel = iparg(2,ng)
816 nuvar = 0
817 DO i=1,nel
818 iprt = ipartsp(i)
819 mt = ipart(1,iprt)
820 nuvar =
max(nuvar,ipm(8,mt))
821 ENDDO
822 wasz2 = wasz2+(nuvar+12)*nel
823 ENDDO
824
825 rwasz2= wasz2
827 IF (ispmd == 0) p0arsz2 = rwasz2
828 ENDIF
829
830 p0ars=
max(p0ars,p0arsz2)+6
831 wasz =
max(wasz,wasz2)
832
833 RETURN
subroutine spmd_glob_isum9(v, len)