[petsc-users] ML - zero pivot error

Stijn A. M. Vantieghem stijn.vantieghem at erdw.ethz.ch
Fri Jun 3 03:54:19 CDT 2011


Dear all,

I am using PETSc (Fortran interface) to solve a Poisson equation with Neumann boundary conditions. Up till now, I managed to do this with Hypre's BoomerAMG. Now, I am investigating whether I can improve the performance of my code by using ML. However, at execution I receive a zero pivot error; I tried to remove the (constant) null space with KSPSetNullSpace, but this didn't solve my problem. Do you have an idea of what I'm doing wrong? Thanks. 

The relevant portions of my code are as follows:

!****************************************************
call KSPCreate(PETSC_COMM_WORLD,ksp,ierr)
call KSPSetOperators(ksp,M,M,DIFFERENT_NONZERO_PATTERN,ierr)

call MatNullSpaceCreate(PETSC_COMM_WORLD,PETSC_TRUE,0,PETSC_NULL,sp,ierr)   
call KSPSetNullSpace(ksp,sp,ierr)
         
call KSPGetPC(ksp,pc,ierr)
call PCSetType(pc,PCML,ierr)

call KSPSetFromOptions(ksp,ierr)
...
call KSPSetInitialGuessNonzero(ksp,PETSC_TRUE,ierr)
call KSPSolve(ksp,petsc_rhs,petsc_pressure,ierr)
!****************************************************

and the error message is:

[0]PETSC ERROR: --------------------- Error Message ------------------------------------
[0]PETSC ERROR: Detected zero pivot in LU factorization
see http://www.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html#ZeroPivot!
[0]PETSC ERROR: Zero pivot row 0 value 3.57045e-20 tolerance 1e-12!
[0]PETSC ERROR: ------------------------------------------------------------------------
...
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: MatLUFactorNumeric_SeqAIJ() line 574 in src/mat/impls/aij/seq/aijfact.c
[0]PETSC ERROR: MatLUFactorNumeric() line 2587 in src/mat/interface/matrix.c
[0]PETSC ERROR: PCSetUp_LU() line 158 in src/ksp/pc/impls/factor/lu/lu.c
[0]PETSC ERROR: PCSetUp() line 795 in src/ksp/pc/interface/precon.c
[0]PETSC ERROR: KSPSetUp() line 237 in src/ksp/ksp/interface/itfunc.c
[0]PETSC ERROR: PCSetUp_MG() line 602 in src/ksp/pc/impls/mg/mg.c
[0]PETSC ERROR: PCSetUp_ML() line 668 in src/ksp/pc/impls/ml/ml.c
[0]PETSC ERROR: PCSetUp() line 795 in src/ksp/pc/interface/precon.c
[0]PETSC ERROR: KSPSetUp() line 237 in src/ksp/ksp/interface/itfunc.c
[0]PETSC ERROR: KSPSolve() line 353 in src/ksp/ksp/interface/itfunc.c

Regards
Stijn 

Stijn A.M. Vantieghem
Earth and Planetary Magnetism
Institute for Geophysics
ETH Zürich
Sonneggstrasse 5 - CH 8092 Zürich
tel: +41 44 632 39 90
e-mail: stijn.vantieghem at erdw.ethz.ch






More information about the petsc-users mailing list