37 #ifndef icoPolynomial_H 38 #define icoPolynomial_H 50 template<
class Specie,
int PolySize>
53 template<
class Specie,
int PolySize>
57 const icoPolynomial<Specie, PolySize>&
60 template<
class Specie,
int PolySize>
61 icoPolynomial<Specie, PolySize>
operator-
63 const icoPolynomial<Specie, PolySize>&,
64 const icoPolynomial<Specie, PolySize>&
67 template<
class Specie,
int PolySize>
68 icoPolynomial<Specie, PolySize>
operator*
71 const icoPolynomial<Specie, PolySize>&
74 template<
class Specie,
int PolySize>
75 icoPolynomial<Specie, PolySize>
operator==
77 const icoPolynomial<Specie, PolySize>&,
78 const icoPolynomial<Specie, PolySize>&
81 template<
class Specie,
int PolySize>
85 const icoPolynomial<Specie, PolySize>&
93 template<
class Specie,
int PolySize=8>
143 return "icoPolynomial<" +
word(Specie::typeName_()) +
'>';
156 inline scalar
rho(scalar
p, scalar
T)
const;
159 inline scalar
h(
const scalar
p,
const scalar
T)
const;
162 inline scalar
cp(scalar
p, scalar
T)
const;
165 inline scalar
s(
const scalar
p,
const scalar
T)
const;
168 inline scalar
psi(scalar
p, scalar
T)
const;
171 inline scalar
Z(scalar
p, scalar
T)
const;
174 inline scalar
cpMcv(scalar
p, scalar
T)
const;
180 void write(Ostream& os)
const;
200 friend icoPolynomial
operator- <Specie, PolySize>
202 const icoPolynomial&,
206 friend icoPolynomial
operator* <Specie, PolySize>
212 friend icoPolynomial
operator== <Specie, PolySize>
214 const icoPolynomial&,
221 friend Ostream& operator<< <Specie, PolySize>
235 #define makeIcoPolynomial(PolySize) \ 237 defineTemplateTypeNameAndDebugWithName \ 239 icoPolynomial<Specie, PolySize>, \ 240 "icoPolynomial<"#PolySize">", \
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...
static const bool incompressible
Is the equation of state is incompressible i.e. rho != f(p)
scalar rho(scalar p, scalar T) const
Return density [kg/m^3].
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
scalar psi(scalar p, scalar T) const
Return compressibility rho/p [s^2/m^2].
static const bool isochoric
Is the equation of state is isochoric i.e. rho = const.
scalar Z(scalar p, scalar T) const
Return compression factor [].
void operator*=(const scalar)
scalar cpMcv(scalar p, scalar T) const
Return (cp - cv) [J/(kmol K].
scalar cp(scalar p, scalar T) const
Return cp departure [J/(kmol K].
icoPolynomial(const Specie &sp, const Polynomial< PolySize > &rhoPoly)
Construct from components.
void write(Ostream &os) const
Write to Ostream.
A class for handling words, derived from string.
static autoPtr< icoPolynomial > New(Istream &is)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
void operator+=(const icoPolynomial &)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
word name(const complex &)
Return a string representation of a complex.
void operator-=(const icoPolynomial &)
scalar h(const scalar p, const scalar T) const
Return enthalpy departure [J/kmol].
Polynomial templated on size (order):
void operator=(const icoPolynomial &)
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
scalar s(const scalar p, const scalar T) const
Return entropy [J/(kmol K)].
static word typeName()
Return the instantiated type name.