What is the best solver a poisson type eqn.

Lisandro Dalcin dalcinl at gmail.com
Fri Jun 12 09:31:28 CDT 2009

On Fri, Jun 12, 2009 at 11:13 AM, Christian
Klettner<christian.klettner at ucl.ac.uk> wrote:
> Sorry that I sent this twice. No subject in the first one.
> Dear PETSc Team,
> I am writing a CFD finite element code in C. From the discretization of
> the governing equations I have to solve a Poisson type equation which is
> really killing my performance. Which solver/preconditioner from PETSc or
> any external packages would you recommend? The size of my problem is from
> ~30000-100000 DOF per core. What kind of performance would I be able to
> expect with this solver/preconditioner?

I would suggest KSPCG. As preconditioner I would use ML or
HYPRE/BoomerAMG (both are external packages)

> I am using a 2*quad core 2.3 GHz Opteron. I have decomposed the domain
> with Parmetis. The mesh is unstructured.
> Also, I am writing a code which studies free surface phenomena so the mesh
> is continually changing. Does this matter when choosing a
> solver/preconditioner? My left hand side matrix (A in Ax=b) does not
> change in time.

ML has a faster setup that BoomerAMG, but the convergence is a bit
slower. If your A matrix do not change, then likely BoomerAMG will be
better for you. In any case, you can try both: just build PETSc with
both packages, then you can change the preconditioner by just passing
a command line option.

> Best regards and thank you in advance,
> Christian Klettner

Disclaimer: the convergence of multigrid preconditioners depends a lot
on your actual problem. What I've suggested is just my limited
experience in a few problems I've run solving electric potentials.

Lisandro Dalcín
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594

More information about the petsc-users mailing list