PCNN preconditioner
Andreas Grassl
Andreas.Grassl at student.uibk.ac.at
Fri Feb 27 03:20:00 CST 2009
Barry Smith schrieb:
> Use MatCreateIS() to create the matrix. Use MatSetValuesLocal() to put
> the values in the matrix
> then use PCSetType(pc,PCNN); to set the preconditioner to NN.
>
I followed your advice, but still run into problems.
my sourcecode:
ierr = KSPCreate(comm,&solver);CHKERRQ(ierr);
ierr = KSPSetOperators(solver,A,A,DIFFERENT_NONZERO_PATTERN);CHKERRQ(ierr);
ierr = KSPSetInitialGuessNonzero(solver,PETSC_TRUE);CHKERRQ(ierr);
ierr = KSPGetPC(solver,&prec);CHKERRQ(ierr);
ierr = PCSetType(prec,PCNN);CHKERRQ(ierr);
//ierr = PCFactorSetShiftPd(prec,PETSC_TRUE);CHKERRQ(ierr);
ierr = KSPSetUp(solver);CHKERRQ(ierr);
ierr = KSPSolve(solver,B,X);CHKERRQ(ierr);
and the error message:
[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 801 value 2.78624e-13 tolerance
4.28598e-12 * rowsum 4.28598!
[0]PETSC ERROR:
------------------------------------------------------------------------
[0]PETSC ERROR: Petsc Release Version 3.0.0, Patch 3, Fri Jan 30
17:55:56 CST 2009
[0]PETSC ERROR: See docs/changes/index.html for recent updates.
[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[0]PETSC ERROR: See docs/index.html for manual pages.
[0]PETSC ERROR:
------------------------------------------------------------------------
[0]PETSC ERROR: Unknown Name on a linux64-g named mat1.uibk.ac.at by
csae1801 Fri Feb 27 10:12:34 2009
[0]PETSC ERROR: Libraries linked from
/home/lux/csae1801/petsc/petsc-3.0.0-p3/linux64-gnu-c-debug/lib
[0]PETSC ERROR: Configure run at Wed Feb 18 10:30:58 2009
[0]PETSC ERROR: Configure options --with-64-bit-indices
--with-scalar-type=real --with-precision=double --with-cc=icc
--with-fc=ifort --with-cxx=icpc --with-shared=0 --with-mpi=1
--download-mpich=ifneeded --with-scalapack=1
--download-scalapack=ifneeded --download-f-blas-lapack=yes
--with-blacs=1 --download-blacs=yes PETSC_ARCH=linux64-gnu-c-debug
[0]PETSC ERROR:
------------------------------------------------------------------------
[0]PETSC ERROR: MatLUFactorNumeric_Inode() line 1335 in
src/mat/impls/aij/seq/inode.c
[0]PETSC ERROR: MatLUFactorNumeric() line 2338 in src/mat/interface/matrix.c
[0]PETSC ERROR: PCSetUp_LU() line 222 in src/ksp/pc/impls/factor/lu/lu.c
[0]PETSC ERROR: PCSetUp() line 794 in src/ksp/pc/interface/precon.c
[0]PETSC ERROR: KSPSetUp() line 237 in src/ksp/ksp/interface/itfunc.c
[0]PETSC ERROR: PCISSetUp() line 137 in src/ksp/pc/impls/is/pcis.c
[0]PETSC ERROR: PCSetUp_NN() line 28 in src/ksp/pc/impls/is/nn/nn.c
[0]PETSC ERROR: PCSetUp() line 794 in src/ksp/pc/interface/precon.c
[0]PETSC ERROR: KSPSetUp() line 237 in src/ksp/ksp/interface/itfunc.c
[0]PETSC ERROR: User provided function() line 1274 in petscsolver.c
Running PCFactorSetShift doesn't affect the output.
any ideas?
cheers
ando
--
/"\ Grassl Andreas
\ / ASCII Ribbon Campaign Uni Innsbruck Institut f. Mathematik
X against HTML email Technikerstr. 13 Zi 709
/ \ +43 (0)512 507 6091
More information about the petsc-users
mailing list