33 template<
class CloudType>
44 template<
class CloudType>
56 template<
class CloudType>
63 template<
class CloudType>
76 const scalar cps = 0.16432;
78 const scalar
k = this->kPtr_->primitiveField()[celli];
80 this->epsilonPtr_->primitiveField()[celli] + ROOTVSMALL;
82 const scalar UrelMag =
mag(U - Uc - UTurb);
84 const scalar tTurbLoc =
85 min(k/epsilon, cps*
pow(k, 1.5)/epsilon/(UrelMag + SMALL));
103 const scalar u = 2*rnd.
sample01<scalar>() - 1;
105 const scalar a =
sqrt(1 -
sqr(u));
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A list of keyword definitions, which are a keyword followed by any number of values (e...
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m2/K4].
label k
Boltzmann constant.
virtual ~StochasticDispersionRAS()
Destructor.
Type GaussNormal()
Return a sample whose components are normally distributed.
Type sample01()
Return a sample whose components lie in the range 0-1.
dimensionedScalar cos(const dimensionedScalar &ds)
Random & rndGen()
Return refernce to the random object.
virtual vector update(const scalar dt, const label celli, const vector &U, const vector &Uc, vector &UTurb, scalar &tTurb)
Update (disperse particles)
const scalar twoPi(2 *pi)
dimensionedScalar sin(const dimensionedScalar &ds)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
dimensioned< scalar > mag(const dimensioned< Type > &)
Base class for particle dispersion models based on RAS turbulence.
Templated base class for dsmc cloud.
StochasticDispersionRAS(const dictionary &dict, CloudType &owner)
Construct from components.
The velocity is perturbed in random direction, with a Gaussian random number distribution with varian...