initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / tutorials / incompressible / simpleSRFFoam / simpleSRFFoam / pEqn.H
blobb2bc37fd5db808c1ef3c13fd9350958c28b9bba2
2     p.boundaryField().updateCoeffs();
3     volScalarField AUrel = UrelEqn().A();
4     Urel = UrelEqn().H()/AUrel;
5     UrelEqn.clear();
6     phi = fvc::interpolate(Urel) & mesh.Sf();
7     adjustPhi(phi, Urel, p);
9     // Non-orthogonal pressure corrector loop
10     for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
11     {
12         fvScalarMatrix pEqn
13         (
14             fvm::laplacian(1.0/AUrel, p) == fvc::div(phi)
15         );
17         pEqn.setReference(pRefCell, pRefValue);
18         pEqn.solve();
20         if (nonOrth == nNonOrthCorr)
21         {
22             phi -= pEqn.flux();
23        }
24     }
26 #   include "continuityErrs.H"
28     // Explicitly relax pressure for momentum corrector
29     p.relax();
31     // Momentum corrector
32     Urel -= fvc::grad(p)/AUrel;
33     Urel.correctBoundaryConditions();