30 template<
class ThermoType>
45 mixture_(
"mixture", this->specieThermos()[0]),
46 transportMixture_(this->specieThermos())
50 template<
class ThermoType>
57 specieThermos_(specieThermos),
58 M_(specieThermos.
size()),
59 A_(specieThermos.
size()),
60 B_(specieThermos.
size()),
61 X_(specieThermos.
size()),
62 mu_(specieThermos.
size()),
63 w_(specieThermos.
size()),
68 M_[i] = specieThermos[i].W();
77 A_(i, j) = ((4/
sqrt(2.0))*
sqrt(1 + M_[i]/M_[j]));
78 B_(i, j) =
sqrt(M_[j]/M_[i]);
87 template<
class ThermoType>
97 mu_[i] = specieThermos_[i].mu(p, T);
109 sqr(1 +
sqrt((mu_[i]/mu_[j])*B_(i, j)))/A_(i, j);
111 sumXphi += X_[j]*phiij;
119 w_[i] = X_[i]/sumXphi;
124 template<
class ThermoType>
145 template<
class ThermoType>
162 kappa += w_[i]*specieThermos_[i].kappa(p, T);
169 template<
class ThermoType>
179 for (
label i=1; i<this->
Y().size(); i++)
188 template<
class ThermoType>
198 this->
Y()[0].boundaryField()[
patchi][facei]
201 for (
label i=1; i<this->
Y().size(); i++)
204 this->
Y()[i].boundaryField()[
patchi][facei]
212 template<
class ThermoType>
220 transportMixture_.muCached_ =
false;
237 return transportMixture_;
241 template<
class ThermoType>
251 transportMixture_.muCached_ =
false;
260 this->
Y()[i].boundaryField()[
patchi][facei]
270 return transportMixture_;
273 template<
class ThermoType>
284 transportMixture_.muCached_ =
true;
285 return transportMixture_;
289 template<
class ThermoType>
301 transportMixture_.muCached_ =
true;
302 return transportMixture_;
const thermoMixtureType & cellThermoMixture(const label celli) const
#define forAll(list, i)
Loop across all elements in list.
Thermophysical properties mixing class which applies mass-fraction weighted mixing to the thermodynam...
A list of keyword definitions, which are a keyword followed by any number of values (e...
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const thermoMixtureType & patchFaceThermoMixture(const label patchi, const label facei) const
transportMixture(const PtrList< ThermoType > &specieThermos)
dimensionedScalar sqrt(const dimensionedScalar &ds)
const transportMixtureType & cellTransportMixture(const label celli) const
const PtrList< ThermoType > & specieThermos() const
Return the raw specie thermodynamic data.
A class for handling words, derived from string.
coefficientWilkeMultiComponentMixture(const dictionary &, const fvMesh &, const word &)
Construct from dictionary, mesh and phase name.
Foam::multiComponentMixture.
scalar mu(const scalar p, const scalar T) const
Dynamic viscosity [kg/m/s].
const transportMixtureType & patchFaceTransportMixture(const label patchi, const label facei) const
label size() const
Return the number of elements in the UPtrList.
scalar kappa(const scalar p, const scalar T) const
Thermal conductivity [W/m/K].
Mesh data needed to do the Finite Volume discretisation.
PtrList< volScalarField > & Y()
Return the mass-fraction fields.
ThermoType::thermoType thermoMixtureType
Mixing type for thermodynamic properties.