Go to the documentation of this file.
69 #ifndef icoPolynomial_H
70 #define icoPolynomial_H
82 template<
class Specie,
int PolySize>
85 template<
class Specie,
int PolySize>
86 icoPolynomial<Specie, PolySize>
operator+
92 template<
class Specie,
int PolySize>
99 template<
class Specie,
int PolySize>
106 template<
class Specie,
int PolySize>
118 template<
class Specie,
int PolySize=8>
132 inline static word coeffsName(
const char*
name)
134 return word(
name + (
"Coeffs<" + std::to_string(PolySize) +
'>'));
169 return "icoPolynomial<" +
word(Specie::typeName_()) +
'>';
182 inline scalar
rho(scalar
p, scalar
T)
const;
185 inline scalar
H(
const scalar
p,
const scalar
T)
const;
188 inline scalar
Cp(scalar
p, scalar
T)
const;
191 inline scalar
E(
const scalar
p,
const scalar
T)
const;
194 inline scalar
Cv(scalar
p, scalar
T)
const;
197 inline scalar
S(
const scalar
p,
const scalar
T)
const;
200 inline scalar
psi(scalar
p, scalar
T)
const;
203 inline scalar
Z(scalar
p, scalar
T)
const;
206 inline scalar
CpMCv(scalar
p, scalar
T)
const;
244 friend Ostream& operator<< <Specie, PolySize>
258 #define makeIcoPolynomial(PolySize) \
260 defineTemplateTypeNameAndDebugWithName \
262 icoPolynomial<Specie, PolySize>, \
263 "icoPolynomial<"#PolySize">", \
A class for handling words, derived from Foam::string.
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))
autoPtr< icoPolynomial > clone() const
Construct and return a clone.
static const bool isochoric
Is the equation of state is isochoric i.e. rho = const.
scalar Cv(scalar p, scalar T) const
Return Cv departure [J/(kg K].
scalar Cp(scalar p, scalar T) const
Return Cp departure [J/(kg K].
void operator+=(const icoPolynomial &)
scalar rho(scalar p, scalar T) const
Return density [kg/m^3].
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
void operator*=(const scalar)
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
OBJstream os(runTime.globalPath()/outputName)
scalar CpMCv(scalar p, scalar T) const
Return (Cp - Cv) [J/(kg K].
scalar E(const scalar p, const scalar T) const
Return internal energy departure [J/kg].
scalar H(const scalar p, const scalar T) const
Return enthalpy departure [J/kg].
scalar S(const scalar p, const scalar T) const
Return entropy [J/(kg K)].
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Polynomial templated on size (order):
icoPolynomial(const Specie &sp, const Polynomial< PolySize > &rhoPoly)
Construct from components.
static autoPtr< icoPolynomial > New(const dictionary &dict)
static const bool incompressible
Is the equation of state is incompressible i.e. rho != f(p)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
static word typeName()
Return the instantiated type name.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
scalar psi(scalar p, scalar T) const
Return compressibility rho/p [s^2/m^2].
scalar Z(scalar p, scalar T) const
Return compression factor [].
void write(Ostream &os) const
Write to Ostream.
Incompressible, polynomial form of equation of state, using a polynomial function for density.