30 template<
class Specie,
int PolySize>
44 template<
class Specie,
int PolySize>
51 rhoCoeffs_(ip.rhoCoeffs_)
55 template<
class Specie,
int PolySize>
63 rhoCoeffs_(ip.rhoCoeffs_)
67 template<
class Specie,
int PolySize>
78 template<
class Specie,
int PolySize>
89 template<
class Specie,
int PolySize>
102 template<
class Specie,
int PolySize>
109 return rhoCoeffs_.value(T)/this->W();
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>
161 Foam::icoPolynomial<Specie, PolySize>::operator=
166 Specie::operator=(ip);
168 rhoCoeffs_ = ip.rhoCoeffs_;
174 template<
class Specie,
int PolySize>
175 inline void Foam::icoPolynomial<Specie, PolySize>::operator+=
180 scalar molr1 = this->nMoles();
182 Specie::operator+=(ip);
184 molr1 /= this->nMoles();
185 scalar molr2 = ip.nMoles()/this->nMoles();
187 rhoCoeffs_ = molr1*rhoCoeffs_ + molr2*ip.rhoCoeffs_;
191 template<
class Specie,
int PolySize>
192 inline void Foam::icoPolynomial<Specie, PolySize>::operator-=
197 scalar molr1 = this->nMoles();
199 Specie::operator-=(ip);
201 molr1 /= this->nMoles();
202 scalar molr2 = ip.nMoles()/this->nMoles();
204 rhoCoeffs_ = molr1*rhoCoeffs_ - molr2*ip.rhoCoeffs_;
208 template<
class Specie,
int PolySize>
211 Specie::operator*=(s);
217 template<
class Specie,
int PolySize>
224 scalar nMoles = ip1.nMoles() + ip2.nMoles();
225 scalar molr1 = ip1.nMoles()/nMoles;
226 scalar molr2 = ip2.nMoles()/nMoles;
230 static_cast<const Specie&
>(ip1)
231 + static_cast<const Specie&>(ip2),
232 molr1*ip1.rhoCoeffs_ + molr2*ip2.rhoCoeffs_
237 template<
class Specie,
int PolySize>
244 scalar nMoles = ip1.nMoles() + ip2.nMoles();
245 scalar molr1 = ip1.nMoles()/nMoles;
246 scalar molr2 = ip2.nMoles()/nMoles;
250 static_cast<const Specie&
>(ip1)
251 - static_cast<const Specie&>(ip2),
252 molr1*ip1.rhoCoeffs_ - molr2*ip2.rhoCoeffs_
257 template<
class Specie,
int PolySize>
266 s*
static_cast<const Specie&
>(ip),
272 template<
class Specie,
int PolySize>
Polynomial templated on size (order):
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 operator*=(const scalar)
scalar s(const scalar p, const scalar T) const
Return entropy [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.
A list of keyword definitions, which are a keyword followed by any number of values (e...
static autoPtr< icoPolynomial > New(Istream &is)
scalar cpMcv(scalar p, scalar T) const
Return (cp - cv) [J/(kmol K].
icoPolynomial(const Specie &sp, const Polynomial< PolySize > &rhoPoly)
Construct from components.
autoPtr< icoPolynomial > clone() const
Construct and return a clone.
Incompressible, polynomial form of equation of state, using a polynomial function for density...
scalar psi(scalar p, scalar T) const
Return compressibility rho/p [s^2/m^2].
dimensionedSymmTensor sqr(const dimensionedVector &dv)
scalar Z(scalar p, scalar T) const
Return compression factor [].
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].