28 template<
class EquationOfState>
31 const EquationOfState& st,
44 template<
class EquationOfState>
51 EquationOfState(name, ct),
57 template<
class EquationOfState>
68 template<
class EquationOfState>
81 template<
class EquationOfState>
91 template<
class EquationOfState>
98 return Cp_ + EquationOfState::Cp(p, T);
102 template<
class EquationOfState>
105 const scalar p,
const scalar T
108 return Cp_*T + Hf_ + EquationOfState::H(p, T);
112 template<
class EquationOfState>
115 const scalar p,
const scalar T
118 return Cp_*T + EquationOfState::H(p, T);
122 template<
class EquationOfState>
129 template<
class EquationOfState>
132 const scalar p,
const scalar T
135 return Cp_*
log(T/
Tstd) + EquationOfState::S(p, T);
139 template<
class EquationOfState>
142 const scalar p,
const scalar T
149 template<
class EquationOfState>
152 const scalar p,
const scalar T
161 template<
class EquationOfState>
162 inline void Foam::hConstThermo<EquationOfState>::operator+=
167 scalar Y1 = this->
Y();
169 EquationOfState::operator+=(ct);
171 if (
mag(this->
Y()) > small)
174 scalar Y2 = ct.Y()/this->
Y();
176 Cp_ = Y1*Cp_ + Y2*ct.Cp_;
177 Hf_ = Y1*Hf_ + Y2*ct.Hf_;
184 template<
class EquationOfState>
193 static_cast<const EquationOfState&>(ct1)
194 + static_cast<const EquationOfState&>(ct2)
197 if (
mag(eofs.Y()) < small)
211 ct1.Y()/eofs.Y()*ct1.Cp_
212 + ct2.Y()/eofs.Y()*ct2.Cp_,
213 ct1.Y()/eofs.Y()*ct1.Hf_
214 + ct2.Y()/eofs.Y()*ct2.Hf_
220 template<
class EquationOfState>
229 s*
static_cast<const EquationOfState&
>(ct),
236 template<
class EquationOfState>
245 static_cast<const EquationOfState&>(ct1)
246 == static_cast<const EquationOfState&>(ct2)
252 ct2.Y()/eofs.Y()*ct2.Cp_
253 - ct1.Y()/eofs.Y()*ct1.Cp_,
254 ct2.Y()/eofs.Y()*ct2.Hf_
255 - ct1.Y()/eofs.Y()*ct1.Hf_
scalar Hs(const scalar p, const scalar T) const
Sensible enthalpy [J/kg].
Constant properties thermodynamics package templated into the EquationOfState.
scalar limit(const scalar T) const
Limit the temperature to be in the range Tlow_ to Thigh_.
dimensionedScalar log(const dimensionedScalar &ds)
A list of keyword definitions, which are a keyword followed by any number of values (e...
autoPtr< hConstThermo > clone() const
Construct and return a clone.
static autoPtr< hConstThermo > New(const dictionary &dict)
Selector from dictionary.
scalar dGdT(const scalar p, const scalar T) const
Derivative of Gibbs free energy w.r.t. temperature.
scalar Ha(const scalar p, const scalar T) const
Absolute Enthalpy [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))
A class for handling words, derived from string.
scalar Cp(const scalar p, const scalar T) const
Heat capacity at constant pressure [J/(kg K)].
const dimensionedScalar Tstd
Standard temperature.
const volScalarField & cp
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
scalar dCpdT(const scalar p, const scalar T) const
Temperature derivative of heat capacity at constant pressure.
PtrList< volScalarField > & Y
dimensioned< scalar > mag(const dimensioned< Type > &)
scalar S(const scalar p, const scalar T) const
Entropy [J/(kg K)].
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
scalar Hc() const
Chemical enthalpy [J/kg].