41 #ifndef adiabaticPerfectFluid_H 42 #define adiabaticPerfectFluid_H 55 template<
class Specie>
62 template<
class Specie>
69 template<
class Specie>
76 template<
class Specie>
88 template<
class Specie>
147 return "adiabaticPerfectFluid<" +
word(Specie::typeName_()) +
'>';
160 inline scalar
rho(scalar
p, scalar
T)
const;
163 inline scalar
H(
const scalar
p,
const scalar
T)
const;
166 inline scalar
Cp(scalar
p, scalar
T)
const;
169 inline scalar
E(
const scalar
p,
const scalar
T)
const;
172 inline scalar
Cv(scalar
p, scalar
T)
const;
175 inline scalar
S(
const scalar
p,
const scalar
T)
const;
178 inline scalar
psi(scalar
p, scalar
T)
const;
181 inline scalar
Z(scalar
p, scalar
T)
const;
184 inline scalar
CpMCv(scalar
p, scalar
T)
const;
222 friend Ostream& operator<< <Specie>
scalar Z(scalar p, scalar T) const
Return compression factor [].
scalar E(const scalar p, const scalar T) const
Return internal energy departure [J/kg].
static autoPtr< adiabaticPerfectFluid > New(const dictionary &dict)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
adiabaticPerfectFluid(const Specie &sp, const scalar p0, const scalar rho0, const scalar gamma, const scalar B)
Construct from components.
static const bool incompressible
Is the equation of state is incompressible i.e. rho != f(p)
scalar psi(scalar p, scalar T) const
Return compressibility rho/p [s^2/m^2].
static word typeName()
Return the instantiated type name.
static const bool isochoric
Is the equation of state is isochoric i.e. rho = const.
void operator+=(const adiabaticPerfectFluid &)
scalar S(const scalar p, const scalar T) const
Return entropy [J/(kg K)].
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
scalar Cp(scalar p, scalar T) const
Return Cp departure [J/(kg K].
A class for handling words, derived from Foam::string.
scalar CpMCv(scalar p, scalar T) const
Return (Cp - Cv) [J/(kg K].
scalar H(const scalar p, const scalar T) const
Return enthalpy departure [J/kg].
An Ostream is an abstract base class for all output systems (streams, files, token lists...
autoPtr< adiabaticPerfectFluid > clone() const
Construct and return a clone.
OBJstream os(runTime.globalPath()/outputName)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
scalar rho(scalar p, scalar T) const
Return density [kg/m^3].
Adiabatic perfect fluid equation of state.
scalar Cv(scalar p, scalar T) const
Return Cv departure [J/(kg K].
void operator*=(const scalar)
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
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))
static const Foam::dimensionedScalar B("", Foam::dimless, 18.678)
const volScalarField & p0
void write(Ostream &os) const
Write to Ostream.