37 template<
class CloudType>
46 this->owner().
name() +
":collisionDensity",
61 this->owner().
name() +
":collisionDensityRate",
68 (collisionDensity_ - collisionDensity0_)
69 /(this->owner().
mesh().time().value() - time0_)
73 collisionDensity0_ == collisionDensity_;
74 time0_ = this->owner().mesh().time().value();
80 template<
class CloudType>
89 minSpeed_(
dict.getOrDefault<scalar>(
"minSpeed", -1)),
102 time0_(this->owner().
mesh().time().value())
104 collisionDensity_ == 0;
105 collisionDensity0_ == 0;
109 this->
owner().
name() +
":collisionDensity",
125 template<
class CloudType>
128 const PatchCollisionDensity<CloudType>& ppm
132 minSpeed_(ppm.minSpeed_),
133 collisionDensity_(ppm.collisionDensity_),
134 collisionDensity0_(ppm.collisionDensity0_),
141 template<
class CloudType>
146 const typename parcelType::trackingData& td
149 const label patchi =
pp.index();
150 const label patchFacei =
p.face() -
pp.start();
153 this->owner().patchData(
p,
pp, nw, Up);
155 const scalar speed = (
p.U() - Up) & nw;
156 if (speed > minSpeed_)
158 collisionDensity_[patchi][patchFacei] +=
DSMCCloud< dsmcParcel > CloudType
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Template invariant parts for fvPatchField.
virtual bool postPatch(const parcelType &p, const polyPatch &pp, const typename parcelType::trackingData &td)
Post-patch hook.
Operations on lists of strings.
Ignore writing from objectRegistry::writeObject()
const dimensionSet dimless
Dimensionless.
void write()
Write post-processing info.
Various functions to operate on Lists.
const CloudType & owner() const
Return const access to the owner cloud.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const word calculatedType
A calculated patch field type.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
A class for handling words, derived from Foam::string.
virtual bool write(const bool writeOnProc=true) const
Write using setting from DB.
bool typeHeaderOk(const bool checkType=true, const bool search=true, const bool verbose=true)
Read header (respects is_globalIOobject trait) and check its info.
const surfaceScalarField & magSf() const
Return cell face area magnitudes.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
const fvMesh & mesh() const
Return reference to the mesh.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
PatchCollisionDensity(const dictionary &dict, CloudType &owner, const word &modelName)
Construct from dictionary.
A patch is a list of labels that address the faces in the global face list.
Defines the attributes of an object for which implicit objectRegistry management is supported...
Templated base class for dsmc cloud.
Templated cloud function object base class.
const Boundary & boundaryField() const noexcept
Return const-reference to the boundary field.
const dimensionSet dimArea(sqr(dimLength))
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
static constexpr const zero Zero
Global zero (0)