1volScalarField rAU(1.0 /
4surfaceScalarField rhorAUf(
"rhorAUf", fvc::interpolate(rho* rAU));
5volVectorField HbyA(constrainHbyA(rAU* Ueqn.H(), U,
10bool closedVolume =
false;
12surfaceScalarField phiHbyA(
"phiHbyA", fvc::interpolate(rho)*fvc::flux(HbyA));
13MRF.makeRelative(fvc::interpolate(rho), phiHbyA);
16constrainPressure(p, rho, U, phiHbyA, rhorAUf, MRF);
18if (simple.transonic())
20 surfaceScalarField phid
23 (fvc::interpolate(psi) / fvc::interpolate(rho))*phiHbyA
25 phiHbyA -= fvc::interpolate(psi * p) * phiHbyA / fvc::interpolate(rho);
27 while (simple.correctNonOrthogonal())
33 - fvm::laplacian(rhorAUf, p)
35 fvOptions(psi, p, rho.name())
41 pressureControl.refCell(),
42 pressureControl.refValue()
44 presidual = pEqn.solve().initialResidual();
46 if (simple.finalNonOrthogonalIter())
48 phi = phiHbyA + pEqn.flux();
55 closedVolume = adjustPhi(phiHbyA, U, p);
58 while (simple.correctNonOrthogonal())
63 - fvm::laplacian(rhorAUf, p)
65 fvOptions(psi, p, rho.name())
69 pressureControl.refCell(),
70 pressureControl.refValue()
72 presidual = pEqn.solve().initialResidual();
74 if (simple.finalNonOrthogonalIter())
76 phi = phiHbyA + pEqn.flux();
81#include "incompressible/continuityErrs.H"
86U = HbyA - rAU * fvc::grad(p);
87U.correctBoundaryConditions();
90bool pLimited = pressureControl.limit(p);
96 p += (initialMass - fvc::domainIntegrate(psi * p))
97 / fvc::domainIntegrate(psi);
100if (pLimited || closedVolume)
102 p.correctBoundaryConditions();
107if (!simple.transonic())