69#ifndef icoPolynomial_H
70#define icoPolynomial_H
82template<
class Specie,
int PolySize>
85template<
class Specie,
int PolySize>
86icoPolynomial<Specie, PolySize>
operator+
88 const icoPolynomial<Specie, PolySize>&,
89 const icoPolynomial<Specie, PolySize>&
92template<
class Specie,
int PolySize>
99template<
class Specie,
int PolySize>
106template<
class Specie,
int PolySize>
118template<
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) \
260defineTemplateTypeNameAndDebugWithName \
262 icoPolynomial<Specie, PolySize>, \
263 "icoPolynomial<"#PolySize">", \
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Polynomial templated on size (order):
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Incompressible, polynomial form of equation of state, using a polynomial function for density.
static autoPtr< icoPolynomial > New(const dictionary &dict)
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].
static word typeName()
Return the instantiated type name.
void operator+=(const icoPolynomial &)
autoPtr< icoPolynomial > clone() const
Construct and return a clone.
scalar S(const scalar p, const scalar T) const
Return entropy [J/(kg K)].
scalar CpMCv(scalar p, scalar T) const
Return (Cp - Cv) [J/(kg K].
icoPolynomial(const word &name, const icoPolynomial &)
Construct as named copy.
static const bool isochoric
Is the equation of state is isochoric i.e. rho = const.
static const bool incompressible
Is the equation of state is incompressible i.e. rho != f(p)
scalar Z(scalar p, scalar T) const
Return compression factor [].
void operator*=(const scalar)
A class for handling words, derived from Foam::string.
const volScalarField & psi
const volScalarField & Cv
const volScalarField & Cp
OBJstream os(runTime.globalPath()/outputName)
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))
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.