34 namespace interfaceCompositionModels
39 interfaceCompositionModel,
51 const dictionary& dict,
55 interfaceCompositionModel(dict, pair),
60 IOobject::groupName(
"gamma1", pair.
name()),
71 IOobject::groupName(
"gamma2", pair.
name()),
84 <<
"nonRandomTwoLiquid model is suitable for two species only." 98 dict.subDict(species1Name_).lookup(
"alpha")
104 dict.subDict(species2Name_).lookup(
"alpha")
111 dict.subDict(species1Name_).lookup(
"beta")
117 dict.subDict(species2Name_).lookup(
"beta")
120 saturationModel12_.reset
124 dict.subDict(species1Name_).subDict(
"interaction"),
128 saturationModel21_.reset
132 dict.subDict(species2Name_).subDict(
"interaction"),
141 dict.subDict(species1Name_),
149 dict.subDict(species2Name_),
209 tau21*
sqr(G21)/
max(
sqr(X1 + X2*G21), small)
210 + tau12*G12/
max(
sqr(X2 + X1*G12), small)
218 tau12*
sqr(G12)/
max(
sqr(X2 + X1*G12), small)
219 + tau21*G21/
max(
sqr(X1 + X2*G21), small)
228 const word& speciesName,
232 if (speciesName == species1Name_)
236 *speciesModel1_->Yf(speciesName, Tf)
239 else if (speciesName == species2Name_)
243 *speciesModel2_->Yf(speciesName, Tf)
250 *(scalar(1) -
Yf(species1Name_, Tf) -
Yf(species2Name_, Tf));
258 const word& speciesName,
262 if (speciesName == species1Name_)
266 *speciesModel1_->YfPrime(speciesName, Tf)
269 else if (speciesName == species2Name_)
273 *speciesModel2_->YfPrime(speciesName, Tf)
const rhoReactionThermo & thermo() const
Return the thermo.
const hashedWordList & species() const
Return the transferring species names.
errorManipArg< error, int > exit(error &err, const int errNo=1)
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
static autoPtr< saturationModel > New(const dictionary &dict, const phasePair &pair)
Select null constructed.
static autoPtr< interfaceCompositionModel > New(const dictionary &dict, const phasePair &pair)
const basicSpecieMixture & otherComposition() const
Return the other composition.
virtual tmp< volScalarField > Yf(const word &speciesName, const volScalarField &Tf) const
The interface species fraction.
Macros for easy insertion into run-time selection tables.
const phasePair & pair() const
Return the phase pair.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
dimensionedScalar exp(const dimensionedScalar &ds)
virtual tmp< volScalarField > Yf(const word &speciesName, const volScalarField &Tf) const =0
Interface mass fraction.
virtual tmp< volScalarField > YfPrime(const word &speciesName, const volScalarField &Tf) const
The interface species fraction derivative w.r.t. temperature.
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
const dimensionSet dimMoles(0, 0, 0, 0, 1, 0, 0)
defineTypeNameAndDebug(combustionModel, 0)
nonRandomTwoLiquid(const dictionary &dict, const phasePair &pair)
Construct from components.
virtual void update(const volScalarField &Tf)
Update the composition.
word name(const complex &)
Return a string representation of a complex.
virtual ~nonRandomTwoLiquid()
Destructor.
const basicSpecieMixture & composition() const
Return the composition.
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const scalarList W(::W(thermo))
PtrList< volScalarField > & Y
virtual tmp< volScalarField > YfPrime(const word &speciesName, const volScalarField &Tf) const =0
The interface mass fraction derivative w.r.t. temperature.
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
A class for managing temporary objects.
PtrList< volScalarField > & Y()
Return the mass-fraction fields.
const speciesTable & species() const
Return the table of species.