Changeset c731b25


Ignore:
Timestamp:
12/12/10 22:43:44 (2 years ago)
Author:
Oleg Batrashev <ogbash@…>
Branches:
master, external, fix-prolong, refactor, refactor-subsolvers
Children:
62787ad
Parents:
82752f1
git-author:
Oleg Batrashev <ogbash@…> (12/12/10 22:43:44)
git-committer:
Oleg Batrashev <ogbash@…> (12/12/10 22:43:44)
Message:

Coarse level preconditioner refactoring: fix error in 1 level, 1-processor, additive and multiplicative Schwarz.

Location:
src/solvers
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/solvers/pcg.F90

    r82752f1 rc731b25  
    489489               cdat%send,useprev=.not.isFirstIter) 
    490490        endif 
    491  
    492         ! first level prec 
    493         if (sctls%input_type==DCTL_INPUT_TYPE_ELEMENTAL.or.numprocs>1) then 
    494           call sparse_multisolve(sol=sol,A=A,M=M,rhs=rhs,res=res, & 
     491      end if ! cdat%active 
     492 
     493      ! first level prec 
     494      if (sctls%input_type==DCTL_INPUT_TYPE_ELEMENTAL.or.numprocs>1) then 
     495        call sparse_multisolve(sol=sol,A=A,M=M,rhs=rhs,res=res, & 
    495496                        A_interf_=A_interf_, & 
    496497                        refactor=refactor_) !fine solves  
    497         else 
    498           call sparse_multisolve(sol=sol,A=A,M=M,rhs=rhs,res=res, & 
     498      else 
     499        call sparse_multisolve(sol=sol,A=A,M=M,rhs=rhs,res=res, & 
    499500                        A_interf_=A_interf_,AC=CoarseMtx_, & 
    500501                        refactor=refactor_,Restrict=Restrict) !fine solves  
    501         endif 
    502       end if ! cdat%active 
     502      endif 
    503503 
    504504      if (sctls%levels>1) then 
  • src/solvers/subsolvers.F90

    re365c5b rc731b25  
    15081508    integer :: i,j,ii,jj 
    15091509    logical,save :: alloc=.false. 
    1510     type(indlist),dimension(:),pointer :: ind 
     1510    type(indlist),dimension(:),pointer,save :: ind 
    15111511    if (A%arrange_type/=D_SpMtx_ARRNG_ROWS) then 
    15121512      call SpMtx_arrange(A,arrange_type=D_SpMtx_ARRNG_ROWS,sort=.true.)   ! 
Note: See TracChangeset for help on using the changeset viewer.