CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   PISO Algorithm (

sam.ho September 4, 2013 05:26

PISO Algorithm
Hi ,
I am a beginner in OpenFOAM and trying to understand IcoFoam Code.
I have the following problems.
  1. What exactly the following code does all together ? for (int corr=0; corr<nCorr; corr++)
    volScalarField rAU(1.0/UEqn.A());

    volVectorField HbyA("HbyA", U);
    HbyA = rAU*UEqn.H();
    surfaceScalarField phiHbyA
    (fvc::interpolate(HbyA) & mesh.Sf())
    + fvc::ddtPhiCorr(rAU, U, phi)

    adjustPhi(phiHbyA, U, p);
  2. What is HbyA ?
  3. What do these give us from physical point of view
    • volScalarField rAU(1.0/UEqn.A());why should we consider reciprocate of UEqn.A() ?
    • HbyA = rAU*UEqn.H();
  4. what is the meaning of ddtPhiCorr(rAU, U, phi) ? PLEASE HELP ME......

Bernhard September 4, 2013 06:22

I would recommend to search for the thesis by Hrvoje Jasak, it contains the explanation of these algorithms, closely following the notation of OpenFOAM (or vice versa)

sam.ho September 4, 2013 06:25

Thank You :)

sam.ho September 5, 2013 06:45

Doubt on piso

Could u please explain why solver takes reciprocal of diagonal elements of velocity matrix...
code is volScalarField rAU(1.0/UEqn.A());?
& whats the out put of the following code HbyA = rAU*UEqn.H(); ?

armyou October 11, 2013 01:25

I am also new to openfoam. My understanding is:
HbyA is H divided by A which equals to UEqn.H()/UEqn.A()= UEqn.H()*1.0/UEqn.A() = rAU*UEqn.H()

All times are GMT -4. The time now is 14:04.