hypre preconditioners

Klaij, Christiaan C.Klaij at marin.nl
Fri Jul 17 02:54:41 CDT 2009


Jed,

I'm using a cell centered discretization on hexa grids. I'll try sor and asm and also changing the default settings in boomeramg and ML. You say you find ML almost always faster, by how much? Thanks for your help! 

Chris


dr. ir. Christiaan Klaij
CFD Researcher
Research & Development
mailto:C.Klaij at marin.nl
T +31 317 49 33 44

MARIN
2, Haagsteeg, P.O. Box 28, 6700 AA Wageningen, The Netherlands
T +31 317 49 39 11, F +31 317 49 32 45, I http://www.marin.nl/
http://www.marin.nl/web/show/id=46836/contentid=2324 First AMT'09 conference, Nantes, France, September 1-2 

This e-mail may be confidential, privileged and/or protected by copyright. If you are not the intended recipient, you should return it to the sender immediately and delete your copy from your system.
-----Original Message-----

Date: Thu, 16 Jul 2009 10:06:48 +0200
From: Jed Brown <jed at 59A2.org>
Subject: Re: hypre preconditioners
To: PETSc users list <petsc-users at mcs.anl.gov>
Message-ID: <4A5EDF98.7090508 at 59A2.org>
Content-Type: text/plain; charset="iso-8859-1"

Klaij, Christiaan wrote:

> The velocity problem is segregated (I use BICG with Jacobi for the 3
> linear systems) but these need (much) less iterations than the pressure
> problem. The pressure matrix changes at each solve.

It may change, but it might still make a good preconditioner for several
time steps.  How many dofs are in your pressure system?  You mentioned a
few million cells, but it makes a huge difference whether you are using
tets vs. hexes, and what the pressure space is.  If the pressure space
is around 1M dofs, the system is relatively well-conditioned to converge
in only 100 iterations with Jacobi which means that you stand a good
chance of getting acceptable performance from a 1-level DD
preconditioner (block jacobi or small-overlap additive Schwarz).  So try
Barry's suggestion of -pc_type sor and also -pc_type asm with a few
choices of subdomain solver (-sub_pc_type).

> Also, I did try ML and, like you say, it needs about two times more
> iterations than boomerAMG. Overall, boomerAMG is a bit faster for my
> cases than ML.

To speed up Hypre, I've found these options to be especially useful.

-pc_hypre_boomeramg_strong_threshold
  defaults to 0.25 which is good for 2D scalar problems, change to 0.5 or above for 3D problems

-pc_hypre_boomeramg_agg_nl
  set this greater than 0 to use aggressive coarsening


However, I almost always find ML to be faster.  By default, it uses way
more levels than you want (often making the coarse level have only 1 dof
instead of around 1000) so try reducing -pc_ml_maxNlevels.

Jed
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/ms-tnef
Size: 4122 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20090717/9da259cc/attachment.bin>


More information about the petsc-users mailing list