4 // Thermodynamic density needs to be updated by psi*d(p) after the
5 // pressure solution - done in 2 parts. Part 1:
8 volScalarField rUA = 1.0/UEqn.A();
13 surfaceScalarField phiv =
14 (fvc::interpolate(U) & mesh.Sf())
15 + fvc::ddtPhiCorr(rUA, rho, U, phi);
17 phi = fvc::interpolate(rho)*phiv;
19 surfaceScalarField phid
22 fvc::interpolate(thermo.psi())*phiv
25 for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
29 fvc::ddt(rho) + fvc::div(phi)
30 + correction(fvm::ddt(psi, p) + fvm::div(phid, p))
31 - fvm::laplacian(rho*rUA, p)
34 if (ocorr == nOuterCorr && corr == nCorr && nonOrth == nNonOrthCorr)
36 pEqn.solve(mesh.solver(p.name() + "Final"));
43 if (nonOrth == nNonOrthCorr)
54 (fvc::interpolate(U) & mesh.Sf())
55 + fvc::ddtPhiCorr(rUA, rho, U, phi)
58 for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
62 fvc::ddt(rho) + psi*correction(fvm::ddt(p))
64 - fvm::laplacian(rho*rUA, p)
67 if (ocorr == nOuterCorr && corr == nCorr && nonOrth == nNonOrthCorr)
69 pEqn.solve(mesh.solver(p.name() + "Final"));
76 if (nonOrth == nNonOrthCorr)
83 // Second part of thermodynamic density update
84 thermo.rho() += psi*p;
87 #include "compressibleContinuityErrs.H"
89 U -= rUA*fvc::grad(p);
90 U.correctBoundaryConditions();
92 DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p);