CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Verification & Validation (
-   -   Numerics in OpenFoam - PBiCG vs. PCG (

LeFrog October 24, 2012 09:47

Numerics in OpenFoam - PBiCG vs. PCG
Dear all,

to give an accurate validation for some channelFlow-case, my Prof wants me to estimate how good the numeric methods are, that i'm using in OpenFoam.

But honestly not having much Background in numerical-Math but a bit in physics, it's hard for me to grasp even the concept of the piso solver.

Using Gauss linear-Approximation everywhere for spacial discretisation shemes and using Chrank Nicholson shemes for time discretisation, I think this Methods are used to solve the euqations of the piso-loop - what i don't know where does PCG and PBiCG come into play - as i found there are in use for every Field U p... and
if i use Chrank Nicholoson 0.5 which is implicit - what kind of sheme is used therefore - more or less every field should be involved in this linear system?

Is it that for every gradient divergence and so on... a PCG or PBicG method will be used?

Sorry if this question are not precise, but this might be cause i don't understand everything completely, if you could give recommand some liturature it would be nice.

Kind regards

Le Frog

meindert October 24, 2012 14:27

The PCG method and PBicG method will give a different solution to the system of equations, say

\mathbf{A}\mathbf{x} = \mathbf{b}.

Given a certain tolerance \varepsilon, each method will give a solution \mathbf{x} that satisfies

||\mathbf{A}\mathbf{x}-\mathbf{b}|| < \varepsilon

for some norm ||\cdot||. So \mathbf{A}\mathbf{x} \approx \mathbf{b}.

If you would like to read a bit about these iterative methods, I would recommend reading 'Principles of computational fluid dynamics' by P. Wesseling. I should warn you, the book is written from a mathematical point of view. It might be quite challenging to read.

However, my guess is that your professor wants you to look at different numerical schemes, each giving a different system of equations.

thg October 25, 2012 06:19

Hi Frog,

Meindert already mentioned, the difference between a PCG or a PBiCG,...
you can find in any textbook about linear iterative solvers like
Wessling, Saad, Trefethen, Stran,.... I think the book from Saad you find free on the www.

But I think your problems are a bit different.

Sine OF is a segregated solver, for every field (variable) there has to be solved a
linear system (i.e. for U, p,...) you have AU=b, Bp=c, A;B matrices.

Your choice of the numerical schemes
(entries for the operator discretization in fvSchemes, i.e.
(linear, upwind, limitedLinear,...)
for the operators is respobsible of the coefficients of this matrices.
So the choice of operators regarding f.i. U are responsible for the
properties/coefficients of the matrix A

The choice of your solution/solving algorithm (i.e. entries in fvSolution)
is responsible which iterative solver is used to solve your linear system.

So choosing f.i. PCG for U and PBiCG for p,
AU=b is solved iteratively bc PCG, Bp=c with PBiCG
and so forth.

Being also a mathematician, as a book enlighting CFD and numerics, I would also recommend Ferziger/Peric: Computational methods for fluid dynamics


LeFrog October 25, 2012 10:00

Thank you very much meindert and thg,

this was helpfull.

All times are GMT -4. The time now is 18:02.