User Tools

Site Tools


Site Tools

Solving Poisson equation

Poisson equation, named this way in honour of french mathematician and physicist Siméon Denis Poisson), is one of the most CPU consuming equation. This page provide resources, and my personal parallel Poisson solver : BigFish.

Big Fish

BigFish is a parallel Poisson equation solver, based on fortran 90 and MPI. An hybrid version will be released if asked for.
Interfaces are provided for C, C++ and Fortran.

Current version : 0.9, release soon.

Equation solved is standard Poisson equation. Originally, the solver was made to solve pressure field in CFD:

Algorithm used are Bi-CGSTAB and Multigrid.

Other Libraries

Solving Poisson equation

Good way is to combine Conjugate Gradient and derived methods with Multi-grids methods. CG will take care of high frequencies while MG will concentrate on low frequencies. Both methods are know to be parallel (MPI), and with some tricks it is possible to make them scale.

Bibliography : Henk A. Van der Vorst, Parallel Iterative Solution Methods for Linear Systems arising from Discretized PDE's, Mathematical Institude, University of Utrecht

Conjugate Gradient

Laplacian can be discretized into matrix K (see finite differences).

CG algorithm:

CG algorithm with preconditioning:

BI-Conjugate Gradient Stabilized

BI-CGSTAB algorithm:

Red-Black Gauss Seidel Multi-grids

Algebraic Multi-grids

Make it scale !