[petsc-users] convergence with PCLU

Hong Zhang hzhang at mcs.anl.gov
Mon Sep 12 10:41:30 CDT 2011


Ata:
>
> I was running an small problem (~9000 unknowns) and I decided to try the direct solver with PCLU. What is puzzling me is that when it converges if I check the residual with KSPGetResidualNorm it gives me zero

KSPGetResidualNorm() gives "approximate preconditioned residual norm".
Run your code with option '-ksp_monitor_true_residual' for true residual.
I never get zero for preconditioned residual with LU.
Also use option '-ksp_converged_reason' to check.

but when I calculate the residual myself ( ||r||:=||Ax-b||) it gives
me ||r||~8.8e-6? -I know my matrix is ill-conditioned (I'm solving a
very bad 4th order problem) and I get a poor convergence with gmres.-
Is there a remedy for this or I should forget using direct solvers all
together.

Direct solver should be used for ill-conditioned problem. It it does
not work for your
problem, then something might be wrong with the matrix/model.

Hong


More information about the petsc-users mailing list