hypre preconditioners

Jed Brown jed at 59A2.org
Thu Jul 16 03:06:48 CDT 2009


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: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20090716/8f13f3c1/attachment.pgp>


More information about the petsc-users mailing list