30 template<
class Specie,
int PolySize>
44 template<
class Specie,
int PolySize>
52 rhoCoeffs_(ip.rhoCoeffs_)
56 template<
class Specie,
int PolySize>
67 template<
class Specie,
int PolySize>
80 template<
class Specie,
int PolySize>
87 return rhoCoeffs_.value(T);
91 template<
class Specie,
int PolySize>
102 template<
class Specie,
int PolySize>
113 template<
class Specie,
int PolySize>
124 template<
class Specie,
int PolySize>
135 template<
class Specie,
int PolySize>
146 template<
class Specie,
int PolySize>
153 return -(p/
sqr(rhoCoeffs_.value(T)))*rhoCoeffs_.derivative(T);
159 template<
class Specie,
int PolySize>
160 inline void Foam::icoPolynomial<Specie, PolySize>::operator=
165 Specie::operator=(ip);
167 rhoCoeffs_ = ip.rhoCoeffs_;
171 template<
class Specie,
int PolySize>
172 inline void Foam::icoPolynomial<Specie, PolySize>::operator+=
177 scalar Y1 = this->
Y();
178 Specie::operator+=(ip);
180 if (
mag(this->
Y()) > small)
183 const scalar Y2 = ip.Y()/this->
Y();
185 rhoCoeffs_ = Y1*rhoCoeffs_ + Y2*ip.rhoCoeffs_;
190 template<
class Specie,
int PolySize>
193 Specie::operator*=(s);
199 template<
class Specie,
int PolySize>
208 static_cast<const Specie&>(ip1)
209 + static_cast<const Specie&>(ip2)
212 if (
mag(sp.Y()) < small)
222 const scalar Y1 = ip1.Y()/sp.Y();
223 const scalar Y2 = ip2.Y()/sp.Y();
228 Y1*ip1.rhoCoeffs_ + Y2*ip2.rhoCoeffs_
234 template<
class Specie,
int PolySize>
243 s*
static_cast<const Specie&
>(ip),
249 template<
class Specie,
int PolySize>
258 static_cast<const Specie&>(ip1)
259 == static_cast<const Specie&>(ip2)
262 const scalar Y1 = ip1.Y()/sp.Y();
263 const scalar Y2 = ip2.Y()/sp.Y();
268 Y2*ip2.rhoCoeffs_ - Y1*ip1.rhoCoeffs_
scalar H(const scalar p, const scalar T) const
Return enthalpy departure [J/kg].
scalar psi(scalar p, scalar T) const
Return compressibility rho/p [s^2/m^2].
autoPtr< icoPolynomial > clone() const
Construct and return a clone.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Incompressible, polynomial form of equation of state, using a polynomial function for density...
dimensionedSymmTensor sqr(const dimensionedVector &dv)
scalar Z(scalar p, scalar T) const
Return compression factor [].
scalar Cp(scalar p, scalar T) const
Return Cp departure [J/(kg K].
static autoPtr< icoPolynomial > New(const dictionary &dict)
void operator*=(const scalar)
scalar CpMCv(scalar p, scalar T) const
Return (Cp - Cv) [J/(kg K].
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))
icoPolynomial(const Specie &sp, const Polynomial< PolySize > &rhoPoly)
Construct from components.
A class for handling words, derived from string.
scalar S(const scalar p, const scalar T) const
Return entropy [J/(kg K)].
Polynomial templated on size (order):
PtrList< volScalarField > & Y
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...
scalar rho(scalar p, scalar T) const
Return density [kg/m^3].