28 template<
class EquationOfState>
31 const EquationOfState& st,
48 template<
class EquationOfState>
55 EquationOfState(name, ct),
63 template<
class EquationOfState>
74 template<
class EquationOfState>
87 template<
class EquationOfState>
97 template<
class EquationOfState>
108 template<
class EquationOfState>
111 const scalar p,
const scalar T
114 return Cp_*(T - Tref_) + Href_ + EquationOfState::H(p, T);
118 template<
class EquationOfState>
125 template<
class EquationOfState>
128 const scalar p,
const scalar T
131 return Hs(p, T) +
Hc();
135 template<
class EquationOfState>
138 const scalar p,
const scalar T
141 return Cp_*
log(T/
Tstd) + EquationOfState::S(p, T);
145 template<
class EquationOfState>
148 const scalar p,
const scalar T
155 template<
class EquationOfState>
158 const scalar p,
const scalar T
167 template<
class EquationOfState>
168 inline void Foam::hRefConstThermo<EquationOfState>::operator+=
173 scalar Y1 = this->
Y();
175 EquationOfState::operator+=(ct);
177 if (
mag(this->
Y()) > small)
180 const scalar Y2 = ct.Y()/this->
Y();
182 Cp_ = Y1*Cp_ + Y2*ct.Cp_;
183 Hf_ = Y1*Hf_ + Y2*ct.Hf_;
190 template<
class EquationOfState>
199 static_cast<const EquationOfState&>(ct1)
200 + static_cast<const EquationOfState&>(ct2)
203 if (
mag(eofs.Y()) < small)
219 ct1.Y()/eofs.Y()*ct1.Cp_
220 + ct2.Y()/eofs.Y()*ct2.Cp_,
221 ct1.Y()/eofs.Y()*ct1.Hf_
222 + ct2.Y()/eofs.Y()*ct2.Hf_,
223 ct1.Y()/eofs.Y()*ct1.Tref_
224 + ct2.Y()/eofs.Y()*ct2.Tref_,
225 ct1.Y()/eofs.Y()*ct1.Href_
226 + ct2.Y()/eofs.Y()*ct2.Href_
232 template<
class EquationOfState>
241 s*
static_cast<const EquationOfState&
>(ct),
250 template<
class EquationOfState>
259 static_cast<const EquationOfState&>(ct1)
260 == static_cast<const EquationOfState&>(ct2)
266 ct2.Y()/eofs.Y()*ct2.Cp_
267 - ct1.Y()/eofs.Y()*ct1.Cp_,
268 ct2.Y()/eofs.Y()*ct2.Hf_
269 - ct1.Y()/eofs.Y()*ct1.Hf_
scalar S(const scalar p, const scalar T) const
Entropy [J/kg/K].
dimensionedScalar log(const dimensionedScalar &ds)
A list of keyword definitions, which are a keyword followed by any number of values (e...
scalar Hs(const scalar p, const scalar T) const
Sensible enthalpy [J/kg].
scalar Cp(const scalar p, const scalar T) const
Heat capacity at constant pressure [J/kg/K].
scalar Ha(const scalar p, const scalar T) const
Absolute Enthalpy [J/kg].
scalar dGdT(const scalar p, const scalar T) const
Derivative of Gibbs free energy w.r.t. temperature.
scalar dCpdT(const scalar p, const scalar T) const
Temperature derivative of heat capacity at constant pressure.
static autoPtr< hRefConstThermo > New(const dictionary &dict)
Selector from dictionary.
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))
A class for handling words, derived from string.
scalar limit(const scalar T) const
Limit the temperature to be in the range Tlow_ to Thigh_.
const dimensionedScalar Tstd
Standard temperature.
const volScalarField & cp
scalar Hc() const
Chemical enthalpy [J/kg].
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
PtrList< volScalarField > & Y
scalar Cp(const scalar p, const scalar T) const
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...
Constant properties thermodynamics package templated into the EquationOfState.
autoPtr< hRefConstThermo > clone() const
Construct and return a clone.