35template<
class CloudType>
46template<
class CloudType>
58template<
class CloudType>
65template<
class CloudType>
76 Random& rnd = this->owner().rndGen();
78 const scalar cps = 0.16432;
80 const scalar
k = this->kPtr_->primitiveField()[celli];
82 this->epsilonPtr_->primitiveField()[celli] + ROOTVSMALL;
84 const scalar UrelMag =
mag(
U - Uc - UTurb);
86 const scalar tTurbLoc =
105 const scalar u = 2*rnd.
sample01<scalar>() - 1;
107 const scalar a =
sqrt(1 -
sqr(u));
const CloudType & owner() const
Return const access to the owner cloud.
const volScalarField * epsilonPtr_
Turbulence epsilon.
const volScalarField * kPtr_
Turbulence k.
DispersionRASModel(const dictionary &dict, CloudType &owner)
Construct from components.
Type GaussNormal()
Return a sample whose components are normally distributed with zero mean and unity variance N(0,...
Type sample01()
Return a sample whose components lie in the range [0,1].
The velocity is perturbed in random direction, with a Gaussian random number distribution with varian...
virtual ~StochasticDispersionRAS()
Destructor.
StochasticDispersionRAS(const dictionary &dict, CloudType &owner)
Construct from components.
virtual vector update(const scalar dt, const label celli, const vector &U, const vector &Uc, vector &UTurb, scalar &tTurb)
Update (disperse particles).
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
constexpr scalar twoPi(2 *M_PI)
DSMCCloud< dsmcParcel > CloudType
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sin(const dimensionedScalar &ds)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
static constexpr const zero Zero
Global zero (0).
dimensionedScalar cos(const dimensionedScalar &ds)
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)