37 #ifndef wallBoundedParticle_H 38 #define wallBoundedParticle_H 51 class wallBoundedParticle;
53 Ostream&
operator<<(Ostream&,
const wallBoundedParticle&);
54 Ostream& operator<<(Ostream&, const InfoProxy<wallBoundedParticle>&);
68 static const std::size_t sizeofFields_;
74 template<
class CloudType>
96 isWallPatch_(isWallPatch)
151 template<
class TrackData>
156 template<
class TrackData>
162 const scalar trackFraction,
167 template<
class TrackData>
176 template<
class TrackData>
185 template<
class TrackData>
193 template<
class TrackData>
202 template<
class TrackData>
210 template<
class TrackData>
219 template<
class TrackData>
236 const label tetFacei,
305 template<
class TrackData>
326 template<
class CloudType>
330 template<
class CloudType>
342 friend Ostream&
operator<<
Symmetry patch for non-planar or multi-plane patches.
label meshEdgeStart_
Particle is on 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.
void hitSymmetryPatch(const symmetryPolyPatch &, TrackData &td)
Overridable function to handle the particle hitting a.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Factory class to read-construct particles used for.
bool hitPatch(const polyPatch &, TrackData &td, const label patchi, const scalar trackFraction, const tetIndices &tetIs)
Overridable function to handle the particle hitting a patch.
edge currentEdge() const
Construct current edge.
void hitWedgePatch(const wedgePolyPatch &, TrackData &td)
Overridable function to handle the particle hitting a wedge.
Neighbour processor patch.
void hitProcessorPatch(const processorPolyPatch &, TrackData &td)
const vector & position() const
Return current particle position.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
A cloud is a collection of lagrangian particles.
const polyMesh & mesh_
Reference to the polyMesh database.
Wedge front and back plane patch.
Storage and named access for the indices of a tet which is part of the decomposition of a cell...
label diagEdge_
Particle is on diagonal edge:
Particle class that tracks on triangles of boundary faces. Use trackToEdge similar to trackToFace on ...
bool isTriAlongTrack(const point &endPosition) const
Is current triangle in the track direction.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const PackedBoolList & isWallPatch_
static void readFields(CloudType &)
Read.
void crossDiagonalEdge()
Cross diagonal edge into different triangle on same face,cell.
void hitWallPatch(const wallPolyPatch &, TrackData &td, const tetIndices &)
Overridable function to handle the particle hitting a wallPatch.
label meshEdgeStart() const
-1 or label of mesh edge
static void writeFields(const CloudType &)
Write.
void hitCyclicPatch(const cyclicPolyPatch &, TrackData &td)
Overridable function to handle the particle hitting a cyclic.
void crossEdgeConnectedFace(const edge &meshEdge)
Check if inside current tet.
A helper class for outputting values to Ostream.
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.
scalar trackFaceTri(const vector &endPosition, label &minEdgeI)
Track through single triangle.
void patchInteraction(TrackData &td, const scalar trackFraction)
Do all patch interaction.
scalar trackToEdge(TrackData &td, const vector &endPosition)
Equivalent of trackToFace.
const dimensionedScalar c
Speed of light in a vacuum.
Ostream & operator<<(Ostream &, const ensightPart &)
autoPtr< particle > clone() const
Construct and return a clone.
const polyMesh & mesh() const
Return the mesh database.
TrackingData(CloudType &cloud, const PackedBoolList &isWallPatch)
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Mesh consisting of general polyhedral cells.
Class used to pass tracking data to the trackToFace function.
label diagEdge() const
-1 or diagonal edge
void hitSymmetryPlanePatch(const symmetryPlanePolyPatch &, TrackData &td)
Overridable function to handle the particle hitting a.
A patch is a list of labels that address the faces in the global face list.
InfoProxy< wallBoundedParticle > info() const
Return info proxy.
Templated base class for dsmc cloud.