28 template<
class EquationOfState>
31 const EquationOfState& st,
44 template<
class EquationOfState>
51 EquationOfState(name, ct),
57 template<
class EquationOfState>
68 template<
class EquationOfState>
79 template<
class EquationOfState>
92 template<
class EquationOfState>
102 template<
class EquationOfState>
113 template<
class EquationOfState>
116 const scalar p,
const scalar T
123 template<
class EquationOfState>
126 const scalar p,
const scalar T
133 template<
class EquationOfState>
140 template<
class EquationOfState>
143 const scalar p,
const scalar T
152 template<
class EquationOfState>
153 inline void Foam::hConstThermo<EquationOfState>::operator+=
158 scalar molr1 = this->nMoles();
160 EquationOfState::operator+=(ct);
162 molr1 /= this->nMoles();
163 scalar molr2 = ct.nMoles()/this->nMoles();
165 Cp_ = molr1*Cp_ + molr2*ct.Cp_;
166 Hf_ = molr1*Hf_ + molr2*ct.Hf_;
170 template<
class EquationOfState>
171 inline void Foam::hConstThermo<EquationOfState>::operator-=
176 scalar molr1 = this->nMoles();
178 EquationOfState::operator-=(ct);
180 molr1 /= this->nMoles();
181 scalar molr2 = ct.nMoles()/this->nMoles();
183 Cp_ = molr1*Cp_ - molr2*ct.Cp_;
184 Hf_ = molr1*Hf_ - molr2*ct.Hf_;
190 template<
class EquationOfState>
199 static_cast<const EquationOfState&>(ct1)
200 + static_cast<const EquationOfState&>(ct2)
206 ct1.nMoles()/eofs.nMoles()*ct1.Cp_
207 + ct2.nMoles()/eofs.nMoles()*ct2.Cp_,
208 ct1.nMoles()/eofs.nMoles()*ct1.Hf_
209 + ct2.nMoles()/eofs.nMoles()*ct2.Hf_
214 template<
class EquationOfState>
223 static_cast<const EquationOfState&>(ct1)
224 - static_cast<const EquationOfState&>(ct2)
230 ct1.nMoles()/eofs.nMoles()*ct1.Cp_
231 - ct2.nMoles()/eofs.nMoles()*ct2.Cp_,
232 ct1.nMoles()/eofs.nMoles()*ct1.Hf_
233 - ct2.nMoles()/eofs.nMoles()*ct2.Hf_
238 template<
class EquationOfState>
247 s*
static_cast<const EquationOfState&
>(ct),
254 template<
class EquationOfState>
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 ))
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
scalar cp(const scalar p, const scalar T) const
Heat capacity at constant pressure [J/(kmol K)].
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
A class for handling words, derived from string.
scalar s(const scalar p, const scalar T) const
Entropy [J/(kmol K)].
autoPtr< hConstThermo > clone() const
Construct and return a clone.
A list of keyword definitions, which are a keyword followed by any number of values (e...
scalar hc() const
Chemical enthalpy [J/kmol].
scalar hs(const scalar p, const scalar T) const
Sensible enthalpy [J/kmol].
dimensionedScalar log(const dimensionedScalar &ds)
static autoPtr< hConstThermo > New(Istream &is)
Selector from Istream.
const dimensionedScalar Tstd
Standard temperature.
scalar ha(const scalar p, const scalar T) const
Absolute Enthalpy [J/kmol].
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_.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
const volScalarField & cp