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>
102 template<
class EquationOfState>
109 return Cv_*T + EquationOfState::E(p, T);
113 template<
class EquationOfState>
120 template<
class EquationOfState>
127 return Es(p, T) +
Hc();
131 template<
class EquationOfState>
138 return Cp(p, T)*
log(T/
Tstd) + EquationOfState::S(p, T);
142 template<
class EquationOfState>
153 template<
class EquationOfState>
166 template<
class EquationOfState>
167 inline void Foam::eConstThermo<EquationOfState>::operator+=
172 scalar Y1 = this->
Y();
174 EquationOfState::operator+=(ct);
176 if (
mag(this->
Y()) > small)
179 const scalar Y2 = ct.Y()/this->
Y();
181 Cv_ = Y1*Cv_ + Y2*ct.Cv_;
182 Hf_ = Y1*Hf_ + Y2*ct.Hf_;
189 template<
class EquationOfState>
198 static_cast<const EquationOfState&>(ct1)
199 + static_cast<const EquationOfState&>(ct2)
202 if (
mag(eofs.Y()) < small)
216 ct1.Y()/eofs.Y()*ct1.Cv_
217 + ct2.Y()/eofs.Y()*ct2.Cv_,
218 ct1.Y()/eofs.Y()*ct1.Hf_
219 + ct2.Y()/eofs.Y()*ct2.Hf_
225 template<
class EquationOfState>
234 s*
static_cast<const EquationOfState&
>(ct),
241 template<
class EquationOfState>
250 static_cast<const EquationOfState&>(ct1)
251 == static_cast<const EquationOfState&>(ct2)
257 ct2.Y()/eofs.Y()*ct2.Cv_
258 - ct1.Y()/eofs.Y()*ct1.Cv_,
259 ct2.Y()/eofs.Y()*ct2.Hf_
260 - ct1.Y()/eofs.Y()*ct1.Hf_
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
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...
scalar dGdT(const scalar p, const scalar T) const
Derivative of Gibbs free energy w.r.t. temperature.
scalar Ea(const scalar p, const scalar T) const
Absolute internal energy [J/kg].
Constant properties thermodynamics package templated on an equation of state.
scalar Es(const scalar p, const scalar T) const
Sensible internal energy [J/kg].
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))
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 Cv(const scalar p, const scalar T) const
Heat capacity at constant volume [J/kg/K].
scalar S(const scalar p, const scalar T) const
Entropy [J/kg/K].
PtrList< volScalarField > & Y
scalar Cp(const scalar p, const scalar T) const
scalar dCpdT(const scalar p, const scalar T) const
Temperature derivative of heat capacity at constant pressure.
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)