Matrix convergence.
Satish Balay
balay at mcs.anl.gov
Mon Mar 13 11:02:27 CST 2006
Actually there could be multiple blocks per proc in BJACOBI/ASM so the
could would be something like:
KSPGetPC(ksp,&pc);
PCBJacobiGetSubKSP(pc,&nblocks,&subksp);
for (i=0; i< nblocks; i++) {
PC subpc;
KPSGetPC(subksp[i],&subpc);
PCSetType(subpc,PCLU);
}
Satish
On Sat, 11 Mar 2006, Barry Smith wrote:
>
> KSPGetPC(ksp,&pc);
> PCBJacobiGetSubKSP(pc,&subksp); or PCASMGetSubKSP(..
> KPSGetPC(subksp,&subpc);
> PCSetType(subpc,PCLU);
>
> On Sun, 12 Mar 2006, billy at dem.uminho.pt wrote:
>
> > Hi,
> >
> >
> > "-sub_pc_type"
> >
> > How do I set this option in the code?
> >
> > Billy.
> >
> > Quoting Barry Smith <bsmith at mcs.anl.gov>:
> >
> > >
> > > You did not type it right -sub_pc_type lu not -pc_type lu
> > >
> > >
> > > On Fri, 3 Mar 2006, billy at dem.uminho.pt wrote:
> > >
> > > >
> > > > This is what I get:
> > > >
> > > > [0]PETSC ERROR: MatLUFactorSymbolic() line 2159 in
> > > src/mat/interface/matrix.c
> > > > [0]PETSC ERROR: No support for this operation for this object type!
> > > > [0]PETSC ERROR: Matrix type mpiaij symbolic LU!
> > > > [0]PETSC ERROR: PCSetUp_LU() line 252 in src/ksp/pc/impls/factor/lu/lu.c
> > > > [0]PETSC ERROR: PCSetUp() line 798 in src/ksp/pc/interface/precon.c
> > > > [0]PETSC ERROR: KSPSetUp() line 234 in src/ksp/ksp/interface/itfunc.c
> > > > [0]PETSC ERROR: KSPSolve() line 334 in src/ksp/ksp/interface/itfunc.c
> > > >
> > > >
> > > > Quoting Barry Smith <bsmith at mcs.anl.gov>:
> > > >
> > > > >
> > > > > Run the parallel PETSc job with -ksp_type gmres -ksp_gmres_restart
> > > 200
> > > > > -sub_pc_type lu
> > > > >
> > > > >
> > > > > On Fri, 3 Mar 2006, billy at dem.uminho.pt wrote:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > I tried to solve the 18x18 matrix with laspack and the results are
> > > > > > the
> > > > > following:
> > > > > >
> > > > > > Solver: GMRES, Preconditioning: NULL, Iterations: 500, Residual:
> > > 6.16E-2
> > > > > > Solver: GMRES, Preconditioning: SSOR, Iterations: 500, Residual:
> > > 6.57E-2
> > > > > > Solver: GMRES, Preconditioning: ILU, ERROR
> > > > > >
> > > > > > Solver: BiCGSTAB, Preconditioning: NULL, Iterations: 101, Residual:
> > > > > 8.88E-7
> > > > > > Solver: BiCGSTAB, Preconditioning: SSOR, Iterations: 36, Residual:
> > > > > 9.87E-7
> > > > > > Solver: BiCGSTAB, Preconditioning: ILU, ERROR
> > > > > >
> > > > > >
> > > > > > Billy.
> > > > > >
> > > > > >
> > > > > > Quoting Barry Smith <bsmith at mcs.anl.gov>:
> > > > > >
> > > > > > >
> > > > > > > Billy,
> > > > > > >
> > > > > > > Most likely there is something wrong with the matrix being
> > > > > > > generated. I would first look at the matrix entries and make
> > > > > > > sure they make sense. Then I would solve the linear systems
> > > > > > > with a direct solver -pc_type lu (on one processor and make
> > > > > > > sure the solutions are reasonable and your simulation has
> > > > > > > "correct" answers).
> > > > > > >
> > > > > > > It is possible the parallel matrix generation is wrong,
> > > > > > >
> > > > > > > Barry
> > > > > > >
> > > > > > >
> > > > > > > On Thu, 2 Mar 2006, billy at dem.uminho.pt wrote:
> > > > > > >
> > > > > > > >
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > >
> > > > > > > > I have been testing my parallel implementation with a 2D case. I
> > > > > > > > have
> > > > > used
> > > > > > > the
> > > > > > > > following grids with 2 and 4 processes: 4x4, 10x10, 16x16 and
> > > > > > > > 18x18.
> > > > > > > >
> > > > > > > > It works for the first three (max. number of iterations to
> > > > > > > > converge
> > > > > aprox.
> > > > > > > 70)
> > > > > > > > but when I increase to 18x18 the matrix does not converge. I
> > > > > > > > have
> > > > > increased
> > > > > > > the
> > > > > > > > maximum number of iterations and I have used GMRES, BiCGSTAB
> > > > > > > > with
> > > > > > > > preconditioners ASM, JACOBI, etc.
> > > > > > > >
> > > > > > > > With KSPType = GMRES and PCType = ASM:
> > > > > > > > Number of iterations: 500 Residual: +1.420471E-01
> > > > > > > >
> > > > > > > > With KSPType = GMRES and PCType = JACOBI:
> > > > > > > > Number of iterations: 500 Residual: +2.351882E-02
> > > > > > > >
> > > > > > > > With KSPType = BCGS and PCType = ASM:
> > > > > > > > Number of iterations: 136 Residual: +3.911446E+04
> > > > > > > >
> > > > > > > > With KSPType = BCGS and PCType = NULL:
> > > > > > > > Number of iterations: 157 Residual: +3.254728E+03
> > > > > > > >
> > > > > > > > Is it normal that the convergence detiorates so much with such a
> > > slight
> > > > > > > increase
> > > > > > > > in the dimension of the matrix? Is there any optimization
> > > > > > > > parameter
> > > that
> > > > > I
> > > > > > > may
> > > > > > > > be missing?
> > > > > > > >
> > > > > > > >
> > > > > > > > Billy.
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
> >
>
>
More information about the petsc-users
mailing list