openfoam/applications/solvers/multiphase/MPPICInterFoam/UEqn.H
2016-06-01 11:08:06 -07:00

51 lines
915 B
C

MRF.correctBoundaryVelocity(U);
fvVectorMatrix UEqn
(
fvm::ddt(alphacRho, U)
+ MRF.DDt(alphacRho, U)
- fvm::Sp(fvc::ddt(rho) + fvc::div(rhoPhi), U)
+ fvm::div(rhoPhi, U)
+ turbulence->divDevRhoReff(U)
==
fvOptions(rho, U)
+ cloudSU
);
UEqn.relax();
fvOptions.constrain(UEqn);
volScalarField rAUc(1.0/UEqn.A());
surfaceScalarField rAUcf(fvc::interpolate(rAUc));
surfaceScalarField phicForces
(
(fvc::interpolate(rAUc*cloudVolSUSu) & mesh.Sf())
);
if (pimple.momentumPredictor())
{
solve
(
UEqn
==
fvc::reconstruct
(
phicForces/rAUcf
+
(
fvc::interpolate
(
mixture.sigmaK()
)*fvc::snGrad(alpha1)
- ghf*fvc::snGrad(rho)
- fvc::snGrad(p_rgh)
) * mesh.magSf()
)
);
fvOptions.correct(U);
}