39template<
class CloudType>
47 turbulenceModel::propertiesName,
59 <<
"Turbulence model not found in mesh database" <<
nl
60 <<
"Database objects include: " << obr.
sortedToc()
69template<
class CloudType>
79 lambda_(this->coeffs().getScalar(
"lambda")),
80 turbulence_(this->coeffs().getBool(
"turbulence")),
86template<
class CloudType>
95 turbulence_(bmf.turbulence_),
103template<
class CloudType>
110template<
class CloudType>
141template<
class CloudType>
154 const scalar dp =
p.d();
155 const scalar Tc = td.Tc();
157 const scalar
alpha = 2.0*lambda_/dp;
166 const label celli =
p.cell();
168 const scalar kc =
k[celli];
192 Random& rnd = this->owner().rndGen();
194 const scalar theta = rnd.
sample01<scalar>()*twoPi;
195 const scalar u = 2*rnd.
sample01<scalar>() - 1;
197 const scalar a =
sqrt(1 -
sqr(u));
compressible::turbulenceModel & turb
Calculates particle Brownian motion force.
virtual void cacheFields(const bool store)
Cache fields.
virtual ~BrownianMotionForce()
Destructor.
virtual forceSuSp calcCoupled(const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar dt, const scalar mass, const scalar Re, const scalar muc) const
Calculate the coupled force.
Templated base class for dsmc cloud.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
List< Key > sortedToc() const
The table of contents (the keys) in sorted order.
Abstract base class for particle forces.
Type sample01()
Return a sample whose components lie in the range [0,1].
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const Type & value() const
Return const reference to value.
Class used to pass data into container.
Helper container for force Su and Sp terms.
const vector & Su() const
Return const access to the explicit contribution [kg.m/s2].
Mesh data needed to do the Finite Volume discretisation.
Registry of regIOobjects.
const Type * findObject(const word &name, const bool recursive=false) const
Return const pointer to the object of the given Type.
A class for managing temporary objects.
bool isTmp() const noexcept
Identical to is_pointer()
T * ptr() const
Return managed pointer for reuse, or clone() the object reference.
Abstract base class for turbulence models (RAS, LES and laminar).
A class for handling words, derived from Foam::string.
Template functions to aid in the implementation of demand driven data.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Fundamental dimensioned constants.
constexpr const char *const group
Group name for atomic constants.
constexpr scalar pi(M_PI)
const dimensionedScalar k
Boltzmann constant.
Different types of constants.
dimensionedScalar pow5(const dimensionedScalar &ds)
dimensionedScalar exp(const dimensionedScalar &ds)
scalarField Re(const UList< complex > &cf)
Extract real component.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sin(const dimensionedScalar &ds)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
errorManip< error > abort(error &err)
static constexpr const zero Zero
Global zero (0)
void deleteDemandDrivenData(DataPtr &dataPtr)
dimensionedScalar cos(const dimensionedScalar &ds)
constexpr char nl
The newline '\n' character (0x0a)