34template<
class CloudType>
45 this->
coeffDict().template getOrDefault<
word>(
"alpha",
"alpha")
48 gradAlphaPtr_(nullptr),
49 threshold_(this->
coeffDict().getScalar(
"threshold"))
53template<
class CloudType>
60 alphaName_(pt.alphaName_),
61 alphaPtr_(pt.alphaPtr_),
62 gradAlphaPtr_(nullptr),
63 threshold_(pt.threshold_)
69template<
class CloudType>
72 const typename parcelType::trackingData&
td
75 if (alphaPtr_ ==
nullptr)
86 *gradAlphaPtr_ == fvc::grad(*alphaPtr_);
95template<
class CloudType>
98 const typename parcelType::trackingData&
td
101 gradAlphaPtr_.clear();
105template<
class CloudType>
111 const typename parcelType::trackingData&
td
114 if (alphaPtr_->primitiveField()[
p.cell()] < threshold_)
116 const vector& gradAlpha = gradAlphaPtr_()[
p.cell()];
118 scalar nHatU = nHat &
p.U();
122 p.U() -= 2*nHat*nHatU;
Templated cloud function object base class.
CloudFunctionObject(CloudType &owner)
Construct null from owner.
const CloudType & owner() const
Return const access to the owner cloud.
particle::trackingData trackingData
Traps particles within a given phase fraction for multi-phase cases.
ParticleTrap(const dictionary &dict, CloudType &owner, const word &modelName)
Construct from dictionary.
virtual void postEvolve(const typename parcelType::trackingData &td)
Post-evolve hook.
virtual void preEvolve(const typename parcelType::trackingData &td)
Pre-evolve hook.
virtual bool postMove(parcelType &p, const scalar dt, const point &position0, const typename parcelType::trackingData &td)
Post-move hook.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
const dictionary & coeffDict() const
Return const access to the coefficients dictionary.
const dictionary & dict() const
Return const access to the cloud dictionary.
const word & modelName() const
Return const access to the name of the sub-model.
A class for handling words, derived from Foam::string.
Calculate the gradient of the given field.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
DSMCCloud< dsmcParcel > CloudType
GeometricField< vector, fvPatchField, volMesh > volVectorField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const word GlobalIOList< Tuple2< scalar, vector > >::typeName("scalarVectorTable")
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
vector point
Point is a vector.