[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Matrix convergence.



  KSPGetPC(ksp,&pc);
  PCBJacobiGetSubKSP(pc,&subksp);   or PCASMGetSubKSP(..
  KPSGetPC(subksp,&subpc);
  PCSetType(subpc,PCLU);

On Sun, 12 Mar 2006, billy@dem.uminho.pt wrote:

Hi,


"-sub_pc_type"

How do I set this option in the code?

Billy.

Quoting Barry Smith <bsmith@mcs.anl.gov>:

   You did not type it right -sub_pc_type lu not -pc_type lu


On Fri, 3 Mar 2006, billy@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@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@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@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@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.