30 template<
class Thermo>
39 scalar rootT1 =
sqrt(T1);
40 scalar mu1rootT2 = mu1*
sqrt(T2);
41 scalar mu2rootT1 = mu2*rootT1;
43 Ts_ = (mu2rootT1 - mu1rootT2)/(mu1rootT2/T1 - mu2rootT1/T2);
45 As_ = mu1*(1.0 + Ts_/T1)/rootT1;
51 template<
class Thermo>
65 template<
class Thermo>
77 calcCoeffs(mu1, T1, mu2, T2);
81 template<
class Thermo>
94 template<
class Thermo>
107 template<
class Thermo>
118 template<
class Thermo>
125 scalar Cv_ = this->
Cv(p,
T);
126 return mu(
p,
T)*Cv_*(1.32 + 1.77*this->
R()/Cv_);
132 template<
class Thermo>
138 scalar Y1 = this->
Y();
140 Thermo::operator+=(st);
142 if (
mag(this->
Y()) > small)
145 scalar Y2 = st.Y()/this->
Y();
147 As_ = Y1*As_ + Y2*st.As_;
148 Ts_ = Y1*Ts_ + Y2*st.Ts_;
153 template<
class Thermo>
159 Thermo::operator*=(
s);
165 template<
class Thermo>
174 static_cast<const Thermo&
>(st1) +
static_cast<const Thermo&
>(st2)
177 if (
mag(t.Y()) < small)
189 scalar Y1 = st1.Y()/t.Y();
190 scalar Y2 = st2.Y()/t.Y();
192 return sutherlandTransport<Thermo>
195 Y1*st1.As_ + Y2*st2.As_,
196 Y1*st1.Ts_ + Y2*st2.Ts_
202 template<
class Thermo>
206 const sutherlandTransport<Thermo>& st
209 return sutherlandTransport<Thermo>
211 s*
static_cast<const Thermo&
>(st),
scalar Cv(const scalar p, const scalar T) const
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Transport package using Sutherland's formula for viscosity:
scalar mu(const scalar p, const scalar T) const
Dynamic viscosity [kg/m/s].
scalar kappa(const scalar p, const scalar T) const
Thermal conductivity [W/m/K].
sutherlandTransport(const Thermo &t, const scalar As, const scalar Ts)
Construct from components.
autoPtr< sutherlandTransport > clone() const
Construct and return a clone.
A class for handling words, derived from string.
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.name(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
const dimensionedScalar mu
Atomic mass unit.
word name(const bool)
Return a word representation of a bool.
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< scalar > mag(const dimensioned< Type > &)
static scalar R(const scalar a, const scalar x)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
PtrList< volScalarField > & Y