{ if (nOuterCorr == 1) { p = ( rho - (1.0 - gamma)*rhol0 - ((gamma*psiv + (1.0 - gamma)*psil) - psi)*pSat )/psi; } surfaceScalarField rhof = fvc::interpolate(rho, "rhof"); volScalarField rUA = 1.0/UEqn.A(); surfaceScalarField rUAf("rUAf", rhof*fvc::interpolate(rUA)); volVectorField HbyA = rUA*UEqn.H(); phiv = (fvc::interpolate(HbyA) & mesh.Sf()) + fvc::ddtPhiCorr(rUA, rho, U, phiv); p.boundaryField().updateCoeffs(); surfaceScalarField phiGradp = rUAf*mesh.magSf()*fvc::snGrad(p); phiv -= phiGradp/rhof; # include "resetPhivPatches.H" for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) { fvScalarMatrix pEqn ( fvm::ddt(psi, p) - (rhol0 + (psil - psiv)*pSat)*fvc::ddt(gamma) - pSat*fvc::ddt(psi) + fvc::div(phiv, rho) + fvc::div(phiGradp) - fvm::laplacian(rUAf, p) ); pEqn.solve(); if (nonOrth == nNonOrthCorr) { phiv += (phiGradp + pEqn.flux())/rhof; } } Info<< "max-min p: " << max(p).value() << " " << min(p).value() << endl; U = HbyA - rUA*fvc::grad(p); // Remove the swirl component of velocity for "wedge" cases if (piso.found("removeSwirl")) { label swirlCmpt(readLabel(piso.lookup("removeSwirl"))); Info<< "Removing swirl component-" << swirlCmpt << " of U" << endl; U.field().replace(swirlCmpt, 0.0); } U.correctBoundaryConditions(); Info<< "max(U) " << max(mag(U)).value() << endl; rho == max ( psi*p + (1.0 - gamma)*rhol0 + ((gamma*psiv + (1.0 - gamma)*psil) - psi)*pSat, rhoMin ); Info<< "max-min rho: " << max(rho).value() << " " << min(rho).value() << endl; # include "gammaPsi.H" }