surfaceFilmModels::kinematicSingleLayer: Updated handling of the external pressure

This commit is contained in:
Henry Weller
2019-12-17 23:46:09 +00:00
parent 131a9f1b0e
commit e0caaea12b
3 changed files with 19 additions and 18 deletions

View File

@ -145,7 +145,7 @@ void kinematicSingleLayer::transferPrimaryRegionSourceFields()
} }
tmp<volScalarField> kinematicSingleLayer::Su() tmp<volScalarField> kinematicSingleLayer::pe()
{ {
tmp<volScalarField> tpSp tmp<volScalarField> tpSp
( (
@ -163,10 +163,11 @@ tmp<volScalarField> kinematicSingleLayer::Su()
return volScalarField::New return volScalarField::New
( (
IOobject::modelName("Su", typeName), IOobject::modelName("pe", typeName),
pPrimary_ // Pressure (mapped from primary region) pPrimary_ // Pressure (mapped from primary region)
- tpSp // Accumulated particle impingement - tpSp // Accumulated particle impingement
- fvc::laplacian(sigma_, delta_) // Surface tension - fvc::laplacian(sigma_, delta_) // Capillary pressure
// - fvc::div(sigma_*fvc::grad(delta_)) // Capillary pressure
); );
} }
@ -274,7 +275,7 @@ void kinematicSingleLayer::updateSurfaceVelocities()
tmp<Foam::fvVectorMatrix> kinematicSingleLayer::solveMomentum tmp<Foam::fvVectorMatrix> kinematicSingleLayer::solveMomentum
( (
const volScalarField& pu const volScalarField& pe
) )
{ {
DebugInFunction << endl; DebugInFunction << endl;
@ -317,7 +318,7 @@ tmp<Foam::fvVectorMatrix> kinematicSingleLayer::solveMomentum
fvc::interpolate(alpha_) fvc::interpolate(alpha_)
*( *(
( (
fvc::snGrad(pu, "snGrad(p)") fvc::snGrad(pe, "snGrad(p)")
+ fvc::interpolate(ph())*fvc::snGrad(alpha_) + fvc::interpolate(ph())*fvc::snGrad(alpha_)
)*regionMesh().magSf() )*regionMesh().magSf()
- fvc::interpolate(rho_)*(g_ & regionMesh().Sf()) - fvc::interpolate(rho_)*(g_ & regionMesh().Sf())
@ -339,7 +340,7 @@ tmp<Foam::fvVectorMatrix> kinematicSingleLayer::solveMomentum
void kinematicSingleLayer::solveAlpha void kinematicSingleLayer::solveAlpha
( (
const fvVectorMatrix& UEqn, const fvVectorMatrix& UEqn,
const volScalarField& pu const volScalarField& pe
) )
{ {
DebugInFunction << endl; DebugInFunction << endl;
@ -358,7 +359,7 @@ void kinematicSingleLayer::solveAlpha
( (
constrainFilmField constrainFilmField
( (
fvc::snGrad(pu, "snGrad(p)")*regionMesh().magSf() fvc::snGrad(pe, "snGrad(p)")*regionMesh().magSf()
- rhof*(g_ & regionMesh().Sf()), - rhof*(g_ & regionMesh().Sf()),
0 0
) )
@ -921,16 +922,16 @@ void kinematicSingleLayer::evolveRegion()
while (pimple_.loop()) while (pimple_.loop())
{ {
// Explicit pressure source contribution - varies with delta // External pressure
const volScalarField Su(this->Su()); const volScalarField pe(this->pe());
// Solve for momentum // Solve for momentum
const fvVectorMatrix UEqn(solveMomentum(Su)); const fvVectorMatrix UEqn(solveMomentum(pe));
// Film thickness correction loop // Film thickness correction loop
while (pimple_.correct()) while (pimple_.correct())
{ {
solveAlpha(UEqn, Su); solveAlpha(UEqn, pe);
} }
} }

View File

@ -234,8 +234,8 @@ protected:
//- Hydrostatic pressure //- Hydrostatic pressure
tmp<volScalarField> ph() const; tmp<volScalarField> ph() const;
//- Explicit momentum source //- Explicit pressure
virtual tmp<volScalarField> Su(); tmp<volScalarField> pe();
//- Correct film coverage field //- Correct film coverage field
virtual void correctCoverage(); virtual void correctCoverage();
@ -270,7 +270,7 @@ protected:
//- Solve for film velocity //- Solve for film velocity
virtual tmp<fvVectorMatrix> solveMomentum virtual tmp<fvVectorMatrix> solveMomentum
( (
const volScalarField& pu const volScalarField& Su
); );
//- Solve for film volume fraction and thickness //- Solve for film volume fraction and thickness

View File

@ -633,11 +633,11 @@ void thermoSingleLayer::evolveRegion()
while (pimple_.loop()) while (pimple_.loop())
{ {
// Explicit momentum source // External pressure
const volScalarField Su(this->Su()); const volScalarField pe(this->pe());
// Solve for momentum for U_ // Solve for momentum for U_
const fvVectorMatrix UEqn(solveMomentum(Su)); const fvVectorMatrix UEqn(solveMomentum(pe));
// Solve energy for h_ - also updates thermo // Solve energy for h_ - also updates thermo
solveEnergy(); solveEnergy();
@ -645,7 +645,7 @@ void thermoSingleLayer::evolveRegion()
// Film thickness correction loop // Film thickness correction loop
while (pimple_.correct()) while (pimple_.correct())
{ {
solveAlpha(UEqn, Su); solveAlpha(UEqn, pe);
} }
} }