compressibleVoF: Consolidated library functionality
This commit is contained in:
@ -1,8 +1,6 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # Run from this directory
|
||||
|
||||
wclean libso compressibleTwoPhaseMixture
|
||||
wclean libso surfaceTensionModels
|
||||
wclean libso compressibleInterPhaseTransportModel
|
||||
|
||||
wclean libso fvModels/VoFTurbulenceDamping
|
||||
|
||||
@ -4,8 +4,6 @@ cd ${0%/*} || exit 1 # Run from this directory
|
||||
# Parse arguments for library compilation
|
||||
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
||||
|
||||
wmake $targetType compressibleTwoPhaseMixture
|
||||
wmake $targetType surfaceTensionModels
|
||||
wmake $targetType compressibleInterPhaseTransportModel
|
||||
|
||||
wmake $targetType fvModels/VoFTurbulenceDamping
|
||||
|
||||
@ -1,11 +1,14 @@
|
||||
EXE_INC = \
|
||||
-I$(FOAM_SOLVERS)/modules/fluid/fluidSolver/lnInclude \
|
||||
-IcompressibleTwoPhaseMixture \
|
||||
-IcompressibleInterPhaseTransportModel/lnInclude \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/VoF \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceCompression/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/compressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/immiscibleCompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \
|
||||
@ -14,15 +17,14 @@ EXE_INC = \
|
||||
|
||||
LIB_LIBS = \
|
||||
-lfluidSolver \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-ltwoPhaseSurfaceTension \
|
||||
-lfluidThermophysicalModels \
|
||||
-ltwoPhaseMixture \
|
||||
-ltwoPhaseProperties \
|
||||
-linterfaceProperties \
|
||||
-lcompressibleInterPhaseTransportModel \
|
||||
-lphysicalProperties \
|
||||
-lfluidThermophysicalModels \
|
||||
-linterfaceCompression \
|
||||
-lcompressibleInterfaceProperties \
|
||||
-limmiscibleCompressibleTwoPhaseMixture \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools \
|
||||
-lfvModels \
|
||||
-lfvConstraints \
|
||||
-lmeshTools \
|
||||
-lsampling
|
||||
|
||||
@ -1,25 +1,22 @@
|
||||
EXE_INC = \
|
||||
-I../compressibleTwoPhaseMixture \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/compressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/immiscibleCompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-lphysicalProperties \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-ltwoPhaseMixture \
|
||||
-ltwoPhaseProperties \
|
||||
-linterfaceProperties \
|
||||
-limmiscibleCompressibleTwoPhaseMixture \
|
||||
-lmomentumTransportModels \
|
||||
-lcompressibleMomentumTransportModels \
|
||||
-lphaseCompressibleMomentumTransportModels \
|
||||
-lphysicalProperties \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools
|
||||
|
||||
@ -45,7 +45,7 @@ SourceFiles
|
||||
#define compressibleInterPhaseTransportModel_H
|
||||
|
||||
#include "twoPhaseMixture.H"
|
||||
#include "compressibleTwoPhaseMixture.H"
|
||||
#include "immiscibleCompressibleTwoPhaseMixture.H"
|
||||
#include "compressibleMomentumTransportModels.H"
|
||||
#include "phaseCompressibleMomentumTransportModel.H"
|
||||
|
||||
|
||||
@ -93,7 +93,7 @@ Foam::solvers::compressibleVoF::compressibleVoF(fvMesh& mesh)
|
||||
linearInterpolate(U) & mesh.Sf()
|
||||
),
|
||||
|
||||
mixture(U, phi),
|
||||
mixture(U),
|
||||
|
||||
alpha1(mixture.alpha1()),
|
||||
|
||||
|
||||
@ -92,7 +92,7 @@ protected:
|
||||
// Phase properties
|
||||
|
||||
//- The compressible two-phase mixture
|
||||
compressibleTwoPhaseMixture mixture;
|
||||
immiscibleCompressibleTwoPhaseMixture mixture;
|
||||
|
||||
//- Reference to the primary phase-fraction
|
||||
volScalarField& alpha1;
|
||||
|
||||
@ -1,9 +1,3 @@
|
||||
cavitation/cavitationModel/cavitationModel.C
|
||||
cavitation/cavitationModel/cavitationModelNew.C
|
||||
cavitation/Kunz/Kunz.C
|
||||
cavitation/Merkle/Merkle.C
|
||||
cavitation/SchnerrSauer/SchnerrSauer.C
|
||||
|
||||
VoFCavitation.C
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libcompressibleVoFCavitation
|
||||
|
||||
@ -1,19 +1,17 @@
|
||||
EXE_INC = \
|
||||
-I../../compressibleTwoPhaseMixture \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/compressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/compressibleCavitation/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-lphysicalProperties \
|
||||
-ltwoPhaseMixture \
|
||||
-ltwoPhaseProperties \
|
||||
-linterfaceProperties \
|
||||
-lfluidThermophysicalModels \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-lcompressibleCavitationModels \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools
|
||||
|
||||
@ -1,22 +1,18 @@
|
||||
EXE_INC = \
|
||||
-I../../compressibleTwoPhaseMixture \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/compressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
||||
-I$(LIB_SRC)/lagrangian/parcel/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-ltwoPhaseMixture \
|
||||
-ltwoPhaseProperties \
|
||||
-linterfaceProperties \
|
||||
-lphysicalProperties \
|
||||
-lfluidThermophysicalModels \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-llagrangian \
|
||||
-llagrangianParcel \
|
||||
-llagrangianParcelTurbulence \
|
||||
|
||||
@ -1,19 +1,15 @@
|
||||
EXE_INC = \
|
||||
-I../../compressibleTwoPhaseMixture \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/compressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-lphysicalProperties \
|
||||
-ltwoPhaseMixture \
|
||||
-ltwoPhaseProperties \
|
||||
-linterfaceProperties \
|
||||
-lfluidThermophysicalModels \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools
|
||||
|
||||
@ -1,22 +1,18 @@
|
||||
EXE_INC = \
|
||||
-I../../compressibleTwoPhaseMixture \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/compressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/regionModels/regionModel/lnInclude \
|
||||
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-ltwoPhaseMixture \
|
||||
-ltwoPhaseProperties \
|
||||
-linterfaceProperties \
|
||||
-lphysicalProperties \
|
||||
-lfluidThermophysicalModels \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-lsurfaceFilmModels \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
EXE_INC = \
|
||||
-I../../compressibleTwoPhaseMixture \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/compressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/immiscibleCompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \
|
||||
@ -11,14 +12,11 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-lphysicalProperties \
|
||||
-ltwoPhaseMixture \
|
||||
-ltwoPhaseProperties \
|
||||
-linterfaceProperties \
|
||||
-lfluidThermophysicalModels \
|
||||
-limmiscibleCompressibleTwoPhaseMixture \
|
||||
-lmomentumTransportModels \
|
||||
-lcompressibleMomentumTransportModels \
|
||||
-lphaseCompressibleMomentumTransportModels \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools
|
||||
|
||||
@ -24,7 +24,7 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "VoFTurbulenceDamping.H"
|
||||
#include "compressibleTwoPhaseMixture.H"
|
||||
#include "immiscibleCompressibleTwoPhaseMixture.H"
|
||||
#include "interfaceProperties.H"
|
||||
#include "compressibleMomentumTransportModel.H"
|
||||
#include "fvMatrix.H"
|
||||
@ -66,7 +66,7 @@ Foam::fv::compressible::VoFTurbulenceDamping::VoFTurbulenceDamping
|
||||
delta_("delta", dimLength, dict),
|
||||
mixture_
|
||||
(
|
||||
mesh.lookupObject<compressibleTwoPhaseMixture>
|
||||
mesh.lookupObject<immiscibleCompressibleTwoPhaseMixture>
|
||||
(
|
||||
"phaseProperties"
|
||||
)
|
||||
|
||||
@ -81,7 +81,7 @@ SourceFiles
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
class compressibleTwoPhaseMixture;
|
||||
class immiscibleCompressibleTwoPhaseMixture;
|
||||
class interfaceProperties;
|
||||
class compressibleMomentumTransportModel;
|
||||
|
||||
@ -111,7 +111,7 @@ class VoFTurbulenceDamping
|
||||
dimensionedScalar delta_;
|
||||
|
||||
//- Reference to the mixture properties
|
||||
const compressibleTwoPhaseMixture& mixture_;
|
||||
const immiscibleCompressibleTwoPhaseMixture& mixture_;
|
||||
|
||||
//- Reference to the interface properties
|
||||
const interfaceProperties& interface_;
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
liquidProperties/liquidPropertiesSurfaceTension.C
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libtwoPhaseSurfaceTension
|
||||
@ -1,8 +1,10 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/incompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/VoF \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceCompression/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/incompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/barotropicCompressibilityModel/lnInclude \
|
||||
@ -10,11 +12,13 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
-lmomentumTransportModels \
|
||||
-lphysicalProperties \
|
||||
-linterfaceCompression \
|
||||
-lincompressibleTwoPhaseMixture \
|
||||
-lmomentumTransportModels \
|
||||
-lincompressibleMomentumTransportModels \
|
||||
-lbarotropicCompressibilityModel \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools \
|
||||
-lfvModels \
|
||||
-lfvConstraints \
|
||||
-lmeshTools
|
||||
-lfvConstraints
|
||||
|
||||
@ -61,7 +61,7 @@ surfaceScalarField rhoPhi
|
||||
|
||||
Info<< "Reading phaseProperties\n" << endl;
|
||||
|
||||
incompressibleTwoPhaseMixture mixture(U, phi);
|
||||
incompressibleTwoPhaseMixture mixture(mesh);
|
||||
|
||||
volScalarField& alphav(mixture.alpha1());
|
||||
alphav.oldTime();
|
||||
|
||||
@ -4,7 +4,8 @@ EXE_INC = \
|
||||
-IcompressibleMultiphaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/VoF \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceCompression/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \
|
||||
@ -13,8 +14,10 @@ EXE_INC = \
|
||||
|
||||
EXE_LIBS = \
|
||||
-lcompressibleMultiphaseMixture \
|
||||
-lphysicalProperties \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-linterfaceCompression \
|
||||
-linterfaceProperties \
|
||||
-lmomentumTransportModels \
|
||||
-lcompressibleMomentumTransportModels \
|
||||
|
||||
@ -6,6 +6,8 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/VoF \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceCompression/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude
|
||||
@ -13,10 +15,13 @@ EXE_INC = \
|
||||
EXE_LIBS = \
|
||||
-ldriftFluxTransportModels \
|
||||
-ldriftFluxRelativeVelocityModels \
|
||||
-lphysicalProperties \
|
||||
-linterfaceCompression \
|
||||
-ltwoPhaseMixture \
|
||||
-lmomentumTransportModels \
|
||||
-lcompressibleMomentumTransportModels \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools \
|
||||
-lsampling \
|
||||
-lfvModels \
|
||||
-lfvConstraints \
|
||||
-lmomentumTransportModels \
|
||||
-lcompressibleMomentumTransportModels
|
||||
-lfvConstraints
|
||||
|
||||
@ -1,13 +1,12 @@
|
||||
EXE_INC = \
|
||||
-I../incompressibleTwoPhaseInteractingMixture \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-ltwoPhaseMixture \
|
||||
-lphysicalProperties \
|
||||
-ltwoPhaseMixture \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools
|
||||
|
||||
@ -8,5 +8,6 @@ EXE_INC = \
|
||||
|
||||
LIB_LIBS = \
|
||||
-lphysicalProperties \
|
||||
-ltwoPhaseMixture \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools
|
||||
|
||||
@ -1,24 +1,29 @@
|
||||
EXE_INC = \
|
||||
-IincompressibleInterPhaseTransportModel/lnInclude \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/VoF \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceCompression/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/incompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/phaseIncompressible/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
-lincompressibleInterPhaseTransportModel \
|
||||
-lphysicalProperties \
|
||||
-linterfaceCompression \
|
||||
-limmiscibleIncompressibleTwoPhaseMixture \
|
||||
-lmomentumTransportModels \
|
||||
-lincompressibleMomentumTransportModels \
|
||||
-lincompressibleInterPhaseTransportModel \
|
||||
-lphaseIncompressibleMomentumTransportModels \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools \
|
||||
-lfvModels \
|
||||
-lfvConstraints \
|
||||
-lmeshTools
|
||||
-lsampling
|
||||
|
||||
@ -32,7 +32,7 @@ volVectorField U
|
||||
|
||||
|
||||
Info<< "Reading phaseProperties\n" << endl;
|
||||
immiscibleIncompressibleTwoPhaseMixture mixture(U, phi);
|
||||
immiscibleIncompressibleTwoPhaseMixture mixture(U);
|
||||
|
||||
|
||||
// Need to store rho for ddt(rho, U)
|
||||
|
||||
@ -3,14 +3,13 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/incompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/cavitation/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/incompressibleCavitation/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lphysicalProperties \
|
||||
-limmiscibleIncompressibleTwoPhaseMixture \
|
||||
-lcavitationModels \
|
||||
-lincompressibleTwoPhaseMixture \
|
||||
-lincompressibleCavitationModels \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools
|
||||
|
||||
@ -24,7 +24,7 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "VoFCavitation.H"
|
||||
#include "immiscibleIncompressibleTwoPhaseMixture.H"
|
||||
#include "incompressibleTwoPhaseMixture.H"
|
||||
#include "fvcDdt.H"
|
||||
#include "fvcDiv.H"
|
||||
#include "fvmSup.H"
|
||||
@ -62,7 +62,7 @@ Foam::fv::VoFCavitation::VoFCavitation
|
||||
|
||||
mixture_
|
||||
(
|
||||
mesh.lookupObjectRef<immiscibleIncompressibleTwoPhaseMixture>
|
||||
mesh.lookupObjectRef<incompressibleTwoPhaseMixture>
|
||||
(
|
||||
"phaseProperties"
|
||||
)
|
||||
|
||||
@ -86,7 +86,7 @@ SourceFiles
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
class immiscibleIncompressibleTwoPhaseMixture;
|
||||
class incompressibleTwoPhaseMixture;
|
||||
|
||||
namespace fv
|
||||
{
|
||||
@ -102,7 +102,7 @@ class VoFCavitation
|
||||
// Private Data
|
||||
|
||||
//- Reference to the mixture properties
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture_;
|
||||
const incompressibleTwoPhaseMixture& mixture_;
|
||||
|
||||
autoPtr<cavitationModel> cavitation_;
|
||||
|
||||
|
||||
@ -12,8 +12,6 @@ EXE_INC = \
|
||||
LIB_LIBS = \
|
||||
-lphysicalProperties \
|
||||
-limmiscibleIncompressibleTwoPhaseMixture \
|
||||
-ltwoPhaseMixture \
|
||||
-linterfaceProperties \
|
||||
-lmomentumTransportModels \
|
||||
-lincompressibleMomentumTransportModels \
|
||||
-lfiniteVolume \
|
||||
|
||||
@ -2,7 +2,8 @@ EXE_INC = \
|
||||
-I. \
|
||||
-I.. \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/VoF \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceCompression/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle \
|
||||
-IimmiscibleIncompressibleThreePhaseMixture \
|
||||
@ -15,9 +16,9 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/sampling/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
-ltwoPhaseMixture \
|
||||
-ltwoPhaseProperties \
|
||||
-lphysicalProperties \
|
||||
-linterfaceCompression \
|
||||
-ltwoPhaseProperties \
|
||||
-lmomentumTransportModels \
|
||||
-lincompressibleMomentumTransportModels \
|
||||
-lfiniteVolume \
|
||||
|
||||
@ -30,7 +30,7 @@ volVectorField U
|
||||
|
||||
#include "createPhi.H"
|
||||
|
||||
immiscibleIncompressibleThreePhaseMixture mixture(U, phi);
|
||||
immiscibleIncompressibleThreePhaseMixture mixture(U);
|
||||
|
||||
volScalarField& alpha1(mixture.alpha1());
|
||||
volScalarField& alpha2(mixture.alpha2());
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2014-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -31,15 +31,11 @@ License
|
||||
Foam::immiscibleIncompressibleThreePhaseMixture::
|
||||
immiscibleIncompressibleThreePhaseMixture
|
||||
(
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi
|
||||
const volVectorField& U
|
||||
)
|
||||
:
|
||||
incompressibleThreePhaseMixture(U, phi),
|
||||
threePhaseInterfaceProperties
|
||||
(
|
||||
static_cast<incompressibleThreePhaseMixture&>(*this)
|
||||
)
|
||||
incompressibleThreePhaseMixture(U.mesh()),
|
||||
threePhaseInterfaceProperties(*this, alpha1(), alpha2(), alpha3(), U)
|
||||
{}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2014-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -52,17 +52,12 @@ class immiscibleIncompressibleThreePhaseMixture
|
||||
public incompressibleThreePhaseMixture,
|
||||
public threePhaseInterfaceProperties
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
immiscibleIncompressibleThreePhaseMixture
|
||||
(
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi
|
||||
);
|
||||
//- Construct from the mixture velocity
|
||||
immiscibleIncompressibleThreePhaseMixture(const volVectorField& U);
|
||||
|
||||
|
||||
//- Destructor
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -45,8 +45,7 @@ void Foam::incompressibleThreePhaseMixture::calcNu()
|
||||
|
||||
Foam::incompressibleThreePhaseMixture::incompressibleThreePhaseMixture
|
||||
(
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi
|
||||
const fvMesh& mesh
|
||||
)
|
||||
:
|
||||
IOdictionary
|
||||
@ -54,8 +53,8 @@ Foam::incompressibleThreePhaseMixture::incompressibleThreePhaseMixture
|
||||
IOobject
|
||||
(
|
||||
"phaseProperties",
|
||||
U.time().constant(),
|
||||
U.db(),
|
||||
mesh.time().constant(),
|
||||
mesh,
|
||||
IOobject::MUST_READ_IF_MODIFIED,
|
||||
IOobject::NO_WRITE
|
||||
)
|
||||
@ -70,12 +69,12 @@ Foam::incompressibleThreePhaseMixture::incompressibleThreePhaseMixture
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName("alpha", phase1Name_),
|
||||
U.time().timeName(),
|
||||
U.mesh(),
|
||||
mesh.time().timeName(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
U.mesh()
|
||||
mesh
|
||||
),
|
||||
|
||||
alpha2_
|
||||
@ -83,12 +82,12 @@ Foam::incompressibleThreePhaseMixture::incompressibleThreePhaseMixture
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName("alpha", phase2Name_),
|
||||
U.time().timeName(),
|
||||
U.mesh(),
|
||||
mesh.time().timeName(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
U.mesh()
|
||||
mesh
|
||||
),
|
||||
|
||||
alpha3_
|
||||
@ -96,33 +95,30 @@ Foam::incompressibleThreePhaseMixture::incompressibleThreePhaseMixture
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName("alpha", phase3Name_),
|
||||
U.time().timeName(),
|
||||
U.mesh(),
|
||||
mesh.time().timeName(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
U.mesh()
|
||||
mesh
|
||||
),
|
||||
|
||||
U_(U),
|
||||
phi_(phi),
|
||||
|
||||
nu_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"nu",
|
||||
U.time().timeName(),
|
||||
U.db()
|
||||
mesh.time().timeName(),
|
||||
mesh
|
||||
),
|
||||
U.mesh(),
|
||||
mesh,
|
||||
dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), 0),
|
||||
calculatedFvPatchScalarField::typeName
|
||||
),
|
||||
|
||||
nuModel1_(viscosityModel::New(U.mesh(), phase1Name_)),
|
||||
nuModel2_(viscosityModel::New(U.mesh(), phase2Name_)),
|
||||
nuModel3_(viscosityModel::New(U.mesh(), phase3Name_)),
|
||||
nuModel1_(viscosityModel::New(mesh, phase1Name_)),
|
||||
nuModel2_(viscosityModel::New(mesh, phase2Name_)),
|
||||
nuModel3_(viscosityModel::New(mesh, phase3Name_)),
|
||||
|
||||
rho1_("rho", dimDensity, nuModel1_()),
|
||||
rho2_("rho", dimDensity, nuModel2_()),
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -64,9 +64,6 @@ class incompressibleThreePhaseMixture
|
||||
volScalarField alpha2_;
|
||||
volScalarField alpha3_;
|
||||
|
||||
const volVectorField& U_;
|
||||
const surfaceScalarField& phi_;
|
||||
|
||||
volScalarField nu_;
|
||||
|
||||
autoPtr<viscosityModel> nuModel1_;
|
||||
@ -88,12 +85,8 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
incompressibleThreePhaseMixture
|
||||
(
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi
|
||||
);
|
||||
//- Construct from a mesh
|
||||
incompressibleThreePhaseMixture(const fvMesh& mesh);
|
||||
|
||||
|
||||
//- Destructor
|
||||
@ -166,18 +159,6 @@ public:
|
||||
return rho3_;
|
||||
};
|
||||
|
||||
//- Return the velocity
|
||||
const volVectorField& U() const
|
||||
{
|
||||
return U_;
|
||||
}
|
||||
|
||||
//- Return the flux
|
||||
const surfaceScalarField& phi() const
|
||||
{
|
||||
return phi_;
|
||||
}
|
||||
|
||||
//- Return const-access to phase1 viscosityModel
|
||||
const viscosityModel& nuModel1() const
|
||||
{
|
||||
|
||||
@ -38,29 +38,25 @@ void Foam::threePhaseInterfaceProperties::correctContactAngle
|
||||
surfaceVectorField::Boundary& nHatb
|
||||
) const
|
||||
{
|
||||
const volScalarField::Boundary& alpha1 =
|
||||
mixture_.alpha1().boundaryField();
|
||||
const volScalarField::Boundary& alpha2 =
|
||||
mixture_.alpha2().boundaryField();
|
||||
const volScalarField::Boundary& alpha3 =
|
||||
mixture_.alpha3().boundaryField();
|
||||
const volVectorField::Boundary& U =
|
||||
mixture_.U().boundaryField();
|
||||
const volScalarField::Boundary& alpha1Bf = alpha1_.boundaryField();
|
||||
const volScalarField::Boundary& alpha2Bf = alpha2_.boundaryField();
|
||||
const volScalarField::Boundary& alpha3Bf = alpha3_.boundaryField();
|
||||
const volVectorField::Boundary& UBf = U_.boundaryField();
|
||||
|
||||
const fvMesh& mesh = mixture_.U().mesh();
|
||||
const fvMesh& mesh = alpha1_.mesh();
|
||||
const fvBoundaryMesh& boundary = mesh.boundary();
|
||||
|
||||
forAll(boundary, patchi)
|
||||
{
|
||||
if (isA<alphaContactAngleFvPatchScalarField>(alpha1[patchi]))
|
||||
if (isA<alphaContactAngleFvPatchScalarField>(alpha1Bf[patchi]))
|
||||
{
|
||||
const alphaContactAngleFvPatchScalarField& a2cap =
|
||||
refCast<const alphaContactAngleFvPatchScalarField>
|
||||
(alpha2[patchi]);
|
||||
(alpha2Bf[patchi]);
|
||||
|
||||
const alphaContactAngleFvPatchScalarField& a3cap =
|
||||
refCast<const alphaContactAngleFvPatchScalarField>
|
||||
(alpha3[patchi]);
|
||||
(alpha3Bf[patchi]);
|
||||
|
||||
scalarField twoPhaseAlpha2(max(a2cap, scalar(0)));
|
||||
scalarField twoPhaseAlpha3(max(a3cap, scalar(0)));
|
||||
@ -79,8 +75,8 @@ void Foam::threePhaseInterfaceProperties::correctContactAngle
|
||||
(
|
||||
degToRad
|
||||
(
|
||||
twoPhaseAlpha2*(180 - a2cap.theta(U[patchi], nHatp))
|
||||
+ twoPhaseAlpha3*(180 - a3cap.theta(U[patchi], nHatp))
|
||||
twoPhaseAlpha2*(180 - a2cap.theta(UBf[patchi], nHatp))
|
||||
+ twoPhaseAlpha3*(180 - a3cap.theta(UBf[patchi], nHatp))
|
||||
)
|
||||
);
|
||||
|
||||
@ -114,13 +110,11 @@ void Foam::threePhaseInterfaceProperties::correctContactAngle
|
||||
|
||||
void Foam::threePhaseInterfaceProperties::calculateK()
|
||||
{
|
||||
const volScalarField& alpha1 = mixture_.alpha1();
|
||||
|
||||
const fvMesh& mesh = alpha1.mesh();
|
||||
const fvMesh& mesh = alpha1_.mesh();
|
||||
const surfaceVectorField& Sf = mesh.Sf();
|
||||
|
||||
// Cell gradient of alpha
|
||||
volVectorField gradAlpha(fvc::grad(alpha1));
|
||||
volVectorField gradAlpha(fvc::grad(alpha1_));
|
||||
|
||||
// Interpolated face-gradient of alpha
|
||||
surfaceVectorField gradAlphaf(fvc::interpolate(gradAlpha));
|
||||
@ -148,24 +142,29 @@ void Foam::threePhaseInterfaceProperties::calculateK()
|
||||
|
||||
Foam::threePhaseInterfaceProperties::threePhaseInterfaceProperties
|
||||
(
|
||||
const incompressibleThreePhaseMixture& mixture
|
||||
const IOdictionary& dict,
|
||||
volScalarField& alpha1,
|
||||
volScalarField& alpha2,
|
||||
volScalarField& alpha3,
|
||||
const volVectorField& U
|
||||
)
|
||||
:
|
||||
mixture_(mixture),
|
||||
alpha1_(alpha1),
|
||||
alpha2_(alpha2),
|
||||
alpha3_(alpha3),
|
||||
U_(U),
|
||||
|
||||
cAlpha_
|
||||
(
|
||||
mixture.U().mesh().solution().solverDict
|
||||
(
|
||||
mixture_.alpha1().name()
|
||||
).lookup<scalar>("cAlpha")
|
||||
U.mesh().solution().solverDict(alpha1_.name()).lookup<scalar>("cAlpha")
|
||||
),
|
||||
sigma12_("sigma12", dimensionSet(1, 0, -2, 0, 0), mixture),
|
||||
sigma13_("sigma13", dimensionSet(1, 0, -2, 0, 0), mixture),
|
||||
sigma12_("sigma12", dimensionSet(1, 0, -2, 0, 0), dict),
|
||||
sigma13_("sigma13", dimensionSet(1, 0, -2, 0, 0), dict),
|
||||
|
||||
deltaN_
|
||||
(
|
||||
"deltaN",
|
||||
1e-8/pow(average(mixture.U().mesh().V()), 1.0/3.0)
|
||||
1e-8/pow(average(U.mesh().V()), 1.0/3.0)
|
||||
),
|
||||
|
||||
nHatf_
|
||||
@ -173,10 +172,10 @@ Foam::threePhaseInterfaceProperties::threePhaseInterfaceProperties
|
||||
IOobject
|
||||
(
|
||||
"nHatf",
|
||||
mixture.alpha1().time().timeName(),
|
||||
mixture.alpha1().mesh()
|
||||
alpha1_.time().timeName(),
|
||||
alpha1_.mesh()
|
||||
),
|
||||
mixture.alpha1().mesh(),
|
||||
alpha1_.mesh(),
|
||||
dimensionedScalar(dimArea, 0)
|
||||
),
|
||||
|
||||
@ -185,10 +184,10 @@ Foam::threePhaseInterfaceProperties::threePhaseInterfaceProperties
|
||||
IOobject
|
||||
(
|
||||
"interfaceProperties:K",
|
||||
mixture.alpha1().time().timeName(),
|
||||
mixture.alpha1().mesh()
|
||||
alpha1_.time().timeName(),
|
||||
alpha1_.mesh()
|
||||
),
|
||||
mixture.alpha1().mesh(),
|
||||
alpha1_.mesh(),
|
||||
dimensionedScalar(dimless/dimLength, 0)
|
||||
)
|
||||
{
|
||||
@ -201,7 +200,7 @@ Foam::threePhaseInterfaceProperties::threePhaseInterfaceProperties
|
||||
Foam::tmp<Foam::surfaceScalarField>
|
||||
Foam::threePhaseInterfaceProperties::surfaceTensionForce() const
|
||||
{
|
||||
return fvc::interpolate(sigmaK())*fvc::snGrad(mixture_.alpha1());
|
||||
return fvc::interpolate(sigmaK())*fvc::snGrad(alpha1_);
|
||||
}
|
||||
|
||||
|
||||
@ -210,8 +209,8 @@ Foam::threePhaseInterfaceProperties::nearInterface() const
|
||||
{
|
||||
return max
|
||||
(
|
||||
pos0(mixture_.alpha1() - 0.01)*pos0(0.99 - mixture_.alpha1()),
|
||||
pos0(mixture_.alpha2() - 0.01)*pos0(0.99 - mixture_.alpha2())
|
||||
pos0(alpha1_ - 0.01)*pos0(0.99 - alpha1_),
|
||||
pos0(alpha2_ - 0.01)*pos0(0.99 - alpha2_)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -53,7 +53,17 @@ class threePhaseInterfaceProperties
|
||||
{
|
||||
// Private Data
|
||||
|
||||
const incompressibleThreePhaseMixture& mixture_;
|
||||
//- Volume fraction of phase 1
|
||||
volScalarField& alpha1_;
|
||||
|
||||
//- Volume fraction of phase 2
|
||||
volScalarField& alpha2_;
|
||||
|
||||
//- Volume fraction of phase 3
|
||||
volScalarField& alpha3_;
|
||||
|
||||
//- Mixture velocity
|
||||
const volVectorField& U_;
|
||||
|
||||
//- Compression coefficient
|
||||
scalar cAlpha_;
|
||||
@ -67,7 +77,10 @@ class threePhaseInterfaceProperties
|
||||
//- Stabilisation for normalisation of the interface normal
|
||||
const dimensionedScalar deltaN_;
|
||||
|
||||
//- ...
|
||||
surfaceScalarField nHatf_;
|
||||
|
||||
//- ...
|
||||
volScalarField K_;
|
||||
|
||||
|
||||
@ -89,10 +102,15 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from volume fraction field alpha and IOdictionary
|
||||
//- Construct from dictionary, volume fraction fields and mixture
|
||||
// velocity
|
||||
threePhaseInterfaceProperties
|
||||
(
|
||||
const incompressibleThreePhaseMixture& mixture
|
||||
const IOdictionary& dict,
|
||||
volScalarField& alpha1,
|
||||
volScalarField& alpha2,
|
||||
volScalarField& alpha3,
|
||||
const volVectorField& U
|
||||
);
|
||||
|
||||
//- Disallow default bitwise copy construction
|
||||
@ -104,6 +122,11 @@ public:
|
||||
|
||||
// Member Functions
|
||||
|
||||
inline const volVectorField& U() const
|
||||
{
|
||||
return U_;
|
||||
}
|
||||
|
||||
scalar cAlpha() const
|
||||
{
|
||||
return cAlpha_;
|
||||
@ -126,8 +149,8 @@ public:
|
||||
|
||||
tmp<volScalarField> sigma() const
|
||||
{
|
||||
volScalarField limitedAlpha2(max(mixture_.alpha2(), scalar(0)));
|
||||
volScalarField limitedAlpha3(max(mixture_.alpha3(), scalar(0)));
|
||||
volScalarField limitedAlpha2(max(alpha2_, scalar(0)));
|
||||
volScalarField limitedAlpha3(max(alpha3_, scalar(0)));
|
||||
|
||||
return
|
||||
(limitedAlpha2*sigma12_ + limitedAlpha3*sigma13_)
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
EXE_INC = \
|
||||
-ImultiphaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/VoF \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceCompression/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \
|
||||
@ -11,8 +12,9 @@ EXE_INC = \
|
||||
|
||||
EXE_LIBS = \
|
||||
-lmultiphaseInterFoam \
|
||||
-linterfaceProperties \
|
||||
-lphysicalProperties \
|
||||
-linterfaceCompression \
|
||||
-linterfaceProperties \
|
||||
-lmomentumTransportModels \
|
||||
-lincompressibleMomentumTransportModels \
|
||||
-lfiniteVolume \
|
||||
|
||||
@ -1,21 +1,21 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceCompression/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \
|
||||
-I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lfluidThermophysicalModels \
|
||||
-lphysicalProperties \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-linterfaceCompression \
|
||||
-lmomentumTransportModels \
|
||||
-lincompressibleMomentumTransportModels \
|
||||
-lcompressibleMomentumTransportModels \
|
||||
-ltwoPhaseMixture \
|
||||
-lspecie \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools \
|
||||
-lfvModels \
|
||||
|
||||
@ -4,11 +4,19 @@ cd ${0%/*} || exit 1 # Run from this directory
|
||||
# Parse arguments for library compilation
|
||||
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
||||
|
||||
wmake $targetType twoPhaseMixture
|
||||
wmake $targetType interfaceProperties
|
||||
wmake $targetType interfaceCompression
|
||||
|
||||
wmake $targetType twoPhaseProperties
|
||||
wmake $targetType interfaceProperties
|
||||
wmake $targetType compressibleInterfaceProperties
|
||||
|
||||
wmake $targetType twoPhaseMixture
|
||||
wmake $targetType incompressibleTwoPhaseMixture
|
||||
wmake $targetType compressibleTwoPhaseMixture
|
||||
wmake $targetType immiscibleIncompressibleTwoPhaseMixture
|
||||
wmake $targetType cavitation
|
||||
wmake $targetType immiscibleCompressibleTwoPhaseMixture
|
||||
|
||||
wmake $targetType incompressibleCavitation
|
||||
wmake $targetType compressibleCavitation
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
@ -46,10 +46,10 @@ namespace cavitationModels
|
||||
Foam::compressible::cavitationModels::Kunz::Kunz
|
||||
(
|
||||
const dictionary& dict,
|
||||
const compressibleTwoPhaseMixture& mixture
|
||||
const compressibleTwoPhases& phases
|
||||
)
|
||||
:
|
||||
cavitationModel(dict, mixture),
|
||||
cavitationModel(dict, phases),
|
||||
|
||||
UInf_("UInf", dimVelocity, dict),
|
||||
tInf_("tInf", dimTime, dict),
|
||||
@ -68,17 +68,17 @@ Foam::Pair<Foam::tmp<Foam::volScalarField::Internal>>
|
||||
Foam::compressible::cavitationModels::Kunz::mDotAlphal() const
|
||||
{
|
||||
const volScalarField::Internal& p =
|
||||
mixture_.alpha1().db().lookupObject<volScalarField>("p");
|
||||
phases_.mesh().lookupObject<volScalarField>("p");
|
||||
|
||||
const volScalarField::Internal mcCoeff_(Cc_*mixture_.rho2()()/tInf_);
|
||||
const volScalarField::Internal mcCoeff_(Cc_*phases_.rho2()()/tInf_);
|
||||
const volScalarField::Internal mvCoeff_
|
||||
(
|
||||
Cv_*mixture_.rho2()()/(0.5*mixture_.rho1()()*sqr(UInf_)*tInf_)
|
||||
Cv_*phases_.rho2()()/(0.5*phases_.rho1()()*sqr(UInf_)*tInf_)
|
||||
);
|
||||
|
||||
const volScalarField::Internal limitedAlpha1
|
||||
(
|
||||
min(max(mixture_.alpha1()(), scalar(0)), scalar(1))
|
||||
min(max(phases_.alpha1()(), scalar(0)), scalar(1))
|
||||
);
|
||||
|
||||
return Pair<tmp<volScalarField::Internal>>
|
||||
@ -95,17 +95,17 @@ Foam::Pair<Foam::tmp<Foam::volScalarField::Internal>>
|
||||
Foam::compressible::cavitationModels::Kunz::mDotP() const
|
||||
{
|
||||
const volScalarField::Internal& p =
|
||||
mixture_.alpha1().db().lookupObject<volScalarField>("p");
|
||||
phases_.mesh().lookupObject<volScalarField>("p");
|
||||
|
||||
const volScalarField::Internal mcCoeff_(Cc_*mixture_.rho2()()/tInf_);
|
||||
const volScalarField::Internal mcCoeff_(Cc_*phases_.rho2()()/tInf_);
|
||||
const volScalarField::Internal mvCoeff_
|
||||
(
|
||||
Cv_*mixture_.rho2()()/(0.5*mixture_.rho1()()*sqr(UInf_)*tInf_)
|
||||
Cv_*phases_.rho2()()/(0.5*phases_.rho1()()*sqr(UInf_)*tInf_)
|
||||
);
|
||||
|
||||
const volScalarField::Internal limitedAlpha1
|
||||
(
|
||||
min(max(mixture_.alpha1()(), scalar(0)), scalar(1))
|
||||
min(max(phases_.alpha1()(), scalar(0)), scalar(1))
|
||||
);
|
||||
|
||||
return Pair<tmp<volScalarField::Internal>>
|
||||
@ -86,11 +86,11 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct for mixture
|
||||
//- Construct for phases
|
||||
Kunz
|
||||
(
|
||||
const dictionary& dict,
|
||||
const compressibleTwoPhaseMixture& mixture
|
||||
const compressibleTwoPhases& phases
|
||||
);
|
||||
|
||||
|
||||
@ -4,4 +4,4 @@ Kunz/Kunz.C
|
||||
Merkle/Merkle.C
|
||||
SchnerrSauer/SchnerrSauer.C
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libcavitationModels
|
||||
LIB = $(FOAM_LIBBIN)/libcompressibleCavitationModels
|
||||
19
src/twoPhaseModels/compressibleCavitation/Make/options
Normal file
19
src/twoPhaseModels/compressibleCavitation/Make/options
Normal file
@ -0,0 +1,19 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/compressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-lphysicalProperties \
|
||||
-ltwoPhaseMixture \
|
||||
-ltwoPhaseProperties \
|
||||
-linterfaceProperties \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools
|
||||
@ -46,10 +46,10 @@ namespace cavitationModels
|
||||
Foam::compressible::cavitationModels::Merkle::Merkle
|
||||
(
|
||||
const dictionary& dict,
|
||||
const compressibleTwoPhaseMixture& mixture
|
||||
const compressibleTwoPhases& phases
|
||||
)
|
||||
:
|
||||
cavitationModel(dict, mixture),
|
||||
cavitationModel(dict, phases),
|
||||
|
||||
UInf_("UInf", dimVelocity, dict),
|
||||
tInf_("tInf", dimTime, dict),
|
||||
@ -70,11 +70,11 @@ Foam::Pair<Foam::tmp<Foam::volScalarField::Internal>>
|
||||
Foam::compressible::cavitationModels::Merkle::mDotAlphal() const
|
||||
{
|
||||
const volScalarField::Internal& p =
|
||||
mixture_.alpha1().db().lookupObject<volScalarField>("p");
|
||||
phases_.mesh().lookupObject<volScalarField>("p");
|
||||
|
||||
const volScalarField::Internal mvCoeff_
|
||||
(
|
||||
Cv_*mixture_.rho1()()/(0.5*sqr(UInf_)*tInf_*mixture_.rho2()())
|
||||
Cv_*phases_.rho1()()/(0.5*sqr(UInf_)*tInf_*phases_.rho2()())
|
||||
);
|
||||
|
||||
return Pair<tmp<volScalarField::Internal>>
|
||||
@ -89,16 +89,16 @@ Foam::Pair<Foam::tmp<Foam::volScalarField::Internal>>
|
||||
Foam::compressible::cavitationModels::Merkle::mDotP() const
|
||||
{
|
||||
const volScalarField::Internal& p =
|
||||
mixture_.alpha1().db().lookupObject<volScalarField>("p");
|
||||
phases_.mesh().lookupObject<volScalarField>("p");
|
||||
|
||||
const volScalarField::Internal limitedAlpha1
|
||||
(
|
||||
min(max(mixture_.alpha1()(), scalar(0)), scalar(1))
|
||||
min(max(phases_.alpha1()(), scalar(0)), scalar(1))
|
||||
);
|
||||
|
||||
const volScalarField::Internal mvCoeff_
|
||||
(
|
||||
Cv_*mixture_.rho1()()/(0.5*sqr(UInf_)*tInf_*mixture_.rho2()())
|
||||
Cv_*phases_.rho1()()/(0.5*sqr(UInf_)*tInf_*phases_.rho2()())
|
||||
);
|
||||
|
||||
return Pair<tmp<volScalarField::Internal>>
|
||||
@ -82,11 +82,11 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct for mixture
|
||||
//- Construct for phases
|
||||
Merkle
|
||||
(
|
||||
const dictionary& dict,
|
||||
const compressibleTwoPhaseMixture& mixture
|
||||
const compressibleTwoPhases& phases
|
||||
);
|
||||
|
||||
|
||||
@ -52,10 +52,10 @@ namespace cavitationModels
|
||||
Foam::compressible::cavitationModels::SchnerrSauer::SchnerrSauer
|
||||
(
|
||||
const dictionary& dict,
|
||||
const compressibleTwoPhaseMixture& mixture
|
||||
const compressibleTwoPhases& phases
|
||||
)
|
||||
:
|
||||
cavitationModel(dict, mixture),
|
||||
cavitationModel(dict, phases),
|
||||
|
||||
n_("n", dimless/dimVolume, dict),
|
||||
dNuc_("dNuc", dimLength, dict),
|
||||
@ -101,17 +101,17 @@ Foam::compressible::cavitationModels::SchnerrSauer::pCoeff
|
||||
{
|
||||
const volScalarField::Internal limitedAlpha1
|
||||
(
|
||||
min(max(mixture_.alpha1()(), scalar(0)), scalar(1))
|
||||
min(max(phases_.alpha1()(), scalar(0)), scalar(1))
|
||||
);
|
||||
|
||||
const volScalarField::Internal rho
|
||||
(
|
||||
limitedAlpha1*mixture_.rho1()()
|
||||
+ (scalar(1) - limitedAlpha1)*mixture_.rho2()()
|
||||
limitedAlpha1*phases_.rho1()()
|
||||
+ (scalar(1) - limitedAlpha1)*phases_.rho2()()
|
||||
);
|
||||
|
||||
return
|
||||
(3*mixture_.rho1()()*mixture_.rho2()())*sqrt(2/(3*mixture_.rho1()()))
|
||||
(3*phases_.rho1()()*phases_.rho2()())*sqrt(2/(3*phases_.rho1()()))
|
||||
*rRb(limitedAlpha1)/(rho*sqrt(mag(p - pSat()) + 0.01*pSat()));
|
||||
}
|
||||
|
||||
@ -120,13 +120,13 @@ Foam::Pair<Foam::tmp<Foam::volScalarField::Internal>>
|
||||
Foam::compressible::cavitationModels::SchnerrSauer::mDotAlphal() const
|
||||
{
|
||||
const volScalarField::Internal& p =
|
||||
mixture_.alpha1().db().lookupObject<volScalarField>("p");
|
||||
phases_.mesh().lookupObject<volScalarField>("p");
|
||||
|
||||
const volScalarField::Internal pCoeff(this->pCoeff(p));
|
||||
|
||||
const volScalarField::Internal limitedAlpha1
|
||||
(
|
||||
min(max(mixture_.alpha1()(), scalar(0)), scalar(1))
|
||||
min(max(phases_.alpha1()(), scalar(0)), scalar(1))
|
||||
);
|
||||
|
||||
return Pair<tmp<volScalarField::Internal>>
|
||||
@ -142,13 +142,13 @@ Foam::Pair<Foam::tmp<Foam::volScalarField::Internal>>
|
||||
Foam::compressible::cavitationModels::SchnerrSauer::mDotP() const
|
||||
{
|
||||
const volScalarField::Internal& p =
|
||||
mixture_.alpha1().db().lookupObject<volScalarField>("p");
|
||||
phases_.mesh().lookupObject<volScalarField>("p");
|
||||
|
||||
const volScalarField::Internal pCoeff(this->pCoeff(p));
|
||||
|
||||
const volScalarField::Internal limitedAlpha1
|
||||
(
|
||||
min(max(mixture_.alpha1()(), scalar(0)), scalar(1))
|
||||
min(max(phases_.alpha1()(), scalar(0)), scalar(1))
|
||||
);
|
||||
|
||||
const volScalarField::Internal apCoeff(limitedAlpha1*pCoeff);
|
||||
@ -102,11 +102,11 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct for mixture
|
||||
//- Construct for phases
|
||||
SchnerrSauer
|
||||
(
|
||||
const dictionary& dict,
|
||||
const compressibleTwoPhaseMixture& mixture
|
||||
const compressibleTwoPhases& phases
|
||||
);
|
||||
|
||||
|
||||
@ -43,10 +43,10 @@ namespace compressible
|
||||
Foam::compressible::cavitationModel::cavitationModel
|
||||
(
|
||||
const dictionary& dict,
|
||||
const compressibleTwoPhaseMixture& mixture
|
||||
const compressibleTwoPhases& phases
|
||||
)
|
||||
:
|
||||
mixture_(mixture),
|
||||
phases_(phases),
|
||||
pSat_("pSat", dimPressure, dict.lookup("pSat"))
|
||||
{}
|
||||
|
||||
@ -35,7 +35,7 @@ SourceFiles
|
||||
#ifndef cavitationModel_H
|
||||
#define cavitationModel_H
|
||||
|
||||
#include "compressibleTwoPhaseMixture.H"
|
||||
#include "compressibleTwoPhases.H"
|
||||
#include "fvMatricesFwd.H"
|
||||
#include "Pair.H"
|
||||
|
||||
@ -57,7 +57,7 @@ protected:
|
||||
// Protected data
|
||||
|
||||
//- Mixture properties
|
||||
const compressibleTwoPhaseMixture& mixture_;
|
||||
const compressibleTwoPhases& phases_;
|
||||
|
||||
//- Saturation vapour pressure
|
||||
dimensionedScalar pSat_;
|
||||
@ -78,19 +78,19 @@ public:
|
||||
dictionary,
|
||||
(
|
||||
const dictionary& dict,
|
||||
const compressibleTwoPhaseMixture& mixture
|
||||
const compressibleTwoPhases& phases
|
||||
),
|
||||
(dict, mixture)
|
||||
(dict, phases)
|
||||
);
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct for mixture
|
||||
//- Construct for phases
|
||||
cavitationModel
|
||||
(
|
||||
const dictionary& dict,
|
||||
const compressibleTwoPhaseMixture& mixture
|
||||
const compressibleTwoPhases& phases
|
||||
);
|
||||
|
||||
|
||||
@ -98,7 +98,7 @@ public:
|
||||
static autoPtr<cavitationModel> New
|
||||
(
|
||||
const dictionary& dict,
|
||||
const compressibleTwoPhaseMixture& mixture
|
||||
const compressibleTwoPhases& phases
|
||||
);
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ Foam::autoPtr<Foam::compressible::cavitationModel>
|
||||
Foam::compressible::cavitationModel::New
|
||||
(
|
||||
const dictionary& dict,
|
||||
const compressibleTwoPhaseMixture& mixture
|
||||
const compressibleTwoPhases& phases
|
||||
)
|
||||
{
|
||||
const word modelType(dict.lookup("model"));
|
||||
@ -53,7 +53,7 @@ Foam::compressible::cavitationModel::New
|
||||
|
||||
return autoPtr<cavitationModel>
|
||||
(
|
||||
cstrIter()(dict.optionalSubDict(modelType + "Coeffs"), mixture)
|
||||
cstrIter()(dict.optionalSubDict(modelType + "Coeffs"), phases)
|
||||
);
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
surfaceTensionModels/liquidProperties/liquidPropertiesSurfaceTension.C
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libcompressibleInterfaceProperties
|
||||
@ -3,14 +3,15 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-ltwoPhaseMixture \
|
||||
-ltwoPhaseProperties \
|
||||
-linterfaceProperties \
|
||||
-lphysicalProperties \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-lthermophysicalProperties \
|
||||
-ltwoPhaseProperties \
|
||||
-linterfaceProperties \
|
||||
-lfiniteVolume
|
||||
@ -1,3 +1,4 @@
|
||||
compressibleTwoPhases.C
|
||||
compressibleTwoPhaseMixture.C
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libcompressibleTwoPhaseMixture
|
||||
@ -1,14 +1,13 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lphysicalProperties \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-lphysicalProperties \
|
||||
-ltwoPhaseMixture \
|
||||
-linterfaceProperties \
|
||||
-lfiniteVolume
|
||||
@ -37,12 +37,10 @@ namespace Foam
|
||||
|
||||
Foam::compressibleTwoPhaseMixture::compressibleTwoPhaseMixture
|
||||
(
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi
|
||||
const fvMesh& mesh
|
||||
)
|
||||
:
|
||||
twoPhaseMixture(U.mesh()),
|
||||
interfaceProperties(alpha1(), alpha2(), U, *this),
|
||||
twoPhaseMixture(mesh),
|
||||
|
||||
totalInternalEnergy_
|
||||
(
|
||||
@ -54,24 +52,24 @@ Foam::compressibleTwoPhaseMixture::compressibleTwoPhaseMixture
|
||||
IOobject
|
||||
(
|
||||
"p",
|
||||
U.mesh().time().timeName(),
|
||||
U.mesh(),
|
||||
mesh.time().timeName(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
U.mesh()
|
||||
mesh
|
||||
),
|
||||
T_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"T",
|
||||
U.mesh().time().timeName(),
|
||||
U.mesh(),
|
||||
mesh.time().timeName(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
U.mesh()
|
||||
mesh
|
||||
),
|
||||
thermo1_(nullptr),
|
||||
thermo2_(nullptr),
|
||||
@ -80,12 +78,12 @@ Foam::compressibleTwoPhaseMixture::compressibleTwoPhaseMixture
|
||||
IOobject
|
||||
(
|
||||
"rho",
|
||||
U.mesh().time().timeName(),
|
||||
U.mesh(),
|
||||
mesh.time().timeName(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
U.mesh(),
|
||||
mesh,
|
||||
dimensionedScalar("rho", dimDensity, 0)
|
||||
),
|
||||
Alpha1_
|
||||
@ -93,8 +91,8 @@ Foam::compressibleTwoPhaseMixture::compressibleTwoPhaseMixture
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName("Alpha", phase1Name()),
|
||||
U.mesh().time().timeName(),
|
||||
U.mesh()
|
||||
mesh.time().timeName(),
|
||||
mesh
|
||||
),
|
||||
alpha1(),
|
||||
calculatedFvPatchScalarField::typeName
|
||||
@ -104,8 +102,8 @@ Foam::compressibleTwoPhaseMixture::compressibleTwoPhaseMixture
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName("Alpha", phase2Name()),
|
||||
U.mesh().time().timeName(),
|
||||
U.mesh()
|
||||
mesh.time().timeName(),
|
||||
mesh
|
||||
),
|
||||
alpha2(),
|
||||
calculatedFvPatchScalarField::typeName
|
||||
@ -117,8 +115,8 @@ Foam::compressibleTwoPhaseMixture::compressibleTwoPhaseMixture
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName("T", phase1Name()),
|
||||
U.mesh().time().timeName(),
|
||||
U.mesh()
|
||||
mesh.time().timeName(),
|
||||
mesh
|
||||
),
|
||||
T_,
|
||||
calculatedFvPatchScalarField::typeName
|
||||
@ -132,8 +130,8 @@ Foam::compressibleTwoPhaseMixture::compressibleTwoPhaseMixture
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName("T", phase2Name()),
|
||||
U.mesh().time().timeName(),
|
||||
U.mesh()
|
||||
mesh.time().timeName(),
|
||||
mesh
|
||||
),
|
||||
T_,
|
||||
calculatedFvPatchScalarField::typeName
|
||||
@ -145,8 +143,8 @@ Foam::compressibleTwoPhaseMixture::compressibleTwoPhaseMixture
|
||||
// Avoid any thread-writing problems.
|
||||
// fileHandler().flush();
|
||||
|
||||
thermo1_ = rhoThermo::New(U.mesh(), phase1Name());
|
||||
thermo2_ = rhoThermo::New(U.mesh(), phase2Name());
|
||||
thermo1_ = rhoThermo::New(mesh, phase1Name());
|
||||
thermo2_ = rhoThermo::New(mesh, phase2Name());
|
||||
|
||||
// thermo1_->validate(phase1Name(), "e");
|
||||
// thermo2_->validate(phase2Name(), "e");
|
||||
@ -183,8 +181,6 @@ void Foam::compressibleTwoPhaseMixture::correct()
|
||||
rho_ = alphaRho1 + alphaRho2;
|
||||
Alpha1_ = alphaRho1/rho_;
|
||||
Alpha2_ = alphaRho2/rho_;
|
||||
|
||||
interfaceProperties::correct();
|
||||
}
|
||||
|
||||
|
||||
@ -214,7 +210,7 @@ bool Foam::compressibleTwoPhaseMixture::read()
|
||||
totalInternalEnergy_ =
|
||||
lookupOrDefault<Switch>("totalInternalEnergy", true);
|
||||
|
||||
return interfaceProperties::read();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -25,22 +25,19 @@ Class
|
||||
Foam::compressibleTwoPhaseMixture
|
||||
|
||||
Description
|
||||
Thermophysical properties class for a mixture of two rhoThermo including
|
||||
interfaceProperties for VoF for use in compressibleInterFoam.
|
||||
Class to represent a mixture of two rhoThermo-based phases
|
||||
|
||||
SourceFiles
|
||||
compressibleTwoPhaseMixtureI.H
|
||||
compressibleTwoPhaseMixture.C
|
||||
compressibleTwoPhaseMixtureIO.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef compressibleTwoPhaseMixture_H
|
||||
#define compressibleTwoPhaseMixture_H
|
||||
|
||||
#include "rhoThermo.H"
|
||||
#include "twoPhaseMixture.H"
|
||||
#include "interfaceProperties.H"
|
||||
#include "compressibleTwoPhases.H"
|
||||
#include "rhoThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -54,7 +51,7 @@ namespace Foam
|
||||
class compressibleTwoPhaseMixture
|
||||
:
|
||||
public twoPhaseMixture,
|
||||
public interfaceProperties,
|
||||
virtual public compressibleTwoPhases,
|
||||
public viscosity
|
||||
{
|
||||
// Private Data
|
||||
@ -93,12 +90,8 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
compressibleTwoPhaseMixture
|
||||
(
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi
|
||||
);
|
||||
//- Construct from a mesh
|
||||
compressibleTwoPhaseMixture(const fvMesh& mesh);
|
||||
|
||||
|
||||
//- Destructor
|
||||
@ -0,0 +1,35 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "compressibleTwoPhases.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
defineTypeNameAndDebug(compressibleTwoPhases, 0);
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,96 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::compressibleTwoPhaseMixture
|
||||
|
||||
Description
|
||||
Interface to two rhoThermo-based phases
|
||||
|
||||
SourceFiles
|
||||
compressibleTwoPhases.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef compressibleTwoPhases_H
|
||||
#define compressibleTwoPhases_H
|
||||
|
||||
#include "twoPhases.H"
|
||||
#include "rhoThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class compressibleTwoPhases Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class compressibleTwoPhases
|
||||
:
|
||||
virtual public twoPhases
|
||||
{
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("compressibleTwoPhases");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Default construct
|
||||
compressibleTwoPhases()
|
||||
{}
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~compressibleTwoPhases()
|
||||
{}
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Return the thermo for phase 1
|
||||
virtual const rhoThermo& thermo1() const = 0;
|
||||
|
||||
//- Return the thermo for phase 2
|
||||
virtual const rhoThermo& thermo2() const = 0;
|
||||
|
||||
//- Return the density of phase 1
|
||||
virtual const volScalarField& rho1() const = 0;
|
||||
|
||||
//- Return the density of phase 2
|
||||
virtual const volScalarField& rho2() const = 0;
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,3 @@
|
||||
immiscibleCompressibleTwoPhaseMixture.C
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libimmiscibleCompressibleTwoPhaseMixture
|
||||
@ -0,0 +1,19 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/compressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lphysicalProperties \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-ltwoPhaseProperties \
|
||||
-linterfaceProperties \
|
||||
-ltwoPhaseMixture \
|
||||
-lcompressibleTwoPhaseMixture \
|
||||
-lfiniteVolume
|
||||
@ -0,0 +1,55 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "immiscibleCompressibleTwoPhaseMixture.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::immiscibleCompressibleTwoPhaseMixture::
|
||||
immiscibleCompressibleTwoPhaseMixture(const volVectorField& U)
|
||||
:
|
||||
compressibleTwoPhaseMixture(U.mesh()),
|
||||
interfaceProperties(*this, alpha1(), alpha2(), U)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
||||
|
||||
void Foam::immiscibleCompressibleTwoPhaseMixture::correct()
|
||||
{
|
||||
compressibleTwoPhaseMixture::correct();
|
||||
interfaceProperties::correct();
|
||||
}
|
||||
|
||||
|
||||
bool Foam::immiscibleCompressibleTwoPhaseMixture::read()
|
||||
{
|
||||
return
|
||||
compressibleTwoPhaseMixture::read()
|
||||
&& interfaceProperties::read();
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,87 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::immiscibleCompressibleTwoPhaseMixture
|
||||
|
||||
Description
|
||||
Class to represent a mixture of two immiscible rhoThermo-based phases
|
||||
|
||||
SourceFiles
|
||||
immiscibleCompressibleTwoPhaseMixture.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef immiscibleCompressibleTwoPhaseMixture_H
|
||||
#define immiscibleCompressibleTwoPhaseMixture_H
|
||||
|
||||
#include "compressibleTwoPhaseMixture.H"
|
||||
#include "interfaceProperties.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class immiscibleCompressibleTwoPhaseMixture Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class immiscibleCompressibleTwoPhaseMixture
|
||||
:
|
||||
public compressibleTwoPhaseMixture,
|
||||
public interfaceProperties
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from the mixture velocity
|
||||
immiscibleCompressibleTwoPhaseMixture(const volVectorField& U);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~immiscibleCompressibleTwoPhaseMixture()
|
||||
{}
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Correct the mixture and interface properties
|
||||
virtual void correct();
|
||||
|
||||
//- Read base phaseProperties dictionary
|
||||
virtual bool read();
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,14 +1,15 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/incompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/incompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lincompressibleTwoPhaseMixture \
|
||||
-ltwoPhaseMixture \
|
||||
-lphysicalProperties \
|
||||
-linterfaceProperties \
|
||||
-ltwoPhaseProperties \
|
||||
-linterfaceProperties \
|
||||
-ltwoPhaseMixture \
|
||||
-lincompressibleTwoPhaseMixture \
|
||||
-lfiniteVolume
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2014-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -28,19 +28,22 @@ License
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::immiscibleIncompressibleTwoPhaseMixture::
|
||||
immiscibleIncompressibleTwoPhaseMixture
|
||||
(
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi
|
||||
)
|
||||
immiscibleIncompressibleTwoPhaseMixture(const volVectorField& U)
|
||||
:
|
||||
incompressibleTwoPhaseMixture(U, phi),
|
||||
interfaceProperties(alpha1(), alpha2(), U, *this)
|
||||
incompressibleTwoPhaseMixture(U.mesh()),
|
||||
interfaceProperties(*this, alpha1(), alpha2(), U)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
||||
|
||||
void Foam::immiscibleIncompressibleTwoPhaseMixture::correct()
|
||||
{
|
||||
incompressibleTwoPhaseMixture::correct();
|
||||
interfaceProperties::correct();
|
||||
}
|
||||
|
||||
|
||||
bool Foam::immiscibleIncompressibleTwoPhaseMixture::read()
|
||||
{
|
||||
return
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2014-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,7 +25,7 @@ Class
|
||||
Foam::immiscibleIncompressibleTwoPhaseMixture
|
||||
|
||||
Description
|
||||
An immiscible incompressible two-phase mixture transport model
|
||||
Class to represent a mixture of two immiscible constant density phases
|
||||
|
||||
SourceFiles
|
||||
immiscibleIncompressibleTwoPhaseMixture.C
|
||||
@ -57,12 +57,8 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
immiscibleIncompressibleTwoPhaseMixture
|
||||
(
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi
|
||||
);
|
||||
//- Construct from the mixture velocity
|
||||
immiscibleIncompressibleTwoPhaseMixture(const volVectorField& U);
|
||||
|
||||
|
||||
//- Destructor
|
||||
@ -72,12 +68,8 @@ public:
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Correct the phase and interface properties
|
||||
virtual void correct()
|
||||
{
|
||||
incompressibleTwoPhaseMixture::correct();
|
||||
interfaceProperties::correct();
|
||||
}
|
||||
//- Correct the mixture and interface properties
|
||||
virtual void correct();
|
||||
|
||||
//- Read base phaseProperties dictionary
|
||||
virtual bool read();
|
||||
|
||||
@ -42,10 +42,10 @@ namespace cavitationModels
|
||||
Foam::cavitationModels::Kunz::Kunz
|
||||
(
|
||||
const dictionary& dict,
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture
|
||||
const incompressibleTwoPhases& phases
|
||||
)
|
||||
:
|
||||
cavitationModel(dict, mixture),
|
||||
cavitationModel(dict, phases),
|
||||
|
||||
UInf_("UInf", dimVelocity, dict),
|
||||
tInf_("tInf", dimTime, dict),
|
||||
@ -54,8 +54,8 @@ Foam::cavitationModels::Kunz::Kunz
|
||||
|
||||
p0_("0", pSat().dimensions(), 0.0),
|
||||
|
||||
mcCoeff_(Cc_*mixture_.rho2()/tInf_),
|
||||
mvCoeff_(Cv_*mixture_.rho2()/(0.5*mixture_.rho1()*sqr(UInf_)*tInf_))
|
||||
mcCoeff_(Cc_*phases_.rho2()/tInf_),
|
||||
mvCoeff_(Cv_*phases_.rho2()/(0.5*phases_.rho1()*sqr(UInf_)*tInf_))
|
||||
{
|
||||
correct();
|
||||
}
|
||||
@ -67,11 +67,11 @@ Foam::Pair<Foam::tmp<Foam::volScalarField::Internal>>
|
||||
Foam::cavitationModels::Kunz::mDotAlphal() const
|
||||
{
|
||||
const volScalarField::Internal& p =
|
||||
mixture_.U().db().lookupObject<volScalarField>("p");
|
||||
phases_.mesh().lookupObject<volScalarField>("p");
|
||||
|
||||
const volScalarField::Internal limitedAlpha1
|
||||
(
|
||||
min(max(mixture_.alpha1()(), scalar(0)), scalar(1))
|
||||
min(max(phases_.alpha1()(), scalar(0)), scalar(1))
|
||||
);
|
||||
|
||||
return Pair<tmp<volScalarField::Internal>>
|
||||
@ -88,11 +88,11 @@ Foam::Pair<Foam::tmp<Foam::volScalarField::Internal>>
|
||||
Foam::cavitationModels::Kunz::mDotP() const
|
||||
{
|
||||
const volScalarField::Internal& p =
|
||||
mixture_.U().db().lookupObject<volScalarField>("p");
|
||||
phases_.mesh().lookupObject<volScalarField>("p");
|
||||
|
||||
const volScalarField::Internal limitedAlpha1
|
||||
(
|
||||
min(max(mixture_.alpha1()(), scalar(0)), scalar(1))
|
||||
min(max(phases_.alpha1()(), scalar(0)), scalar(1))
|
||||
);
|
||||
|
||||
return Pair<tmp<volScalarField::Internal>>
|
||||
@ -118,8 +118,8 @@ bool Foam::cavitationModels::Kunz::read(const dictionary& dict)
|
||||
dict.lookup("Cc") >> Cc_;
|
||||
dict.lookup("Cv") >> Cv_;
|
||||
|
||||
mcCoeff_ = Cc_*mixture_.rho2()/tInf_;
|
||||
mvCoeff_ = Cv_*mixture_.rho2()/(0.5*mixture_.rho1()*sqr(UInf_)*tInf_);
|
||||
mcCoeff_ = Cc_*phases_.rho2()/tInf_;
|
||||
mvCoeff_ = Cv_*phases_.rho2()/(0.5*phases_.rho1()*sqr(UInf_)*tInf_);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -87,11 +87,11 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct for mixture
|
||||
//- Construct for phases
|
||||
Kunz
|
||||
(
|
||||
const dictionary& dict,
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture
|
||||
const incompressibleTwoPhases& phases
|
||||
);
|
||||
|
||||
|
||||
7
src/twoPhaseModels/incompressibleCavitation/Make/files
Normal file
7
src/twoPhaseModels/incompressibleCavitation/Make/files
Normal file
@ -0,0 +1,7 @@
|
||||
cavitationModel/cavitationModel.C
|
||||
cavitationModel/cavitationModelNew.C
|
||||
Kunz/Kunz.C
|
||||
Merkle/Merkle.C
|
||||
SchnerrSauer/SchnerrSauer.C
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libincompressibleCavitationModels
|
||||
@ -3,11 +3,10 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/incompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-limmiscibleIncompressibleTwoPhaseMixture \
|
||||
-lincompressibleTwoPhaseMixture \
|
||||
-lmeshTools \
|
||||
-lfiniteVolume
|
||||
@ -42,10 +42,10 @@ namespace cavitationModels
|
||||
Foam::cavitationModels::Merkle::Merkle
|
||||
(
|
||||
const dictionary& dict,
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture
|
||||
const incompressibleTwoPhases& phases
|
||||
)
|
||||
:
|
||||
cavitationModel(dict, mixture),
|
||||
cavitationModel(dict, phases),
|
||||
|
||||
UInf_("UInf", dimVelocity, dict),
|
||||
tInf_("tInf", dimTime, dict),
|
||||
@ -55,7 +55,7 @@ Foam::cavitationModels::Merkle::Merkle
|
||||
p0_("0", pSat().dimensions(), 0.0),
|
||||
|
||||
mcCoeff_(Cc_/(0.5*sqr(UInf_)*tInf_)),
|
||||
mvCoeff_(Cv_*mixture_.rho1()/(0.5*sqr(UInf_)*tInf_*mixture_.rho2()))
|
||||
mvCoeff_(Cv_*phases_.rho1()/(0.5*sqr(UInf_)*tInf_*phases_.rho2()))
|
||||
{
|
||||
correct();
|
||||
}
|
||||
@ -67,7 +67,7 @@ Foam::Pair<Foam::tmp<Foam::volScalarField::Internal>>
|
||||
Foam::cavitationModels::Merkle::mDotAlphal() const
|
||||
{
|
||||
const volScalarField::Internal& p =
|
||||
mixture_.U().db().lookupObject<volScalarField>("p");
|
||||
phases_.mesh().lookupObject<volScalarField>("p");
|
||||
|
||||
return Pair<tmp<volScalarField::Internal>>
|
||||
(
|
||||
@ -81,11 +81,11 @@ Foam::Pair<Foam::tmp<Foam::volScalarField::Internal>>
|
||||
Foam::cavitationModels::Merkle::mDotP() const
|
||||
{
|
||||
const volScalarField::Internal& p =
|
||||
mixture_.U().db().lookupObject<volScalarField>("p");
|
||||
phases_.mesh().lookupObject<volScalarField>("p");
|
||||
|
||||
const volScalarField::Internal limitedAlpha1
|
||||
(
|
||||
min(max(mixture_.alpha1()(), scalar(0)), scalar(1))
|
||||
min(max(phases_.alpha1()(), scalar(0)), scalar(1))
|
||||
);
|
||||
|
||||
return Pair<tmp<volScalarField::Internal>>
|
||||
@ -110,7 +110,7 @@ bool Foam::cavitationModels::Merkle::read(const dictionary& dict)
|
||||
dict.lookup("Cv") >> Cv_;
|
||||
|
||||
mcCoeff_ = Cc_/(0.5*sqr(UInf_)*tInf_);
|
||||
mvCoeff_ = Cv_*mixture_.rho1()/(0.5*sqr(UInf_)*tInf_*mixture_.rho2());
|
||||
mvCoeff_ = Cv_*phases_.rho1()/(0.5*sqr(UInf_)*tInf_*phases_.rho2());
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -81,11 +81,11 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct for mixture
|
||||
//- Construct for phases
|
||||
Merkle
|
||||
(
|
||||
const dictionary& dict,
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture
|
||||
const incompressibleTwoPhases& phases
|
||||
);
|
||||
|
||||
|
||||
@ -49,10 +49,10 @@ namespace cavitationModels
|
||||
Foam::cavitationModels::SchnerrSauer::SchnerrSauer
|
||||
(
|
||||
const dictionary& dict,
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture
|
||||
const incompressibleTwoPhases& phases
|
||||
)
|
||||
:
|
||||
cavitationModel(dict, mixture),
|
||||
cavitationModel(dict, phases),
|
||||
|
||||
n_("n", dimless/dimVolume, dict),
|
||||
dNuc_("dNuc", dimLength, dict),
|
||||
@ -98,17 +98,17 @@ Foam::cavitationModels::SchnerrSauer::pCoeff
|
||||
{
|
||||
const volScalarField::Internal limitedAlpha1
|
||||
(
|
||||
min(max(mixture_.alpha1()(), scalar(0)), scalar(1))
|
||||
min(max(phases_.alpha1()(), scalar(0)), scalar(1))
|
||||
);
|
||||
|
||||
const volScalarField::Internal rho
|
||||
(
|
||||
limitedAlpha1*mixture_.rho1()
|
||||
+ (scalar(1) - limitedAlpha1)*mixture_.rho2()
|
||||
limitedAlpha1*phases_.rho1()
|
||||
+ (scalar(1) - limitedAlpha1)*phases_.rho2()
|
||||
);
|
||||
|
||||
return
|
||||
(3*mixture_.rho1()*mixture_.rho2())*sqrt(2/(3*mixture_.rho1()))
|
||||
(3*phases_.rho1()*phases_.rho2())*sqrt(2/(3*phases_.rho1()))
|
||||
*rRb(limitedAlpha1)/(rho*sqrt(mag(p - pSat()) + 0.01*pSat()));
|
||||
}
|
||||
|
||||
@ -117,13 +117,13 @@ Foam::Pair<Foam::tmp<Foam::volScalarField::Internal>>
|
||||
Foam::cavitationModels::SchnerrSauer::mDotAlphal() const
|
||||
{
|
||||
const volScalarField::Internal& p =
|
||||
mixture_.U().db().lookupObject<volScalarField>("p");
|
||||
phases_.mesh().lookupObject<volScalarField>("p");
|
||||
|
||||
const volScalarField::Internal pCoeff(this->pCoeff(p));
|
||||
|
||||
const volScalarField::Internal limitedAlpha1
|
||||
(
|
||||
min(max(mixture_.alpha1()(), scalar(0)), scalar(1))
|
||||
min(max(phases_.alpha1()(), scalar(0)), scalar(1))
|
||||
);
|
||||
|
||||
return Pair<tmp<volScalarField::Internal>>
|
||||
@ -139,13 +139,13 @@ Foam::Pair<Foam::tmp<Foam::volScalarField::Internal>>
|
||||
Foam::cavitationModels::SchnerrSauer::mDotP() const
|
||||
{
|
||||
const volScalarField::Internal& p =
|
||||
mixture_.U().db().lookupObject<volScalarField>("p");
|
||||
phases_.mesh().lookupObject<volScalarField>("p");
|
||||
|
||||
const volScalarField::Internal pCoeff(this->pCoeff(p));
|
||||
|
||||
const volScalarField::Internal limitedAlpha1
|
||||
(
|
||||
min(max(mixture_.alpha1()(), scalar(0)), scalar(1))
|
||||
min(max(phases_.alpha1()(), scalar(0)), scalar(1))
|
||||
);
|
||||
|
||||
const volScalarField::Internal apCoeff(limitedAlpha1*pCoeff);
|
||||
@ -100,11 +100,11 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct for mixture
|
||||
//- Construct for phases
|
||||
SchnerrSauer
|
||||
(
|
||||
const dictionary& dict,
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture
|
||||
const incompressibleTwoPhases& phases
|
||||
);
|
||||
|
||||
|
||||
@ -40,10 +40,10 @@ namespace Foam
|
||||
Foam::cavitationModel::cavitationModel
|
||||
(
|
||||
const dictionary& dict,
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture
|
||||
const incompressibleTwoPhases& phases
|
||||
)
|
||||
:
|
||||
mixture_(mixture),
|
||||
phases_(phases),
|
||||
pSat_("pSat", dimPressure, dict.lookup("pSat"))
|
||||
{}
|
||||
|
||||
@ -35,7 +35,7 @@ SourceFiles
|
||||
#ifndef cavitationModel_H
|
||||
#define cavitationModel_H
|
||||
|
||||
#include "immiscibleIncompressibleTwoPhaseMixture.H"
|
||||
#include "incompressibleTwoPhases.H"
|
||||
#include "fvMatricesFwd.H"
|
||||
#include "Pair.H"
|
||||
|
||||
@ -55,7 +55,7 @@ protected:
|
||||
// Protected data
|
||||
|
||||
//- Mixture properties
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture_;
|
||||
const incompressibleTwoPhases& phases_;
|
||||
|
||||
//- Saturation vapour pressure
|
||||
dimensionedScalar pSat_;
|
||||
@ -76,19 +76,19 @@ public:
|
||||
dictionary,
|
||||
(
|
||||
const dictionary& dict,
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture
|
||||
const incompressibleTwoPhases& phases
|
||||
),
|
||||
(dict, mixture)
|
||||
(dict, phases)
|
||||
);
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct for mixture
|
||||
//- Construct for phases
|
||||
cavitationModel
|
||||
(
|
||||
const dictionary& dict,
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture
|
||||
const incompressibleTwoPhases& phases
|
||||
);
|
||||
|
||||
|
||||
@ -96,7 +96,7 @@ public:
|
||||
static autoPtr<cavitationModel> New
|
||||
(
|
||||
const dictionary& dict,
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture
|
||||
const incompressibleTwoPhases& phases
|
||||
);
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ License
|
||||
Foam::autoPtr<Foam::cavitationModel> Foam::cavitationModel::New
|
||||
(
|
||||
const dictionary& dict,
|
||||
const immiscibleIncompressibleTwoPhaseMixture& mixture
|
||||
const incompressibleTwoPhases& phases
|
||||
)
|
||||
{
|
||||
const word modelType(dict.lookup("model"));
|
||||
@ -52,7 +52,7 @@ Foam::autoPtr<Foam::cavitationModel> Foam::cavitationModel::New
|
||||
|
||||
return autoPtr<cavitationModel>
|
||||
(
|
||||
cstrIter()(dict.optionalSubDict(modelType + "Coeffs"), mixture)
|
||||
cstrIter()(dict.optionalSubDict(modelType + "Coeffs"), phases)
|
||||
);
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
incompressibleTwoPhases.C
|
||||
incompressibleTwoPhaseMixture.C
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libincompressibleTwoPhaseMixture
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/physicalProperties/lnInclude \
|
||||
-I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lphysicalProperties \
|
||||
-ltwoPhaseMixture \
|
||||
-lfiniteVolume
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -39,29 +39,26 @@ namespace Foam
|
||||
|
||||
Foam::incompressibleTwoPhaseMixture::incompressibleTwoPhaseMixture
|
||||
(
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi
|
||||
const fvMesh& mesh
|
||||
)
|
||||
:
|
||||
twoPhaseMixture(U.mesh()),
|
||||
twoPhaseMixture(mesh),
|
||||
|
||||
nuModel1_(viscosityModel::New(U.mesh(), phase1Name())),
|
||||
nuModel2_(viscosityModel::New(U.mesh(), phase2Name())),
|
||||
nuModel1_(viscosityModel::New(mesh, phase1Name())),
|
||||
nuModel2_(viscosityModel::New(mesh, phase2Name())),
|
||||
|
||||
rho1_("rho", dimDensity, nuModel1_()),
|
||||
rho2_("rho", dimDensity, nuModel2_()),
|
||||
|
||||
U_(U),
|
||||
|
||||
nu_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"nu",
|
||||
U_.time().timeName(),
|
||||
U_.db()
|
||||
mesh.time().timeName(),
|
||||
mesh
|
||||
),
|
||||
U_.mesh(),
|
||||
mesh,
|
||||
dimensionedScalar(dimViscosity, 0),
|
||||
calculatedFvPatchScalarField::typeName
|
||||
)
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,7 +25,7 @@ Class
|
||||
Foam::incompressibleTwoPhaseMixture
|
||||
|
||||
Description
|
||||
A two-phase incompressible transportModel
|
||||
Class to represent a mixture of two constant density phases
|
||||
|
||||
SourceFiles
|
||||
incompressibleTwoPhaseMixture.C
|
||||
@ -36,6 +36,7 @@ SourceFiles
|
||||
#define incompressibleTwoPhaseMixture_H
|
||||
|
||||
#include "twoPhaseMixture.H"
|
||||
#include "incompressibleTwoPhases.H"
|
||||
#include "viscosityModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -50,18 +51,24 @@ namespace Foam
|
||||
class incompressibleTwoPhaseMixture
|
||||
:
|
||||
public twoPhaseMixture,
|
||||
virtual public incompressibleTwoPhases,
|
||||
public viscosity
|
||||
{
|
||||
// Private Data
|
||||
|
||||
//- Viscosity model for phase 1
|
||||
autoPtr<viscosityModel> nuModel1_;
|
||||
|
||||
//- Viscosity model for phase 2
|
||||
autoPtr<viscosityModel> nuModel2_;
|
||||
|
||||
//- Constant density of phase 1
|
||||
dimensionedScalar rho1_;
|
||||
|
||||
//- Constant density of phase 2
|
||||
dimensionedScalar rho2_;
|
||||
|
||||
const volVectorField& U_;
|
||||
|
||||
//- Mixture viscosity
|
||||
volScalarField nu_;
|
||||
|
||||
|
||||
@ -72,12 +79,8 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
incompressibleTwoPhaseMixture
|
||||
(
|
||||
const volVectorField& U,
|
||||
const surfaceScalarField& phi
|
||||
);
|
||||
//- Construct from a mesh
|
||||
incompressibleTwoPhaseMixture(const fvMesh& mesh);
|
||||
|
||||
|
||||
//- Destructor
|
||||
@ -111,12 +114,6 @@ public:
|
||||
return rho2_;
|
||||
};
|
||||
|
||||
//- Return const-access to the mixture velocity
|
||||
const volVectorField& U() const
|
||||
{
|
||||
return U_;
|
||||
}
|
||||
|
||||
//- Return the mixture density
|
||||
tmp<volScalarField> rho() const;
|
||||
|
||||
|
||||
@ -0,0 +1,35 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "incompressibleTwoPhases.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
defineTypeNameAndDebug(incompressibleTwoPhases, 0);
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,88 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::incompressibleTwoPhases
|
||||
|
||||
Description
|
||||
Interface to two constant density phases
|
||||
|
||||
SourceFiles
|
||||
incompressibleTwoPhases.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef incompressibleTwoPhases_H
|
||||
#define incompressibleTwoPhases_H
|
||||
|
||||
#include "twoPhases.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class incompressibleTwoPhases Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class incompressibleTwoPhases
|
||||
:
|
||||
virtual public twoPhases
|
||||
{
|
||||
public:
|
||||
|
||||
TypeName("incompressibleTwoPhases");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Default construct
|
||||
incompressibleTwoPhases()
|
||||
{}
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~incompressibleTwoPhases()
|
||||
{}
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Return const-access to phase1 density
|
||||
virtual const dimensionedScalar& rho1() const = 0;
|
||||
|
||||
//- Return const-access to phase2 density
|
||||
virtual const dimensionedScalar& rho2() const = 0;
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user