36 const Specie& sp,
const scalar
rho0,
const scalar
T0,
const scalar
beta
88 return rho0_*(1.0 - beta_*(
T - T0_));
105template<
class Specie>
112template<
class Specie>
119template<
class Specie>
130template<
class Specie>
141template<
class Specie>
152template<
class Specie>
165template<
class Specie>
171 Specie::operator=(
b);
179template<
class Specie>
185 scalar Y1 = this->
Y();
186 Specie::operator+=(
b);
188 if (
mag(this->
Y()) > SMALL)
191 const scalar Y2 =
b.Y()/this->
Y();
193 rho0_ = Y1*rho0_ + Y2*
b.rho0_;
194 T0_ = Y1*T0_ + Y2*
b.T0_;
195 beta_ = Y1*beta_ + Y2*
b.beta_;
200template<
class Specie>
203 Specie::operator*=(
s);
209template<
class Specie>
210inline Foam::Boussinesq<Specie> Foam::operator+
216 Specie sp(
static_cast<const Specie&
>(b1) +
static_cast<const Specie&
>(b2));
218 if (
mag(sp.Y()) < SMALL)
230 const scalar Y1 = b1.Y()/sp.Y();
231 const scalar Y2 = b2.Y()/sp.Y();
236 Y1*b1.rho0_ + Y2*b2.rho0_,
237 Y1*b1.T0_ + Y2*b2.T0_,
238 Y1*b1.beta_ + Y2*b2.beta_
244template<
class Specie>
245inline Foam::Boussinesq<Specie> Foam::operator*
253 s*
static_cast<const Specie&
>(
b),
261template<
class Specie>
262inline Foam::Boussinesq<Specie> Foam::operator==
268 Specie sp(
static_cast<const Specie&
>(b1) ==
static_cast<const Specie&
>(b2));
270 const scalar Y1 = b1.Y()/sp.Y();
271 const scalar Y2 = b2.Y()/sp.Y();
276 Y2*b2.rho0_ - Y1*b1.rho0_,
277 Y2*b2.T0_ - Y1*b1.T0_,
278 Y2*b2.beta_ - Y1*b1.beta_
Incompressible gas equation of state using the Boussinesq approximation for the density as a function...
scalar Cv(scalar p, scalar T) const
Return Cv departure [J/(kg K].
autoPtr< Boussinesq > clone() const
Construct and return a clone.
scalar E(const scalar p, const scalar T) const
Return internal energy departure [J/kg].
scalar psi(scalar p, scalar T) const
Return compressibility rho/p [s^2/m^2].
scalar H(const scalar p, const scalar T) const
Return enthalpy departure [J/kg].
static autoPtr< Boussinesq > New(const dictionary &dict)
scalar rho(scalar p, scalar T) const
Return density [kg/m^3].
Boussinesq(const Specie &sp, const scalar rho0, const scalar T0, const scalar beta)
Construct from components.
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].
scalar Cp(scalar p, scalar T) const
Return Cp departure [J/(kg K].
scalar Z(scalar p, scalar T) const
Return compression factor [].
void operator*=(const scalar)
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,...
A class for handling words, derived from Foam::string.
PtrList< volScalarField > & Y
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))
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
dimensionedScalar beta("beta", dimless/dimTemperature, laminarTransport)