35 const scalar mu1,
const scalar T1,
36 const scalar mu2,
const scalar T2
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;
69 const scalar mu1,
const scalar T1,
70 const scalar mu2,
const scalar T2
75 calcCoeffs(mu1, T1, mu2, T2);
100template<
class Thermo>
113template<
class Thermo>
124template<
class Thermo>
127 const scalar
p,
const scalar T
130 scalar Cv_ = this->
Cv(p,
T);
131 return mu(
p,
T)*Cv_*(1.32 + 1.77*this->
R()/Cv_);
135template<
class Thermo>
143 return kappa(
p,
T)/this->
Cp(p,
T);
149template<
class Thermo>
155 scalar Y1 = this->
Y();
157 Thermo::operator+=(st);
159 if (
mag(this->
Y()) > SMALL)
162 scalar Y2 = st.Y()/this->
Y();
164 As_ = Y1*As_ + Y2*st.As_;
165 Ts_ = Y1*Ts_ + Y2*st.Ts_;
170template<
class Thermo>
176 Thermo::operator*=(
s);
182template<
class Thermo>
191 static_cast<const Thermo&
>(st1) +
static_cast<const Thermo&
>(st2)
194 if (
mag(t.Y()) < SMALL)
205 scalar Y1 = st1.Y()/t.Y();
206 scalar Y2 = st2.Y()/t.Y();
208 return sutherlandTransport<Thermo>
211 Y1*st1.As_ + Y2*st2.As_,
212 Y1*st1.Ts_ + Y2*st2.Ts_
218template<
class Thermo>
222 const sutherlandTransport<Thermo>& st
225 return sutherlandTransport<Thermo>
227 s*
static_cast<const Thermo&
>(st),
#define R(A, B, C, D, E, F, K, M)
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
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,...
Transport package using Sutherland's formula.
autoPtr< sutherlandTransport > clone() const
Construct and return a clone.
scalar alphah(const scalar p, const scalar T) const
Thermal diffusivity of enthalpy [kg/ms].
A class for handling words, derived from Foam::string.
PtrList< volScalarField > & Y
const volScalarField & mu
const volScalarField & Cv
const volScalarField & Cp
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))
const dimensionedScalar kappa
Coulomb constant: default SI units: [N.m2/C2].
const dimensionedScalar mu
Atomic mass unit.
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.