28 SUBROUTINE thsol_count(NTHGRP2 , ITHGRP , WA_SIZE, INDEX_WA_SOL,
29 . IPARG ,ITHBUF ,SITHBUF)
36#include "implicit_f.inc"
40#include "vect01_c.inc"
47 INTEGER,
INTENT(IN) :: SITHBUF
48 INTEGER IPARG(NPARG,NGROUP),ITHBUF(*)
49 INTEGER,
INTENT(inout) :: WA_SIZE,NTHGRP2
50 INTEGER,
DIMENSION(2*NTHGRP2+1),
INTENT(inout) :: INDEX_WA_SOL
51 INTEGER,
DIMENSION(NITHGR,*),
INTENT(in) :: ITHGRP
56 INTEGER II,I,J,JJ,K,L,N, IH, NG, MTE,LWA,NEL,
57 . nuvar, ip,ipt,isolnod,itens,ipwwa,ispau,iuwwa,
58 . it,ir,is,j1,j2,j3,nptg,nptr,nptt,npts,nlay,nfail,nvarf,
59 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,khbe
60 . cpt,pid,isvis,tshell,tsh_ort,icsig,ivisc,nptl,il,kk(6)
61 INTEGER :: J_FIRST,NITER,IADB,NN,IADV,NVAR,ITYP,IJK
62 INTEGER,
DIMENSION(NTHGRP2) :: INDEX_SOL
68 index_sol(1:nthgrp2) = 0
80 DO WHILE((ithbuf(ih+nn) /= ispmd).AND.(ih < iadb+nn))
84 IF (ih >= iadb+nn)
GOTO 666
95 IF (mte /= 0 .AND. mte /= 13)
THEN
103 ii = ((ih-1) - iadb)*nvar
104 DO WHILE((ithbuf(ih+nn) /= ispmd).AND.(ih < iadb+nn))
107 IF (ih > iadb+nn)
GOTO 666
108 wa_size = wa_size + nvar + 1
117 index_sol(niter) = wa_size
124 IF(bool.EQV..true.)
THEN
125 IF( index_sol(i)/=0 )
THEN
135 index_wa_sol(j) = index_sol(j_first)
137 index_wa_sol(j) = j_first
138 DO i=j_first+1,nthgrp2
139 IF( index_sol(i)-index_sol(i-1)>0 )
THEN
141 index_wa_sol(j) = index_sol(i)
147 index_wa_sol(2*nthgrp2+1) = j