[petsc-users] Pre-conditioner for parallel CFD simulation

Denner, Fabian f.denner09 at imperial.ac.uk
Thu Apr 14 14:01:34 CDT 2011


Thanks Jed, I'll have a look on it and see if it works.

Best regards,
Fabian.
________________________________________
From: five9a2 at gmail.com [five9a2 at gmail.com] On Behalf Of Jed Brown [jed at 59A2.org]
Sent: 14 April 2011 19:49
To: Denner, Fabian
Cc: PETSc users list
Subject: Re: [petsc-users] Pre-conditioner for parallel CFD simulation

On Thu, Apr 14, 2011 at 20:22, Denner, Fabian <f.denner09 at imperial.ac.uk<mailto:f.denner09 at imperial.ac.uk>> wrote:
It's Finite Volume, co-located grid arrangement, stabilized, with a continuous pressure field at CFL numbers < 1 (typically 0.3-0.7).

Much easier, it is likely that a relatively standard coupled multigrid will work. If you order unknowns so they are interlaced (u0,v0,w0,p0,u1,v1,...) and MatSetBlockSize(A,4) and/or use the BAIJ format, you stand a good chance with -pc_type ml and reasonable smoothers. Or you may have access to a geometric hierarchy?

Preconditioning with SIMPLE, or (stronger) using SIMPLE as a smoother on multigrid levels should work well. With the CFL number so low (and even lower on coarse levels), you can also skip the SIMPLE procedure and just use the "pressure Poisson" operator from the usual semi-implicit method as a preconditioner (or as a smoother for coupled multigrid, with Jacobi applied to the velocity part). Any of these variants should converge in a small number of iterations independent of resolution.

The following does not do any coupled multigrid (which should converge faster, but is more expensive per V-cycle), but should give you a good methods intro. All these algorithms are straightforward to implement using PCFieldSplit.

http://dx.doi.org/10.1016/S0021-9991(03)00121-9


More information about the petsc-users mailing list