diff --git a/applications/solvers/modules/compressibleMultiphaseVoF/pressureCorrector.C b/applications/solvers/modules/compressibleMultiphaseVoF/pressureCorrector.C index 8454d54bb9..a5249e2ef5 100644 --- a/applications/solvers/modules/compressibleMultiphaseVoF/pressureCorrector.C +++ b/applications/solvers/modules/compressibleMultiphaseVoF/pressureCorrector.C @@ -64,7 +64,7 @@ void Foam::solvers::compressibleMultiphaseVoF::pressureCorrector() const surfaceScalarField phig ( ( - mixture.surfaceTensionForce(U) + surfaceTensionForce() - buoyancy.ghf*fvc::snGrad(rho) )*rAUf*mesh.magSf() ); diff --git a/applications/solvers/modules/compressibleVoF/pressureCorrector.C b/applications/solvers/modules/compressibleVoF/pressureCorrector.C index 7afcc224f2..4987549c14 100644 --- a/applications/solvers/modules/compressibleVoF/pressureCorrector.C +++ b/applications/solvers/modules/compressibleVoF/pressureCorrector.C @@ -71,7 +71,7 @@ void Foam::solvers::compressibleVoF::pressureCorrector() const surfaceScalarField phig ( ( - interface.surfaceTensionForce() + surfaceTensionForce() - buoyancy.ghf*fvc::snGrad(rho) )*rAUf*mesh.magSf() ); diff --git a/applications/solvers/modules/incompressibleDriftFlux/incompressibleDriftFlux.C b/applications/solvers/modules/incompressibleDriftFlux/incompressibleDriftFlux.C index fd76c0794d..1db30e80c5 100644 --- a/applications/solvers/modules/incompressibleDriftFlux/incompressibleDriftFlux.C +++ b/applications/solvers/modules/incompressibleDriftFlux/incompressibleDriftFlux.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2022-2023 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,9 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "incompressibleDriftFlux.H" -#include "localEulerDdtScheme.H" #include "fvCorrectPhi.H" -#include "geometricZeroField.H" #include "addToRunTimeSelectionTable.H" #include "fvmDdt.H" @@ -45,6 +43,24 @@ namespace solvers } +// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // + +void Foam::solvers::incompressibleDriftFlux::correctInterface() +{} + + +Foam::tmp +Foam::solvers::incompressibleDriftFlux::surfaceTensionForce() const +{ + return surfaceScalarField::New + ( + "surfaceTensionForce", + mesh, + dimensionedScalar(dimForce/dimVolume, 0) + ); +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::solvers::incompressibleDriftFlux::incompressibleDriftFlux(fvMesh& mesh) diff --git a/applications/solvers/modules/incompressibleDriftFlux/incompressibleDriftFlux.H b/applications/solvers/modules/incompressibleDriftFlux/incompressibleDriftFlux.H index 0fddb060ec..beb3def6fd 100644 --- a/applications/solvers/modules/incompressibleDriftFlux/incompressibleDriftFlux.H +++ b/applications/solvers/modules/incompressibleDriftFlux/incompressibleDriftFlux.H @@ -147,6 +147,13 @@ protected: tmp& 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 surfaceTensionForce() const; + //- Return the momentum equation stress term virtual tmp divDevTau(volVectorField& U) { diff --git a/applications/solvers/modules/incompressibleDriftFlux/pressureCorrector.C b/applications/solvers/modules/incompressibleDriftFlux/pressureCorrector.C index a4a25bce43..708820c788 100644 --- a/applications/solvers/modules/incompressibleDriftFlux/pressureCorrector.C +++ b/applications/solvers/modules/incompressibleDriftFlux/pressureCorrector.C @@ -70,7 +70,7 @@ void Foam::solvers::incompressibleDriftFlux::pressureCorrector() surfaceScalarField phig ( ( - interface.surfaceTensionForce() + surfaceTensionForce() - buoyancy.ghf*fvc::snGrad(rho) )*rAUf*mesh.magSf() ); diff --git a/applications/solvers/modules/incompressibleMultiphaseVoF/pressureCorrector.C b/applications/solvers/modules/incompressibleMultiphaseVoF/pressureCorrector.C index afa9be527e..2487207c70 100644 --- a/applications/solvers/modules/incompressibleMultiphaseVoF/pressureCorrector.C +++ b/applications/solvers/modules/incompressibleMultiphaseVoF/pressureCorrector.C @@ -70,7 +70,7 @@ void Foam::solvers::incompressibleMultiphaseVoF::pressureCorrector() surfaceScalarField phig ( ( - mixture.surfaceTensionForce(U) + surfaceTensionForce() - buoyancy.ghf*fvc::snGrad(rho) )*rAUf*mesh.magSf() ); diff --git a/applications/solvers/modules/incompressibleVoF/pressureCorrector.C b/applications/solvers/modules/incompressibleVoF/pressureCorrector.C index ff6b9b2fd5..74a79d9b91 100644 --- a/applications/solvers/modules/incompressibleVoF/pressureCorrector.C +++ b/applications/solvers/modules/incompressibleVoF/pressureCorrector.C @@ -70,7 +70,7 @@ void Foam::solvers::incompressibleVoF::pressureCorrector() surfaceScalarField phig ( ( - interface.surfaceTensionForce() + surfaceTensionForce() - buoyancy.ghf*fvc::snGrad(rho) )*rAUf*mesh.magSf() ); diff --git a/applications/solvers/modules/twoPhaseVoFSolver/alphaPredictor.C b/applications/solvers/modules/twoPhaseVoFSolver/alphaPredictor.C index a57828d3c1..b29a31013d 100644 --- a/applications/solvers/modules/twoPhaseVoFSolver/alphaPredictor.C +++ b/applications/solvers/modules/twoPhaseVoFSolver/alphaPredictor.C @@ -227,7 +227,7 @@ void Foam::solvers::twoPhaseVoFSolver::alphaSolve alpha2 = 1.0 - alpha1; - interface.correct(); + correctInterface(); } for (int aCorr=0; aCorr