Merge branch 'master' of ssh://repo.or.cz/srv/git/OpenFOAM-1.6.x
[OpenFOAM-1.6.x.git] / applications / solvers / multiphase / settlingFoam / pEqn.H
blobb4fc05b32ab56f04646427310478e9cc92429b11
1 volScalarField rUA = 1.0/UEqn.A();
3 surfaceScalarField rUAf
5     "(rho*(1|A(U)))",
6     fvc::interpolate(rho)*fvc::interpolate(rUA)
7 );
9 U = rUA*UEqn.H();
10 phi =
11     fvc::interpolate(rho)
12    *(
13        (fvc::interpolate(U) & mesh.Sf())
14      + fvc::ddtPhiCorr(rUA, rho, U, phi)
15     );
17 surfaceScalarField phiU("phiU", phi);
18 phi += fvc::interpolate(rho)*(g & mesh.Sf())*rUAf;
20 for(int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
22     fvScalarMatrix pEqn
23     (
24         fvm::laplacian(rUAf, p) == fvc::ddt(rho) + fvc::div(phi)
25     );
27     pEqn.setReference(pRefCell, pRefValue);
28     pEqn.solve();
30     if (nonOrth == nNonOrthCorr)
31     {
32         phi -= pEqn.flux();
33     }
36 #include "rhoEqn.H"
37 #include "compressibleContinuityErrs.H"
39 U += rUA*fvc::reconstruct((phi - phiU)/rUAf);
40 U.correctBoundaryConditions();