surfaceFilmModels::kinematicSingleLayer: Updated handling of the external pressure
This commit is contained in:
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user