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 Cv_*(T - Tref_) + Eref_ + EquationOfState::E(p, T);
118 template<
class EquationOfState>
125 template<
class EquationOfState>
128 const scalar p,
const scalar T
131 return Es(p, T) +
Hc();
135 template<
class EquationOfState>
138 const scalar p,
const scalar T
141 return Cp(p, T)*
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::eRefConstThermo<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 Cv_ = Y1*Cv_ + Y2*ct.Cv_;
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.Cv_
220 + ct2.Y()/eofs.Y()*ct2.Cv_,
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.Eref_
226 + ct2.Y()/eofs.Y()*ct2.Eref_
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.Cv_
267 - ct1.Y()/eofs.Y()*ct1.Cv_,
268 ct2.Y()/eofs.Y()*ct2.Hf_
269 - ct1.Y()/eofs.Y()*ct1.Hf_
scalar Cv(const scalar p, const scalar T) const
Heat capacity at constant volume [J/kg/K].
scalar Ea(const scalar p, const scalar T) const
Absolute internal energy [J/kg].
scalar limit(const scalar T) const
Limit the temperature to be in the range Tlow_ to Thigh_.
scalar Cv(const scalar p, const scalar T) const
scalar dGdT(const scalar p, const scalar T) const
Derivative of Gibbs free energy w.r.t. temperature.
dimensionedScalar log(const dimensionedScalar &ds)
A list of keyword definitions, which are a keyword followed by any number of values (e...
scalar dCpdT(const scalar p, const scalar T) const
Temperature derivative of heat capacity at constant pressure.
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 S(const scalar p, const scalar T) const
Entropy [J/kg/K].
const dimensionedScalar Tstd
Standard temperature.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
scalar Hc() const
Chemical enthalpy [J/kg].
PtrList< volScalarField > & Y
static autoPtr< eRefConstThermo > New(const dictionary &dict)
Selector from dictionary.
autoPtr< eRefConstThermo > clone() const
Construct and return a clone.
scalar Es(const scalar p, const scalar T) const
Sensible internal energy [J/kg].
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.