4 volScalarField rUA = 1.0/UEqn.A();
9 surfaceScalarField phiv =
10 (fvc::interpolate(U) & mesh.Sf())
11 + fvc::ddtPhiCorr(rUA, rho, U, phi);
13 phi = fvc::interpolate(rho)*phiv;
15 surfaceScalarField phid
18 fvc::interpolate(thermo.psi())*phiv
21 fvScalarMatrix pDDtEqn
23 fvc::ddt(rho) + fvc::div(phi)
24 + correction(fvm::ddt(psi, p) + fvm::div(phid, p))
27 // Thermodynamic density needs to be updated by psi*d(p) after the
28 // pressure solution - done in 2 parts. Part 1:
29 thermo.rho() -= psi*p;
31 for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
35 pDDtEqn - fvm::laplacian(rho*rUA, p)
38 if (ocorr == nOuterCorr && corr == nCorr && nonOrth == nNonOrthCorr)
40 pEqn.solve(mesh.solver(p.name() + "Final"));
47 if (nonOrth == nNonOrthCorr)
53 // Second part of thermodynamic density update
54 thermo.rho() += psi*p;
61 (fvc::interpolate(U) & mesh.Sf())
62 + fvc::ddtPhiCorr(rUA, rho, U, phi)
65 fvScalarMatrix pDDtEqn
67 fvc::ddt(rho) + psi*correction(fvm::ddt(p))
71 // Thermodynamic density needs to be updated by psi*d(p) after the
72 // pressure solution - done in 2 parts. Part 1:
73 thermo.rho() -= psi*p;
75 for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
79 pDDtEqn - fvm::laplacian(rho*rUA, p)
82 if (ocorr == nOuterCorr && corr == nCorr && nonOrth == nNonOrthCorr)
84 pEqn.solve(mesh.solver(p.name() + "Final"));
91 if (nonOrth == nNonOrthCorr)
97 // Second part of thermodynamic density update
98 thermo.rho() += psi*p;
102 #include "compressibleContinuityErrs.H"
104 U -= rUA*fvc::grad(p);
105 U.correctBoundaryConditions();
107 DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p);