36template<
class CloudType>
67 "collisionDensityRate"
73 (collisionDensity_ - collisionDensity0_)
74 /(this->
owner().
mesh().time().value() - time0_)
78 collisionDensity0_ == collisionDensity_;
79 time0_ = this->
owner().mesh().time().value();
85template<
class CloudType>
94 minSpeed_(
dict.getOrDefault<scalar>(
"minSpeed", -1)),
107 time0_(this->owner().
mesh().time().value())
109 collisionDensity_ == 0;
110 collisionDensity0_ == 0;
130template<
class CloudType>
133 const PatchCollisionDensity<CloudType>& ppm
137 minSpeed_(ppm.minSpeed_),
138 collisionDensity_(ppm.collisionDensity_),
139 collisionDensity0_(ppm.collisionDensity0_),
146template<
class CloudType>
151 const typename parcelType::trackingData&
td
154 const label patchi =
pp.index();
155 const label patchFacei =
p.face() -
pp.start();
158 this->owner().patchData(
p,
pp, nw, Up);
160 const scalar speed = (
p.U() - Up) & nw;
161 if (speed > minSpeed_)
163 collisionDensity_[patchi][patchFacei] +=
Various functions to operate on Lists.
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
Templated cloud function object base class.
CloudFunctionObject(CloudType &owner)
Construct null from owner.
const CloudType & owner() const
Return const access to the owner cloud.
const fvMesh & mesh() const
Return reference to the mesh.
const Boundary & boundaryField() const noexcept
Return const-reference to the boundary field.
@ MUST_READ
Reading required.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
static word scopedName(const std::string &scope, const word &name)
Create scope:name or scope_name string.
PatchCollisionDensity(const dictionary &dict, CloudType &owner, const word &modelName)
Construct from dictionary.
void write()
Write post-processing info.
virtual bool postPatch(const parcelType &p, const polyPatch &pp, const typename parcelType::trackingData &td)
Post-patch hook.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const surfaceScalarField & magSf() const
Return cell face area magnitudes.
Template invariant parts for fvPatchField.
A patch is a list of labels that address the faces in the global face list.
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.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
DSMCCloud< dsmcParcel > CloudType
const dimensionSet dimless
Dimensionless.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const dimensionSet dimArea(sqr(dimLength))
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
const word GlobalIOList< Tuple2< scalar, vector > >::typeName("scalarVectorTable")
static constexpr const zero Zero
Global zero (0).