Go to the documentation of this file.
37 #ifndef wallBoundedParticle_H
38 #define wallBoundedParticle_H
66 template<
class CloudType>
134 template<
class TrackData>
139 template<
class TrackData>
145 const scalar trackFraction,
150 template<
class TrackData>
159 template<
class TrackData>
168 template<
class TrackData>
176 template<
class TrackData>
185 template<
class TrackData>
193 template<
class TrackData>
202 template<
class TrackData>
219 const label tetFaceI,
288 template<
class TrackData>
309 template<
class CloudType>
313 template<
class CloudType>
static const std::size_t sizeofFields_
Size in bytes of the fields.
A helper class for outputting values to Ostream.
Wedge front and back plane patch.
static void writeFields(const CloudType &)
Write.
void patchInteraction(TrackData &td, const scalar trackFraction)
Do all patch interaction.
Factory class to read-construct particles used for.
void hitProcessorPatch(const processorPolyPatch &, TrackData &td)
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
wallBoundedParticle(const polyMesh &c, const vector &position, const label cellI, const label tetFaceI, const label tetPtI, const label meshEdgeStart, const label diagEdge)
Construct from components.
label meshEdgeStart_
Particle is on mesh edge:
void crossDiagonalEdge()
Cross diagonal edge into different triangle on same face,cell.
scalar trackToEdge(TrackData &td, const vector &endPosition)
Equivalent of trackToFace.
InfoProxy< wallBoundedParticle > info() const
Return info proxy.
This function object reads fields from the time directories and adds them to the mesh database for fu...
void hitWallPatch(const wallPolyPatch &, TrackData &td, const tetIndices &)
Overridable function to handle the particle hitting a wallPatch.
scalar trackFaceTri(const vector &endPosition, label &minEdgeI)
Track through single triangle.
Mesh consisting of general polyhedral cells.
Class used to pass tracking data to the trackToFace function.
void crossEdgeConnectedFace(const edge &meshEdge)
Cross mesh edge into different face on same cell.
label meshEdgeStart() const
-1 or label of mesh edge
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Particle class that tracks on triangles of boundary faces. Use trackToEdge similar to trackToFace on ...
A patch is a list of labels that address the faces in the global face list.
const PackedBoolList & isWallPatch_
Symmetry patch for non-planar or multi-plane patches.
void hitSymmetryPatch(const symmetryPolyPatch &, TrackData &td)
Overridable function to handle the particle hitting a.
Neighbour processor patch.
const polyMesh & mesh() const
Return the mesh database.
DSMCCloud< dsmcParcel > CloudType
iNew(const polyMesh &mesh)
Templated base class for dsmc cloud.
void hitWedgePatch(const wedgePolyPatch &, TrackData &td)
Overridable function to handle the particle hitting a wedge.
autoPtr< particle > clone() const
Construct and return a clone.
TrackingData(CloudType &cloud, const PackedBoolList &isWallPatch)
void hitSymmetryPlanePatch(const symmetryPlanePolyPatch &, TrackData &td)
Overridable function to handle the particle hitting a.
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A cloud is a collection of lagrangian particles.
bool hitPatch(const polyPatch &, TrackData &td, const label patchI, const scalar trackFraction, const tetIndices &tetIs)
Overridable function to handle the particle hitting a patch.
static void readFields(CloudType &)
Read.
const vector & position() const
Return current particle position.
void hitCyclicPatch(const cyclicPolyPatch &, TrackData &td)
Overridable function to handle the particle hitting a cyclic.
const dimensionedScalar c
Speed of light in a vacuum.
label diagEdge() const
-1 or diagonal edge
edge currentEdge() const
Construct current edge.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
bool isTriAlongTrack(const point &endPosition) const
Is current triangle in the track direction.
label diagEdge_
Particle is on diagonal edge: