37 template<
class CloudType>
46 lambda_(this->coeffs().template lookup<scalar>(
"lambda"))
50 template<
class CloudType>
63 template<
class CloudType>
70 template<
class CloudType>
74 const typename CloudType::parcelType::trackingData& td,
83 const scalar dp =
p.d();
84 const scalar Tc = td.Tc();
86 const scalar
alpha = 2.0*lambda_/dp;
108 const scalar a =
sqrt(1 -
sqr(u));
Calculates particle Brownian motion force.
BrownianMotionForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict)
Construct from mesh.
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.
Abstract base class for particle forces.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Standard normal distribution. Not selectable.
virtual scalar sample() const
Sample the distribution.
Helper container for force Su and Sp terms.
const vector & Su() const
Return const access to the explicit contribution [kg m/s^2].
Mesh data needed to do the Finite Volume discretisation.
scalar scalar01()
Return a scalar uniformly distributed between zero and one.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
Template functions to aid in the implementation of demand driven data.
Fundamental dimensioned constants.
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
const scalar twoPi(2 *pi)
dimensionedScalar exp(const dimensionedScalar &ds)
dimensionedScalar sin(const dimensionedScalar &ds)
void mag(LagrangianPatchField< scalar > &f, const LagrangianPatchField< Type > &f1)
void pow5(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
void sqr(LagrangianPatchField< typename outerProduct< Type, Type >::type > &f, const LagrangianPatchField< Type > &f1)
void sqrt(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
dimensionedScalar cos(const dimensionedScalar &ds)
scalarField Re(const UList< complex > &cf)
randomGenerator rndGen(653213)