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