Go to the documentation of this file.
36 namespace phaseChangeTwoPhaseMixtures
51 phaseChangeTwoPhaseMixture(typeName,
U,
phi),
53 UInf_(
"UInf",
dimVelocity, phaseChangeTwoPhaseMixtureCoeffs_),
54 tInf_(
"tInf",
dimTime, phaseChangeTwoPhaseMixtureCoeffs_),
55 Cc_(
"Cc",
dimless, phaseChangeTwoPhaseMixtureCoeffs_),
56 Cv_(
"Cv",
dimless, phaseChangeTwoPhaseMixtureCoeffs_),
58 p0_(pSat().dimensions(),
Zero),
60 mcCoeff_(Cc_/(0.5*
sqr(UInf_)*tInf_)),
74 return Pair<tmp<volScalarField>>
76 mcCoeff_*
max(
p - pSat(), p0_),
77 mvCoeff_*
min(
p - pSat(), p0_)
87 return Pair<tmp<volScalarField>>
89 mcCoeff_*(1.0 - limitedAlpha1)*
pos0(
p - pSat()),
90 (-mvCoeff_)*limitedAlpha1*
neg(
p - pSat())
103 phaseChangeTwoPhaseMixtureCoeffs_ = optionalSubDict(
type() +
"Coeffs");
105 phaseChangeTwoPhaseMixtureCoeffs_.readEntry(
"UInf", UInf_);
106 phaseChangeTwoPhaseMixtureCoeffs_.readEntry(
"tInf", tInf_);
107 phaseChangeTwoPhaseMixtureCoeffs_.readEntry(
"Cc", Cc_);
108 phaseChangeTwoPhaseMixtureCoeffs_.readEntry(
"Cv", Cv_);
110 mcCoeff_ = Cc_/(0.5*
sqr(UInf_)*tInf_);
111 mvCoeff_ = Cv_*
rho1()/(0.5*
sqr(UInf_)*tInf_*
rho2());
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
Dimensionless.
virtual void correct()
Correct the Merkle phaseChange model.
static constexpr const zero Zero
Global zero (0)
const dimensionSet dimVelocity
Merkle(const volVectorField &U, const surfaceScalarField &phi)
Construct from components.
dimensionedScalar pos0(const dimensionedScalar &ds)
virtual Pair< tmp< volScalarField > > mDotAlphal() const
Return the mass condensation and vaporisation rates as a.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
virtual Pair< tmp< volScalarField > > mDotP() const
Return the mass condensation and vaporisation rates as coefficients.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
virtual bool read()=0
Read the transportProperties dictionary and update.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
Macros for easy insertion into run-time selection tables.
virtual void correct()
Correct the Kunz phaseChange model.
GeometricField< vector, fvPatchField, volMesh > volVectorField
dimensionedSymmTensor sqr(const dimensionedVector &dv)
An ordered pair of two objects of type <T> with first() and second() elements.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
virtual bool read()
Read the transportProperties dictionary and update.
defineTypeNameAndDebug(combustionModel, 0)
dimensionedScalar neg(const dimensionedScalar &ds)