SBAIJ + hypre preconditioners does not work?

Sh.M shma7099 at student.uu.se
Tue May 16 00:52:35 CDT 2006


Ohh I forgot to use the flag -mat_getrow_uppertriangular?
It seems to be the case. And the Hypre preconditioner will understand that I
am only providing the upper triangular part of the matrix?

With best regards, Shaman Mahmoudi

----- Original Message ----- 
From: "Sh.M" <shaman.mahmoudi.7099 at student.uu.se>
To: <petsc-users at mcs.anl.gov>
Sent: Tuesday, May 16, 2006 7:23 AM
Subject: SBAIJ + hypre preconditioners does not work?


> Hi,
>
> So far I have been using AIJ to construct my matrices and this has been
due
> to a legacy more than anything else.
> However now I do need the extra memory as my problems are getting bigger
and
> bigger. So I have tried to use the
> SBAIJ matrix format with block size = 1. My matrices are read from a file
> and are symmetric but also "full" due to a legacy.
> However as I understand I can treat the full matrix as if it was just the
> upper triangle of it if I use command line
> -mat_ignore_lower_triangular.
>
> It has worked just fine when I for example use solver = CG and
> preconditioner = Jacobi.
> However I am getting some errors when using hypre preconditioners, for
> exampel BoomerAMG.
> I do know or atleast think by my own past experience with Hypre that
> symmetric sparse matrix support has not been trivial in Hypre eventhough
the
> support was there. Can there be a case of PETSc + Hypre in combinaton
simple
> not supporting the SBAIJ matrix format?
>
> I am getting this error message and I have tried with different matrices
> ranging from 54x54 to 5Mx5M and 1-32 CPUs.
>
> It crashes when it calls the solve function:
>
> [0]PETSC ERROR: MatGetRow_SeqSBAIJ() line 207 in
> src/mat/impls/sbaij/seq/sbaij.c
> [0]PETSC ERROR: No support for this operation for this object type!
> [0]PETSC ERROR: MatGetRow is not supported for SBAIJ matrix format.
Getting
> the upper trian\
> gular part of row, run with -mat_getrow_uppertriangular, call
> MatSetOption(mat,MAT_GETROW_U\
> PPERTRIANGULAR) or MatGetRowUpperTriangular()!
> [0]PETSC ERROR: MatGetRow_MPISBAIJ() line 1056 in
> src/mat/impls/sbaij/mpi/mpisbaij.c
> [0]PETSC ERROR: MatGetRow() line 168 in src/mat/interface/matrix.c
> [0]PETSC ERROR: MatCholeskyCheckShift_inline() line 45 in
> src/mat/impls/hypre/mhyp.c
> [0]PETSC ERROR: PCSetUp_HYPRE() line 95 in
src/ksp/pc/impls/hypre/hyppilut.c
> [0]PETSC ERROR: PCSetUp() line 798 in src/ksp/pc/interface/precon.c
> [0]PETSC ERROR: KSPSetUp() line 234 in src/ksp/ksp/interface/itfunc.c
> [0]PETSC ERROR: KSPSolve() line 334 in src/ksp/ksp/interface/itfunc.c
> [0]PETSC ERROR: User provided function() line 683 in petscSolver.c
> [2509 MPI_COMM_WORLD 0] Process exited without calling MPI_Finalize.
> Fatal error, aborting.
>
> With best regards, Shaman Mahmoudi
>




More information about the petsc-users mailing list