38 #ifndef Foam_findCellParticle_H 39 #define Foam_findCellParticle_H 50 class findCellParticleCloud;
51 class findCellParticle;
53 Ostream&
operator<<(Ostream&,
const findCellParticle&);
121 const label tetFacei,
144 bool newFormat =
true label data() const noexcept
Transported label.
friend Ostream & operator<<(Ostream &, const findCellParticle &)
void hitCyclicAMIPatch(Cloud< findCellParticle > &, trackingData &, const vector &)
Overridable function to handle the particle hitting a cyclicAMI.
bool move(Cloud< findCellParticle > &, trackingData &, const scalar)
Track all particles to their end point.
const barycentric & coordinates() const noexcept
Return current particle coordinates.
iNew(const polyMesh &mesh)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
void hitCyclicPatch(Cloud< findCellParticle > &, trackingData &)
Overridable function to handle the particle hitting a cyclic.
void hitSymmetryPatch(Cloud< findCellParticle > &, trackingData &)
Overridable function to handle the particle hitting a.
void hitCyclicACMIPatch(Cloud< findCellParticle > &, trackingData &, const vector &)
Overridable function to handle the particle hitting a cyclicACMI.
void hitProcessorPatch(Cloud< findCellParticle > &, trackingData &)
Overridable function to handle the particle hitting a processorPatch.
void hitWedgePatch(Cloud< findCellParticle > &, trackingData &)
Overridable function to handle the particle hitting a wedge.
const point & start() const noexcept
Point to track from.
A cloud is a registry collection of lagrangian particles.
findCellParticle(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti, const point &end, const label data)
Construct from components.
Base cloud calls templated on particle type.
static autoPtr< particle > Clone(const Derived &p)
Clone a particle.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
List< List< point > > & cellToEnd() noexcept
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
bool hitPatch(Cloud< findCellParticle > &, trackingData &)
Overridable function to handle the particle hitting a patch.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
const polyMesh & mesh() const noexcept
Return the mesh database.
vector point
Point is a vector.
labelListList & cellToData() noexcept
A template class to specify that a data type can be considered as being contiguous in memory...
static void readFields(TrackCloudType &c)
Read the fields associated with the owner cloud.
Particle class that finds cells by tracking.
virtual autoPtr< particle > clone() const
Return a clone.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
void hitWallPatch(Cloud< findCellParticle > &, trackingData &)
Overridable function to handle the particle hitting a wallPatch.
Factory class to read-construct particles (for parallel transfer)
Class used to pass tracking data to the trackToFace function.
vector position() const
Return current particle position.
autoPtr< findCellParticle > operator()(Istream &is) const
trackingData(Cloud< findCellParticle > &cloud, labelListList &cellToData, List< List< point >> &cellToEnd)
const point & end() const noexcept
Point to track to.
void hitSymmetryPlanePatch(Cloud< findCellParticle > &, trackingData &)
Overridable function to handle the particle hitting a.