28 template<
class EquationOfState>
31 const EquationOfState& st,
44 template<
class EquationOfState>
48 const eConstThermo<EquationOfState>& ct
51 EquationOfState(name, ct),
57 template<
class EquationOfState>
68 template<
class EquationOfState>
81 template<
class EquationOfState>
91 template<
class EquationOfState>
98 return Cv_ + this->CpMCv(p, T) + EquationOfState::Cp(p, T);
102 template<
class EquationOfState>
109 return Cp(p, T)*T + Hf_ + EquationOfState::H(p, T);
113 template<
class EquationOfState>
120 return Cp(p, T)*T + EquationOfState::H(p, T);
124 template<
class EquationOfState>
131 template<
class EquationOfState>
138 return Cp(p, T)*
log(T/
Tstd) + EquationOfState::S(p, T);
144 template<
class EquationOfState>
145 inline void Foam::eConstThermo<EquationOfState>::operator+=
150 scalar
Y1 = this->
Y();
152 EquationOfState::operator+=(ct);
154 if (
mag(this->
Y()) > SMALL)
157 const scalar
Y2 = ct.Y()/this->
Y();
159 Cv_ = Y1*Cv_ + Y2*ct.Cv_;
160 Hf_ = Y1*Hf_ + Y2*ct.Hf_;
167 template<
class EquationOfState>
176 static_cast<const EquationOfState&>(ct1)
177 + static_cast<const EquationOfState&>(ct2)
180 if (
mag(eofs.Y()) < SMALL)
194 ct1.Y()/eofs.Y()*ct1.Cv_
195 + ct2.Y()/eofs.Y()*ct2.Cv_,
196 ct1.Y()/eofs.Y()*ct1.Hf_
197 + ct2.Y()/eofs.Y()*ct2.Hf_
203 template<
class EquationOfState>
212 s*
static_cast<const EquationOfState&
>(ct),
219 template<
class EquationOfState>
228 static_cast<const EquationOfState&>(ct1)
229 == static_cast<const EquationOfState&>(ct2)
235 ct2.Y()/eofs.Y()*ct2.Cv_
236 - ct1.Y()/eofs.Y()*ct1.Cv_,
237 ct2.Y()/eofs.Y()*ct2.Hf_
238 - ct1.Y()/eofs.Y()*ct1.Hf_
scalar limit(const scalar T) const
Limit the temperature to be in the range Tlow_ to Thigh_.
PtrList< volScalarField > & Y1
dimensionedScalar log(const dimensionedScalar &ds)
scalar Hc() const
Chemical enthalpy [J/kg].
A list of keyword definitions, which are a keyword followed by any number of values (e...
PtrList< volScalarField > & Y2
Constant properties thermodynamics package templated on an equation of state.
scalar Cp(const scalar p, const scalar T) const
Heat capacity at constant pressure [J/(kg K)].
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
scalar Ha(const scalar p, const scalar T) const
Absolute Enthalpy [J/kg].
const dimensionedScalar Tstd
Standard temperature.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
autoPtr< eConstThermo > clone() const
Construct and return a clone.
word name(const complex &)
Return a string representation of a complex.
scalar S(const scalar p, const scalar T) const
Entropy [J/(kg K)].
PtrList< volScalarField > & Y
dimensioned< scalar > mag(const dimensioned< Type > &)
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
static autoPtr< eConstThermo > New(const dictionary &dict)
scalar Hs(const scalar p, const scalar T) const
Sensible enthalpy [J/kg].