33 namespace interfaceCompositionModels
60 interface.mesh().time().
name(),
71 interface.mesh().time().
name(),
83 <<
"nonRandomTwoLiquid model is suitable for two species only."
97 dict.subDict(species1Name_).lookup(
"alpha")
103 dict.subDict(species2Name_).lookup(
"alpha")
110 dict.subDict(species1Name_).lookup(
"beta")
116 dict.subDict(species2Name_).lookup(
"beta")
119 saturationModel12_.reset
124 dict.subDict(species1Name_)
127 saturationModel21_.reset
132 dict.subDict(species2Name_)
140 dict.subDict(species1Name_),
149 dict.subDict(species2Name_),
210 tau21*
sqr(G21)/
max(
sqr(X1 + X2*G21), small)
211 + tau12*G12/
max(
sqr(X2 + X1*G12), small)
219 tau12*
sqr(G12)/
max(
sqr(X2 + X1*G12), small)
220 + tau21*G21/
max(
sqr(X1 + X2*G21), small)
229 const word& speciesName,
233 if (speciesName == species1Name_)
236 otherComposition().Y(speciesName)
237 *speciesModel1_->Yf(speciesName, Tf)
240 else if (speciesName == species2Name_)
243 otherComposition().Y(speciesName)
244 *speciesModel2_->Yf(speciesName, Tf)
251 *(scalar(1) - Yf(species1Name_, Tf) - Yf(species2Name_, Tf));
259 const word& speciesName,
263 if (speciesName == species1Name_)
266 otherComposition().Y(speciesName)
267 *speciesModel1_->YfPrime(speciesName, Tf)
270 else if (speciesName == species2Name_)
273 otherComposition().Y(speciesName)
274 *speciesModel2_->YfPrime(speciesName, Tf)
281 *(YfPrime(species1Name_, Tf) + YfPrime(species2Name_, Tf));
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const speciesTable & species() const
Return the table of species.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Generic base class for interface composition models. These models describe the composition in phase 1...
const sidedPhaseInterface & interface() const
Return the interface.
static autoPtr< interfaceCompositionModel > New(const dictionary &dict, const phaseInterface &interface, const bool outer=true)
const basicSpecieMixture & composition() const
Return the composition.
const hashedWordList & species() const
Return the transferring species names.
Non ideal law for the mixing of two species. A separate composition model is given for each species....
virtual void update(const volScalarField &Tf)
Update the composition.
virtual ~nonRandomTwoLiquid()
Destructor.
nonRandomTwoLiquid(const dictionary &dict, const phaseInterface &interface)
Construct from a dictionary and an interface.
virtual tmp< volScalarField > Yf(const word &speciesName, const volScalarField &Tf) const
The interface species fraction.
virtual tmp< volScalarField > YfPrime(const word &speciesName, const volScalarField &Tf) const
The interface species fraction derivative w.r.t. temperature.
Class to represent an interface between phases. Derivations can further specify the configuration of ...
static autoPtr< saturationPressureModel > New(const dictionary &dict)
Select with dictionary.
A class for managing temporary objects.
A class for handling words, derived from string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
addToRunTimeSelectionTable(interfaceCompositionModel, Henry, dictionary)
defineTypeNameAndDebug(Henry, 0)
errorManipArg< error, int > exit(error &err, const int errNo=1)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
dimensionedScalar exp(const dimensionedScalar &ds)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionSet dimless
const dimensionSet dimTemperature
scalarList W(const fluidMulticomponentThermo &thermo)
const dimensionSet dimMoles
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
const dimensionSet dimMass
word name(const complex &)
Return a string representation of a complex.
basicSpecieMixture & composition
PtrList< volScalarField > & Y
fluidMulticomponentThermo & thermo