32 template<
class Specie>
46 template<
class Specie>
58 template<
class Specie>
68 template<
class Specie>
75 template<
class Specie>
82 template<
class Specie>
89 template<
class Specie>
96 template<
class Specie>
103 template<
class Specie>
110 template<
class Specie>
117 template<
class Specie>
124 template<
class Specie>
133 template<
class Specie>
136 scalar Y1 = this->
Y();
137 Specie::operator+=(ico);
139 if (
mag(this->
Y()) > SMALL)
142 const scalar Y2 = ico.Y()/this->
Y();
144 rho_ = Y1*rho_ + Y2*ico.rho_;
149 template<
class Specie>
152 Specie::operator*=(
s);
158 template<
class Specie>
161 const rhoConst<Specie>& ico1,
162 const rhoConst<Specie>& ico2
167 static_cast<const Specie&>(ico1)
168 + static_cast<const Specie&>(ico2)
171 if (
mag(sp.Y()) < SMALL)
173 return rhoConst<Specie>
181 const scalar Y1 = ico1.Y()/sp.Y();
182 const scalar Y2 = ico2.Y()/sp.Y();
184 return rhoConst<Specie>
187 Y1*ico1.rho_ + Y2*ico2.rho_
193 template<
class Specie>
197 const rhoConst<Specie>& ico
200 return rhoConst<Specie>(
s*
static_cast<const Specie&
>(ico), ico.rho_);
204 template<
class Specie>
207 const rhoConst<Specie>& ico1,
208 const rhoConst<Specie>& ico2
213 static_cast<const Specie&>(ico1)
214 == static_cast<const Specie&>(ico2)
217 const scalar Y1 = ico1.Y()/sp.Y();
218 const scalar Y2 = ico2.Y()/sp.Y();
220 return rhoConst<Specie>
223 Y2*ico2.rho_ - Y1*ico1.rho_
void operator+=(const rhoConst &)
scalar E(const scalar p, const scalar T) const
Return internal energy departure [J/kg].
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
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].
scalar Z(scalar p, scalar T) const
Return compression factor [].
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.
rhoConst(const Specie &sp, const scalar rho)
Construct from components.
scalar CpMCv(scalar p, scalar T) const
Return (Cp - Cv) [J/(kg K].
scalar S(const scalar p, const scalar T) const
Return entropy [J/(kg K)].
scalar Cp(scalar p, scalar T) const
Return Cp departure [J/(kg K].
scalar rho(scalar p, scalar T) const
Return density [kg/m^3].
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
A class for handling words, derived from Foam::string.
scalar Cv(scalar p, scalar T) const
Return Cv departure [J/(kg K].
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
autoPtr< rhoConst > clone() const
Construct and return a clone.
PtrList< volScalarField > & Y
void operator*=(const scalar)
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
RhoConst (rho = const) of state.
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))