[petsc-users] LU does not support zero diagonal entries?

Barry Smith bsmith at mcs.anl.gov
Mon Jul 27 15:49:16 CDT 2015


   You need to explicitly put a zero entry at all diagonal locations that have zero.

  Barry

1) this is too keep the logic of the symbolic and numeric factorization easier 
2) but we don't want to force all matrices to have locations on the diagonal so we don't automatically insert zero values.
> On Jul 27, 2015, at 3:34 PM, Fande Kong <fande.kong at colorado.edu> wrote:
> 
> Hi all,
> 
> I am solving a saddle point problem using LU, and the problem has some zeros at diagonal. I got error messages as follows:
> 
> [0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
> [0]PETSC ERROR: Object is in wrong state
> [0]PETSC ERROR: Matrix is missing diagonal entry 100
> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting.
> [0]PETSC ERROR: Petsc Development GIT revision: v3.6-130-g2e90825  GIT Date: 2015-07-13 18:57:36 -0500
> [0]PETSC ERROR: ./ex9 on a arch-darwin-cxx-debug named engr2-4-134-dhcp.int.colorado.edu by livia Mon Jul 27 14:28:23 2015
> [0]PETSC ERROR: Configure options --with-clanguage=cxx --with-shared-libraries=1 --download-fblaslapack=1 --with-mpi-dir=/Users/livia/math/mpich-3.1_install --download-parmetis=1 --download-metis=1 --with-64-bit-indices=1 --download-netcdf=1 --download-exodusii=1 --download-hdf5=1 --with-debugging=yes --with-c2html=0 --download-hypre=1 --download-superlu_dist=1 PETSC_DIR=/Users/livia/math/petsc-mat PETSC_ARCH=arch-darwin-cxx-debug
> [0]PETSC ERROR: #1 MatLUFactorSymbolic_SeqAIJ() line 298 in /Users/livia/math/petsc-mat/src/mat/impls/aij/seq/aijfact.c
> [0]PETSC ERROR: #2 MatLUFactorSymbolic() line 2894 in /Users/livia/math/petsc-mat/src/mat/interface/matrix.c
> [0]PETSC ERROR: #3 PCSetUp_LU() line 127 in /Users/livia/math/petsc-mat/src/ksp/pc/impls/factor/lu/lu.c
> [0]PETSC ERROR: #4 PCSetUp() line 982 in /Users/livia/math/petsc-mat/src/ksp/pc/interface/precon.c
> [0]PETSC ERROR: #5 KSPSetUp() line 332 in /Users/livia/math/petsc-mat/src/ksp/ksp/interface/itfunc.c
> [0]PETSC ERROR: #6 main() line 103 in /Users/livia/math/petsc-mat/src/ksp/pc/examples/tests/ex9.c
> [0]PETSC ERROR: PETSc Option Table entries:
> [0]PETSC ERROR: -af ./test64/A_1
> [0]PETSC ERROR: -bf ./test64/B_1
> [0]PETSC ERROR: -bsf ./test64/IS_1
> [0]PETSC ERROR: -ksp_type gmres
> [0]PETSC ERROR: -matload_block_size 1
> [0]PETSC ERROR: -pc_factor_mat_solver_package petsc
> [0]PETSC ERROR: -pc_type lu
> [0]PETSC ERROR: -rf ./test64/RHS_1
> [0]PETSC ERROR: -vecload_block_size 1
> [0]PETSC ERROR: ----------------End of Error Message -------send entire error message to petsc-maint at mcs.anl.gov----------
> application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0
> [cli_0]: aborting job:
> application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0
> 
> ===================================================================================
> =   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
> =   PID 39186 RUNNING AT engr2-4-134-dhcp.int.colorado.edu
> =   EXIT CODE: 73
> =   CLEANING UP REMAINING PROCESSES
> =   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
> ===================================================================================
> 
> 
> I was wondering if petsc does permutation to avoid having zero pivot? There are any options to turn on this function?
> 
> Thanks,
> 
> Fande Kong,



More information about the petsc-users mailing list