So... I just committed the initial round of changes to allow attaching a Preconditioner object to either a linear or nonlinear solver.... and it works!

I'm already using this in my code with a special preconditioner object to do fairly complicated solver library (petsc/trilinos) agnostic preconditioning!  So.... I'm going to call mission successful on this one.

There is still more work to do... for instance the hooks need to be put into the Trilinos set of solvers to use the Preconditioner objects... but that will come with time.

Let me know if anyone has any problems.


On Tue, Feb 10, 2009 at 2:29 AM, Tim Kroeger <> wrote:
Dear Derek,

On Mon, 9 Feb 2009, Derek Gaston wrote:

On Feb 9, 2009, at 9:18 AM, John Peterson wrote:

Short answer: check out aclocal.m4 around line 869.  We just use grep
and sed to figure out what the petsc version is during configure.  You
could probably do the same for HYPRE_foo...

I just committed a configure test for Hypre that will define LIBMESH_HAVE_PETSC_HYPRE if petsc was compiled with hypre support.  The commit also put the appropriate safeguards around the PCHypreSetType call in petsc_preocnditioner.C.  Let me know if something still isn't right.

Works well now, thank you very much!

Best Regards,


Dr. Tim Kroeger            Phone +49-421-218-7710            Fax   +49-421-218-4236

Fraunhofer MEVIS, Institute for Medical Image Computing
Universitaetsallee 29, 28359 Bremen, Germany