about pEqn.H in bubbleFoam
Hi Foamers,
The boundary condition of p in the tutorials of bubbleColumn (bubbleFoam) may be wrong. From
@ 0/p
Code:
boundaryField
{
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 0;
}
walls
{
type buoyantPressure;
value uniform 0;
}
}
@ constant/g
Code:
value ( 0 -9.81 0 );
@ constant/polyMesh/blockMwshDict
Code:
...
vertices
(
(0 0 0)
(0.15 0 0)
(0.15 1 0)
(0 1 0)
(0 0 0.1)
(0.15 0 0.1)
(0.15 1 0.1)
(0 1 0.1)
);
...
patches
(
patch inlet
(
(1 5 4 0)
)
patch outlet
(
(3 7 6 2)
)
wall walls
(
(0 4 7 3)
(2 6 5 1)
)
);
we may know the gravity is in -y direction, and the inlet and outlet are in xz plane (normal to y axis) while wall normal to x axis. Apparently it is a vertical pipe. So how could the zeroGradient BC applied to inlet and the buoyantPressure applied to walls? In my opinion, inlet should be applied to buoyantPressure BC while walls zeroGradient BC.
Another issue comes from
@pEqn.H
Code:
pEqn.setReference(pRefCell, pRefValue);
the pRefCell and pRefValue were defined in createFields.H as
Code:
label pRefCell = 0;
scalar pRefValue = 0.0;
setRefCell(p, mesh.solutionDict().subDict("PISO"), pRefCell, pRefValue);
what do pRefCell and pRefValue mean? Since p refers to the "reference pressure" in all kinds of CFD generally, why do we need a pRefValue here? Do we make a reference for pressure reference once more here? In my case, the pressure at outlet is fixed at 0.
On the other hand, if we designate 0 for pRefCell, (it is no problem with serial computation), when it comes to parallel computation, will it be problem dependent? So far i have modified the bubbleFoam solver to my case, it works well with serial computation. But in the parallel computation, it shows,
Quote:
GAMG: Solving for p, Initial residual = 0.0382384, Final residual = 9.98777e-11, No Iterations 767
|
in which the No Iterations is almost 30 times as it is in serial computation...
BTW i am using openfoam171.
// Kai
|