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.
Template function which returns the un-mangled name of a given type. Useful for types which do not ha...
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)
const unitSet & lookup(const word &unitName)
Lookup and return the named unit from the table.
dimensionedScalar exp(const dimensionedScalar &ds)
dimensionedScalar sin(const dimensionedScalar &ds)
tmp< DimensionedField< typename outerProduct< Type, Type >::type, GeoMesh, Field >> sqr(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
void pow5(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
tmp< DimensionedField< scalar, GeoMesh, Field > > mag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
void sqrt(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
dimensionedScalar cos(const dimensionedScalar &ds)
scalarField Re(const UList< complex > &cf)
randomGenerator rndGen(653213)