incompressibleDriftFlux: Override the surfaceTensionForce functions

so that the surface tension force is not evaluated or applied as it is
inappropriate for drift-flux modelling of suspensions.
This commit is contained in:
Henry Weller
2023-04-23 15:56:53 +01:00
parent b22cbbcf21
commit d558e49336
8 changed files with 33 additions and 10 deletions

View File

@ -64,7 +64,7 @@ void Foam::solvers::compressibleMultiphaseVoF::pressureCorrector()
const surfaceScalarField phig const surfaceScalarField phig
( (
( (
mixture.surfaceTensionForce(U) surfaceTensionForce()
- buoyancy.ghf*fvc::snGrad(rho) - buoyancy.ghf*fvc::snGrad(rho)
)*rAUf*mesh.magSf() )*rAUf*mesh.magSf()
); );

View File

@ -71,7 +71,7 @@ void Foam::solvers::compressibleVoF::pressureCorrector()
const surfaceScalarField phig const surfaceScalarField phig
( (
( (
interface.surfaceTensionForce() surfaceTensionForce()
- buoyancy.ghf*fvc::snGrad(rho) - buoyancy.ghf*fvc::snGrad(rho)
)*rAUf*mesh.magSf() )*rAUf*mesh.magSf()
); );

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org \\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2022-2023 OpenFOAM Foundation \\ / A nd | Copyright (C) 2023 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -24,9 +24,7 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "incompressibleDriftFlux.H" #include "incompressibleDriftFlux.H"
#include "localEulerDdtScheme.H"
#include "fvCorrectPhi.H" #include "fvCorrectPhi.H"
#include "geometricZeroField.H"
#include "addToRunTimeSelectionTable.H" #include "addToRunTimeSelectionTable.H"
#include "fvmDdt.H" #include "fvmDdt.H"
@ -45,6 +43,24 @@ namespace solvers
} }
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
void Foam::solvers::incompressibleDriftFlux::correctInterface()
{}
Foam::tmp<Foam::surfaceScalarField>
Foam::solvers::incompressibleDriftFlux::surfaceTensionForce() const
{
return surfaceScalarField::New
(
"surfaceTensionForce",
mesh,
dimensionedScalar(dimForce/dimVolume, 0)
);
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::solvers::incompressibleDriftFlux::incompressibleDriftFlux(fvMesh& mesh) Foam::solvers::incompressibleDriftFlux::incompressibleDriftFlux(fvMesh& mesh)

View File

@ -147,6 +147,13 @@ protected:
tmp<volScalarField::Internal>& Sp tmp<volScalarField::Internal>& Sp
); );
//- Correct the interface properties following mesh-change
// and phase-fraction update
virtual void correctInterface();
//- Return the interface surface tension force for the momentum equation
virtual tmp<surfaceScalarField> surfaceTensionForce() const;
//- Return the momentum equation stress term //- Return the momentum equation stress term
virtual tmp<fvVectorMatrix> divDevTau(volVectorField& U) virtual tmp<fvVectorMatrix> divDevTau(volVectorField& U)
{ {

View File

@ -70,7 +70,7 @@ void Foam::solvers::incompressibleDriftFlux::pressureCorrector()
surfaceScalarField phig surfaceScalarField phig
( (
( (
interface.surfaceTensionForce() surfaceTensionForce()
- buoyancy.ghf*fvc::snGrad(rho) - buoyancy.ghf*fvc::snGrad(rho)
)*rAUf*mesh.magSf() )*rAUf*mesh.magSf()
); );

View File

@ -70,7 +70,7 @@ void Foam::solvers::incompressibleMultiphaseVoF::pressureCorrector()
surfaceScalarField phig surfaceScalarField phig
( (
( (
mixture.surfaceTensionForce(U) surfaceTensionForce()
- buoyancy.ghf*fvc::snGrad(rho) - buoyancy.ghf*fvc::snGrad(rho)
)*rAUf*mesh.magSf() )*rAUf*mesh.magSf()
); );

View File

@ -70,7 +70,7 @@ void Foam::solvers::incompressibleVoF::pressureCorrector()
surfaceScalarField phig surfaceScalarField phig
( (
( (
interface.surfaceTensionForce() surfaceTensionForce()
- buoyancy.ghf*fvc::snGrad(rho) - buoyancy.ghf*fvc::snGrad(rho)
)*rAUf*mesh.magSf() )*rAUf*mesh.magSf()
); );

View File

@ -227,7 +227,7 @@ void Foam::solvers::twoPhaseVoFSolver::alphaSolve
alpha2 = 1.0 - alpha1; alpha2 = 1.0 - alpha1;
interface.correct(); correctInterface();
} }
for (int aCorr=0; aCorr<nAlphaCorr; aCorr++) for (int aCorr=0; aCorr<nAlphaCorr; aCorr++)
@ -321,7 +321,7 @@ void Foam::solvers::twoPhaseVoFSolver::alphaSolve
alpha2 = 1.0 - alpha1; alpha2 = 1.0 - alpha1;
// Correct only the mixture interface for the interface compression flux // Correct only the mixture interface for the interface compression flux
interface.correct(); correctInterface();
} }
if (alphaApplyPrevCorr && MULESCorr) if (alphaApplyPrevCorr && MULESCorr)