db7fac3f24
git-svn-id: https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Core/OpenFOAM-1.5-dev@1731 e4e07f05-0c2f-0410-a05a-b8ba57e0c909
80 lines
1.8 KiB
C
80 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"
|
|
|
|
}
|