Ignore:
Timestamp:
12/11/10 14:04:07 (2 years ago)
Author:
Oleg Batrashev <ogbash@…>
Branches:
master, external, fix-prolong, refactor, refactor-subsolvers
Children:
82752f1
Parents:
b77a46f
git-author:
Oleg Batrashev <ogbash@…> (12/11/10 14:04:07)
git-committer:
Oleg Batrashev <ogbash@…> (12/11/10 14:04:07)
Message:

Fixes to coarse preconditioner refactoring to restore most tests.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/solvers/pcg.F90

    rb77a46f r026b2c5  
    414414    endif 
    415415    ! ---------------------------- 
    416     isFirstIter = .not.(present(refactor_).and.refactor_) 
     416    isFirstIter = present(refactor_).and.refactor_ 
    417417    if (sctls%method==0) then 
    418418      sol=rhs 
     
    458458        end if 
    459459 
    460         ! Send coarse vector 
    461         call SpMtx_Ax(clrhs,Restrict,rhs,dozero=.true.) ! restrict <RA> 
    462         if (cdat_vec%active) then 
    463           call AllSendCoarseVector(clrhs,cdat_vec%nprocs,cdat_vec%cdisps,& 
    464                cdat_vec%send,useprev=isFirstIter) 
    465         else 
    466           call AllSendCoarseVector(clrhs,cdat%nprocs,cdat%cdisps,& 
    467                cdat%send,useprev=isFirstIter) 
    468         endif 
    469  
    470460        ! allocate coarse vectors 
    471461        if (isFirstIter) then 
     
    485475            allocate(tmpsol(size(rhs))) 
    486476          endif 
     477          allocate(clrhs(Restrict%nrows)) ! allocate memory for vector 
    487478        end if 
     479 
     480        ! Send coarse vector 
     481        call SpMtx_Ax(clrhs,Restrict,rhs,dozero=.true.) ! restrict <RA> 
     482        if (cdat_vec%active) then 
     483          call AllSendCoarseVector(clrhs,cdat_vec%nprocs,cdat_vec%cdisps,& 
     484               cdat_vec%send,useprev=.not.isFirstIter) 
     485        else 
     486          call AllSendCoarseVector(clrhs,cdat%nprocs,cdat%cdisps,& 
     487               cdat%send,useprev=.not.isFirstIter) 
     488        endif 
    488489 
    489490        ! first level prec 
Note: See TracChangeset for help on using the changeset viewer.