OpenFOAM offers preconditioned conjugate gradient solvers for sparse
symmetric and asymmetric matrices; both incomplete-Cholesky and diagonal
preconditioning are available in the library. OpenFOAM also includes a Gauss-Seidel
solver.
OpenFOAM has an efficient implementation algebraic multi-grid (AMG) solver.
AMG uses the principle of: generating a quick solution on a mesh with a small
number of cells; mapping this solution onto a finer mesh; using it as an initial
guess to obtain an accurate solution on the fine mesh. ts aim is to be faster than
standard methods when the increase in speed by solving first on coarser meshes
outweighs the additional costs of mesh refinement and mapping of field
data.