81 lines
1.8 KiB
C
81 lines
1.8 KiB
C
|
{
|
||
|
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"
|
||
|
|
||
|
}
|