33 namespace phaseChangeTwoPhaseMixtures
48 phaseChangeTwoPhaseMixture(typeName, U, phi),
50 UInf_(
"UInf",
dimVelocity, phaseChangeTwoPhaseMixtureCoeffs_),
51 tInf_(
"tInf",
dimTime, phaseChangeTwoPhaseMixtureCoeffs_),
52 Cc_(
"Cc",
dimless, phaseChangeTwoPhaseMixtureCoeffs_),
53 Cv_(
"Cv",
dimless, phaseChangeTwoPhaseMixtureCoeffs_),
55 p0_(
"0", pSat().dimensions(), 0.0),
57 mcCoeff_(Cc_*
rho2()/tInf_),
72 return Pair<tmp<volScalarField>>
74 mcCoeff_*
sqr(limitedAlpha1)
75 *
max(p - pSat(), p0_)/
max(p - pSat(), 0.01*pSat()),
77 mvCoeff_*
min(p - pSat(), p0_)
87 return Pair<tmp<volScalarField>>
89 mcCoeff_*
sqr(limitedAlpha1)*(1.0 - limitedAlpha1)
90 *
pos0(p - pSat())/
max(p - pSat(), 0.01*pSat()),
92 (-mvCoeff_)*limitedAlpha1*
neg(p - pSat())
105 phaseChangeTwoPhaseMixtureCoeffs_ = optionalSubDict(
type() +
"Coeffs");
107 phaseChangeTwoPhaseMixtureCoeffs_.lookup(
"UInf") >> UInf_;
108 phaseChangeTwoPhaseMixtureCoeffs_.lookup(
"tInf") >> tInf_;
109 phaseChangeTwoPhaseMixtureCoeffs_.lookup(
"Cc") >> Cc_;
110 phaseChangeTwoPhaseMixtureCoeffs_.lookup(
"Cv") >> Cv_;
112 mcCoeff_ = Cc_*
rho2()/tInf_;
113 mvCoeff_ = Cv_*
rho2()/(0.5*
rho1()*
sqr(UInf_)*tInf_);
virtual Pair< tmp< volScalarField > > mDotAlphal() const
Return the mass condensation and vaporisation rates as a.
virtual bool read()=0
Read the transportProperties dictionary and update.
virtual Pair< tmp< volScalarField > > mDotP() const
Return the mass condensation and vaporisation rates as coefficients.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
GeometricField< vector, fvPatchField, volMesh > volVectorField
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type.
dimensionedScalar neg(const dimensionedScalar &ds)
Macros for easy insertion into run-time selection tables.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
An ordered pair of two objects of type <T> with first() and second() elements.
dimensionedScalar pos0(const dimensionedScalar &ds)
Kunz(const volVectorField &U, const surfaceScalarField &phi)
Construct from components.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
fileName::Type type(const fileName &, const bool followLink=true)
Return the file type: DIRECTORY or FILE.
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
const dimensionedScalar & rho2
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
virtual void correct()
Correct the Kunz phaseChange model.
const objectRegistry & db() const
Return the local objectRegistry.
const dimensionedScalar & rho1
virtual bool read()
Read the transportProperties dictionary and update.
const dimensionSet dimVelocity