28 template<
class Thermo>
42 template<
class Thermo>
55 template<
class Thermo>
66 template<
class Thermo>
80 template<
class Thermo>
96 template<
class Thermo>
107 template<
class Thermo>
114 return this->Cp(p, T)*
mu(p, T)*rPr_;
118 template<
class Thermo>
125 return mu(p, T)*rPr_;
131 template<
class Thermo>
137 Thermo::operator=(ct);
146 template<
class Thermo>
147 inline void Foam::constTransport<Thermo>::operator+=
152 scalar molr1 = this->nMoles();
154 Thermo::operator+=(st);
156 if (
mag(molr1) +
mag(st.nMoles()) > SMALL)
158 molr1 /= this->nMoles();
159 scalar molr2 = st.nMoles()/this->nMoles();
161 mu_ = molr1*mu_ + molr2*st.mu_;
162 rPr_ = 1.0/(molr1/rPr_ + molr2/st.rPr_);
167 template<
class Thermo>
168 inline void Foam::constTransport<Thermo>::operator-=
173 scalar molr1 = this->nMoles();
175 Thermo::operator-=(st);
177 if (
mag(molr1) +
mag(st.nMoles()) > SMALL)
179 molr1 /= this->nMoles();
180 scalar molr2 = st.nMoles()/this->nMoles();
182 mu_ = molr1*mu_ - molr2*st.mu_;
183 rPr_ = 1.0/(molr1/rPr_ - molr2/st.rPr_);
188 template<
class Thermo>
189 inline void Foam::constTransport<Thermo>::operator*=
194 Thermo::operator*=(s);
200 template<
class Thermo>
209 static_cast<const Thermo&>(ct1) + static_cast<const Thermo&>(ct2)
212 if (
mag(ct1.nMoles()) +
mag(ct2.nMoles()) < SMALL)
223 scalar molr1 = ct1.nMoles()/t.nMoles();
224 scalar molr2 = ct2.nMoles()/t.nMoles();
229 molr1*ct1.mu_ + molr2*ct2.mu_,
230 1.0/(molr1/ct1.rPr_ + molr2/ct2.rPr_)
236 template<
class Thermo>
245 static_cast<const Thermo&>(ct1) - static_cast<const Thermo&>(ct2)
248 if (
mag(ct1.nMoles()) +
mag(ct2.nMoles()) < SMALL)
259 scalar molr1 = ct1.nMoles()/t.nMoles();
260 scalar molr2 = ct2.nMoles()/t.nMoles();
265 molr1*ct1.mu_ - molr2*ct2.mu_,
266 1.0/(molr1/ct1.rPr_ - molr2/ct2.rPr_)
272 template<
class Thermo>
281 s*
static_cast<const Thermo&
>(ct),
288 template<
class Thermo>
dimensionedScalar Pr("Pr", dimless, laminarTransport)
const dimensionedScalar mu
Atomic mass unit.
autoPtr< constTransport > clone() const
Construct and return a clone.
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 ))
dimensioned< scalar > mag(const dimensioned< Type > &)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
A class for handling words, derived from string.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Constant properties Transport package. Templated into a given thermodynamics package (needed for ther...
scalar alphah(const scalar p, const scalar T) const
Thermal diffusivity of enthalpy [kg/ms].
scalar kappa(const scalar p, const scalar T) const
Thermal conductivity [W/mK].
scalar mu(const scalar p, const scalar T) const
Dynamic viscosity [kg/ms].
static autoPtr< constTransport > New(Istream &is)
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...