32template<
class CloudType>
36 { resetMode::none,
"none" },
37 { resetMode::timeStep,
"timeStep" },
38 { resetMode::writeTime,
"writeTime" },
43template<
class CloudType>
47 const word& fieldName,
53 fieldPtr->primitiveFieldRef() = 0.0;
65 this->owner().
name() +
":" + this->modelName() +
":" + fieldName,
66 mesh.time().timeName(),
68 IOobject::READ_IF_PRESENT,
79template<
class CloudType>
82 clearOrReset(massPtr_,
"mass",
dimMass);
83 clearOrReset(countPtr_,
"count",
dimless);
87template<
class CloudType>
110 if (resetMode_ == resetMode::writeTime)
119template<
class CloudType>
124 const word& modelName
132 resetModeNames_.getOrDefault
144template<
class CloudType>
153 resetMode_(pii.resetMode_)
159template<
class CloudType>
165 if (resetMode_ == resetMode::timeStep)
172template<
class CloudType>
180 const label patchi = pp.
index();
183 massPtr_->boundaryFieldRef()[patchi][facei] +=
p.nParticle()*
p.mass();
Templated cloud function object base class.
Templated base class for dsmc cloud.
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
Boundary & boundaryFieldRef(const bool updateAccessTime=true)
Return a reference to the boundary field.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Creates volume fields whose boundaries are used to store patch interaction statistics.
virtual void postPatch(const parcelType &p, const polyPatch &pp, bool &keepParticle)
Post-patch hook.
void clearOrReset(autoPtr< volScalarField > &fieldPtr, const word &fieldName, const dimensionSet &dims) const
Helper function to clear or reset fields.
static const Enum< resetMode > resetModeNames_
virtual void write()
Write post-processing info.
virtual void preEvolve(const typename parcelType::trackingData &td)
Pre-evolve hook.
void reset()
Create|read|reset the fields.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
void reset(autoPtr< T > &&other) noexcept
Delete managed object and set to new given pointer.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
Class used to pass data into container.
Mesh data needed to do the Finite Volume discretisation.
label index() const noexcept
The index of this patch in the boundaryMesh.
A patch is a list of labels that address the faces in the global face list.
label whichFace(const label l) const
Return label of face in patch from global face label.
A class for handling words, derived from Foam::string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const dimensionSet dimless
Dimensionless.
errorManip< error > abort(error &err)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)