[petsc-users] Error Using Matrix-Free Linear Operator with Matrix-Explicit Preconditioner

Jared Crean jcrean01 at gmail.com
Thu Feb 1 11:48:23 CST 2018


Hello,

     I am trying to use a matrix-free linear operator with a 
matrix-explicit preconditioner, but when I try to do the KSP solve it 
gives the error:

[0]PETSC ERROR: See 
http://www.mcs.anl.gov/petsc/documentation/linearsolvertable.html for 
possible LU and Cholesky solvers
[0]PETSC ERROR: Could not locate a solver package. Perhaps you must 
./configure with --download-<package>
[0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html 
for trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.8.3, Dec, 09, 2017
[0]PETSC ERROR: ./testcase on a arch-linux2-c-debug named jared-r15 by 
jared Thu Feb  1 12:40:57 2018
[0]PETSC ERROR: Configure options
[0]PETSC ERROR: #1 MatGetFactor() line 4346 in 
/home/jared/.julia/v0.4/PETSc2/deps/petsc-3.8.3/src/mat/interface/matrix.c
[0]PETSC ERROR: #2 PCSetUp_ILU() line 142 in 
/home/jared/.julia/v0.4/PETSc2/deps/petsc-3.8.3/src/ksp/pc/impls/factor/ilu/ilu.c
[0]PETSC ERROR: #3 PCSetUp() line 924 in 
/home/jared/.julia/v0.4/PETSc2/deps/petsc-3.8.3/src/ksp/pc/interface/precon.c
[0]PETSC ERROR: #4 KSPSetUp() line 381 in 
/home/jared/.julia/v0.4/PETSc2/deps/petsc-3.8.3/src/ksp/ksp/interface/itfunc.c
[0]PETSC ERROR: #5 PCSetUpOnBlocks_BJacobi_Singleblock() line 618 in 
/home/jared/.julia/v0.4/PETSc2/deps/petsc-3.8.3/src/ksp/pc/impls/bjacobi/bjacobi.c
[0]PETSC ERROR: #6 PCSetUpOnBlocks() line 955 in 
/home/jared/.julia/v0.4/PETSc2/deps/petsc-3.8.3/src/ksp/pc/interface/precon.c
[0]PETSC ERROR: #7 KSPSetUpOnBlocks() line 213 in 
/home/jared/.julia/v0.4/PETSc2/deps/petsc-3.8.3/src/ksp/ksp/interface/itfunc.c
[0]PETSC ERROR: #8 KSPSolve() line 613 in 
/home/jared/.julia/v0.4/PETSc2/deps/petsc-3.8.3/src/ksp/ksp/interface/itfunc.c


   The code to reproduce this error is attached.  The error is present 
on Petsc 3.7.6 and 3.8.3.  I noticed two things while creating the test 
case: 1) using a jacobi preconditioner works (using block jacobi with 
ILU on each block does not), and 2) if I replace the shell matrix with 
the preconditioner matrix in KSPSetOperators(), there is no error (with 
the block jacobi ILU preconditioner).

   Is this a bug in Petsc or did I setup the preconditioner incorrectly?

     Jared Crean


-------------- next part --------------
A non-text attachment was scrubbed...
Name: testcase.c
Type: text/x-csrc
Size: 3133 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20180201/4b29c53d/attachment-0001.bin>


More information about the petsc-users mailing list