33 template<
class Specie>
36 const Specie& sp,
const scalar
rho0,
const scalar
T0,
const scalar
beta 46 template<
class Specie>
60 template<
class Specie>
68 template<
class Specie>
81 template<
class Specie>
88 return rho0_*(1.0 - beta_*(
T - T0_));
92 template<
class Specie>
99 template<
class Specie>
105 template<
class Specie>
112 template<
class Specie>
119 template<
class Specie>
130 template<
class Specie>
141 template<
class Specie>
152 template<
class Specie>
165 template<
class Specie>
171 Specie::operator=(
b);
179 template<
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_;
200 template<
class Specie>
203 Specie::operator*=(
s);
209 template<
class Specie>
212 const Boussinesq<Specie>& b1,
213 const Boussinesq<Specie>& b2
216 Specie sp(static_cast<const Specie&>(b1) + static_cast<const Specie&>(b2));
218 if (
mag(sp.Y()) < SMALL)
220 return Boussinesq<Specie>
230 const scalar Y1 = b1.Y()/sp.Y();
231 const scalar Y2 = b2.Y()/sp.Y();
233 return Boussinesq<Specie>
236 Y1*b1.rho0_ + Y2*b2.rho0_,
237 Y1*b1.T0_ + Y2*b2.T0_,
238 Y1*b1.beta_ + Y2*b2.beta_
244 template<
class Specie>
248 const Boussinesq<Specie>&
b 251 return Boussinesq<Specie>
253 s*
static_cast<const Specie&
>(
b),
261 template<
class Specie>
264 const Boussinesq<Specie>& b1,
265 const Boussinesq<Specie>& b2
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();
273 return Boussinesq<Specie>
276 Y2*b2.rho0_ - Y1*b1.rho0_,
277 Y2*b2.T0_ - Y1*b1.T0_,
278 Y2*b2.beta_ - Y1*b1.beta_
Boussinesq(const Specie &sp, const scalar rho0, const scalar T0, const scalar beta)
Construct from components.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
scalar S(const scalar p, const scalar T) const
Return entropy [J/(kg K)].
scalar rho(scalar p, scalar T) const
Return density [kg/m^3].
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.
static autoPtr< Boussinesq > New(const dictionary &dict)
autoPtr< Boussinesq > clone() const
Construct and return a clone.
scalar Cp(scalar p, scalar T) const
Return Cp departure [J/(kg K].
scalar Cv(scalar p, scalar T) const
Return Cv departure [J/(kg K].
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
scalar psi(scalar p, scalar T) const
Return compressibility rho/p [s^2/m^2].
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
scalar Z(scalar p, scalar T) const
Return compression factor [].
A class for handling words, derived from Foam::string.
scalar H(const scalar p, const scalar T) const
Return enthalpy departure [J/kg].
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
PtrList< volScalarField > & Y
dimensionedScalar beta("beta", dimless/dimTemperature, laminarTransport)
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
scalar CpMCv(scalar p, scalar T) const
Return (Cp - Cv) [J/(kg K].
void operator*=(const scalar)
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))
scalar E(const scalar p, const scalar T) const
Return internal energy departure [J/kg].
Incompressible gas equation of state using the Boussinesq approximation for the density as a function...