28 SUBROUTINE thsph_count(NTHGRP2, ITHGRP, WA_SIZE, INDEX_WA_SPH,
29 . IPARG , ITHBUF ,SITHBUF)
36#include "implicit_f.inc"
40#include "vect01_c.inc"
47 INTEGER,
INTENT(in) :: SITHBUF
48 INTEGER IPARG(NPARG,*),ITHBUF(*)
49 INTEGER,
INTENT(in) :: NTHGRP2
50 INTEGER,
INTENT(inout) :: WA_SIZE
51 INTEGER,
DIMENSION(2*NTHGRP2+1),
INTENT(inout) :: INDEX_WA_SPH
52 INTEGER,
DIMENSION(NITHGR,*),
INTENT(in) :: ITHGRP
57 INTEGER II,JJ, I, J, N, IH, NG,
58 . k, ist, ip, l, lwa, nel,kk(6)
59 INTEGER :: J_FIRST,NITER,IADR,NN,IADV,NVAR,ITYP,IJK
60 INTEGER,
DIMENSION(NTHGRP2) :: INDEX_SPH
66 index_sph(1:nthgrp2) = 0
78 DO WHILE((ithbuf(ih+nn)/=ispmd).AND.(ih<iadr+nn))
81 IF (ih>=iadr+nn)
GOTO 666
86 IF(ity==51.OR.ity==52)
THEN
103 ii = ((ih-1) - iadr)*nvar
104 DO WHILE((ithbuf(ih+nn)/=ispmd).AND.(ih<iadr+nn))
107 IF(ih>iadr+nn)
GOTO 666
108 wa_size = wa_size + nvar + 1
115 index_sph(niter) = wa_size
122 IF(bool.EQV..true.)
THEN
123 IF( index_sph(i)/=0 )
THEN
133 index_wa_sph(j) = index_sph(j_first)
135 index_wa_sph(j) = j_first
136 DO i=j_first+1,nthgrp2
137 IF( index_sph(i)-index_sph(i-1)>0 )
THEN
139 index_wa_sph(j) = index_sph(i)
145 index_wa_sph(2*nthgrp2+1) = j
subroutine thsph_count(nthgrp2, ithgrp, wa_size, index_wa_sph, iparg, ithbuf, sithbuf)