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