32 template<
class Specie,
int PolySize>
46 template<
class Specie,
int PolySize>
54 rhoCoeffs_(ip.rhoCoeffs_)
58 template<
class Specie,
int PolySize>
66 template<
class Specie,
int PolySize>
76 template<
class Specie,
int PolySize>
83 return rhoCoeffs_.value(
T);
87 template<
class Specie,
int PolySize>
98 template<
class Specie,
int PolySize>
109 template<
class Specie,
int PolySize>
120 template<
class Specie,
int PolySize>
131 template<
class Specie,
int PolySize>
142 template<
class Specie,
int PolySize>
153 template<
class Specie,
int PolySize>
164 template<
class Specie,
int PolySize>
177 template<
class Specie,
int PolySize>
183 scalar Y1 = this->
Y();
184 Specie::operator+=(ip);
186 if (
mag(this->
Y()) > SMALL)
189 const scalar Y2 = ip.Y()/this->
Y();
191 rhoCoeffs_ = Y1*rhoCoeffs_ + Y2*ip.rhoCoeffs_;
196 template<
class Specie,
int PolySize>
199 Specie::operator*=(
s);
205 template<
class Specie,
int PolySize>
208 const icoPolynomial<Specie, PolySize>& ip1,
209 const icoPolynomial<Specie, PolySize>& ip2
214 static_cast<const Specie&>(ip1)
215 + static_cast<const Specie&>(ip2)
218 if (
mag(sp.Y()) < SMALL)
220 return icoPolynomial<Specie, PolySize>
228 const scalar Y1 = ip1.Y()/sp.Y();
229 const scalar Y2 = ip2.Y()/sp.Y();
231 return icoPolynomial<Specie, PolySize>
234 Y1*ip1.rhoCoeffs_ + Y2*ip2.rhoCoeffs_
240 template<
class Specie,
int PolySize>
244 const icoPolynomial<Specie, PolySize>& ip
247 return icoPolynomial<Specie, PolySize>
249 s*
static_cast<const Specie&
>(ip),
255 template<
class Specie,
int PolySize>
258 const icoPolynomial<Specie, PolySize>& ip1,
259 const icoPolynomial<Specie, PolySize>& ip2
264 static_cast<const Specie&>(ip1)
265 == static_cast<const Specie&>(ip2)
268 const scalar Y1 = ip1.Y()/sp.Y();
269 const scalar Y2 = ip2.Y()/sp.Y();
271 return icoPolynomial<Specie, PolySize>
274 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].
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
autoPtr< icoPolynomial > clone() const
Construct and return a clone.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
scalar E(const scalar p, const scalar T) const
Return internal energy departure [J/kg].
Incompressible, polynomial form of equation of state, using a polynomial function for density...
scalar Z(scalar p, scalar T) const
Return compression factor [].
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
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].
icoPolynomial(const Specie &sp, const Polynomial< PolySize > &rhoPoly)
Construct from components.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
A class for handling words, derived from Foam::string.
scalar S(const scalar p, const scalar T) const
Return entropy [J/(kg K)].
scalar Cv(scalar p, scalar T) const
Return Cv departure [J/(kg K].
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Polynomial templated on size (order):
PtrList< volScalarField > & Y
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
scalar rho(scalar p, scalar T) const
Return density [kg/m^3].
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.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))