30 template<
class Specie>
46 template<
class Specie>
59 template<
class Specie>
67 template<
class Specie>
80 template<
class Specie>
83 return rho0_ + psi_*
p;
87 template<
class Specie>
90 return log(
rho(p, T))/psi_;
94 template<
class Specie>
101 template<
class Specie>
104 const scalar
rho = this->
rho(p, T);
106 return log(rho)/psi_ - p/
rho;
110 template<
class Specie>
117 template<
class Specie>
120 return -
log((rho0_ + psi_*p)/(rho0_ + psi_*
Pstd))/(T*psi_);
124 template<
class Specie>
131 template<
class Specie>
138 template<
class Specie>
147 template<
class Specie>
148 inline void Foam::linear<Specie>::operator+=
153 scalar Y1 = this->
Y();
154 Specie::operator+=(pf);
156 if (
mag(this->
Y()) > small)
159 const scalar Y2 = pf.Y()/this->
Y();
161 psi_ = Y1*psi_ + Y2*pf.psi_;
162 rho0_ = Y1*rho0_ + Y2*pf.rho0_;
167 template<
class Specie>
170 Specie::operator*=(s);
176 template<
class Specie>
185 static_cast<const Specie&>(pf1)
186 + static_cast<const Specie&>(pf2)
189 if (
mag(sp.Y()) < small)
200 const scalar Y1 = pf1.Y()/sp.Y();
201 const scalar Y2 = pf2.Y()/sp.Y();
206 Y1*pf1.psi_ + Y2*pf2.psi_,
207 Y1*pf1.rho0_ + Y2*pf2.rho0_
213 template<
class Specie>
222 s*
static_cast<const Specie&
>(pf),
229 template<
class Specie>
238 static_cast<const Specie&>(pf1)
239 == static_cast<const Specie&>(pf2)
242 const scalar Y1 = pf1.Y()/sp.Y();
243 const scalar Y2 = pf2.Y()/sp.Y();
248 Y2*pf2.psi_ - Y1*pf1.psi_,
249 Y2*pf2.rho0_ - Y1*pf1.rho0_
scalar H(const scalar p, const scalar T) const
Return enthalpy departure [J/kg].
dimensionedScalar log(const dimensionedScalar &ds)
A list of keyword definitions, which are a keyword followed by any number of values (e...
static autoPtr< linear > New(const dictionary &dict)
Central-differencing interpolation scheme class.
scalar psi(scalar p, scalar T) const
Return compressibility rho/p [s^2/m^2].
scalar S(const scalar p, const scalar T) const
Return entropy [J/kg/K].
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().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))
A class for handling words, derived from string.
scalar Cv(scalar p, scalar T) const
Return Cv departure [J/(kg K].
void operator*=(const scalar)
const dimensionedScalar Pstd
Standard pressure.
linear(const fvMesh &mesh)
Construct from mesh.
scalar rho(scalar p, scalar T) const
Return density [kg/m^3].
PtrList< volScalarField > & Y
scalar CpMCv(scalar p, scalar T) const
Return (Cp - Cv) [J/(kg K].
dimensioned< scalar > mag(const dimensioned< Type > &)
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
autoPtr< linear > clone() const
Construct and return a clone.
scalar Cp(scalar p, scalar T) const
Return Cp departure [J/(kg K].
scalar E(const scalar p, const scalar T) const
Return internal energy departure [J/kg].
scalar Z(scalar p, scalar T) const
Return compression factor [].