39 #ifndef Foam_trackedParticle_H 40 #define Foam_trackedParticle_H 52 class trackedParticleCloud;
53 class trackedParticle;
55 Ostream&
operator<<(Ostream&,
const trackedParticle&);
134 const label tetFacei,
163 bool newFormat =
true 184 autoPtr<trackedParticle>
operator()(Istream& is)
const
void hitWallPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a wallPatch.
label k() const noexcept
Transported label.
const barycentric & coordinates() const noexcept
Return current particle coordinates.
void hitCyclicAMIPatch(Cloud< trackedParticle > &, trackingData &, const vector &)
Overridable function to handle the particle hitting a cyclicAMI.
bool hitPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a patch.
void hitCyclicACMIPatch(Cloud< trackedParticle > &, trackingData &, const vector &)
Overridable function to handle the particle hitting a cyclicACMI.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
point & start() noexcept
Point to track from.
bool move(Cloud< trackedParticle > &, trackingData &, const scalar)
Track all particles to their end point.
trackedParticle(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPtI, const point &end, const label level, const label i, const label j, const label k)
Construct from components.
Particle class that marks cells it passes through. Used to mark cells visited by feature edges...
void hitSymmetryPlanePatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a.
List< bitSet > & featureEdgeVisited_
A cloud is a registry collection of lagrangian particles.
autoPtr< trackedParticle > operator()(Istream &is) const
void hitWedgePatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a wedge.
label j() const noexcept
Transported label.
Base cloud calls templated on particle type.
point & end() noexcept
Point to track to.
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...
void correctAfterParallelTransfer(const label, trackingData &)
Convert processor patch addressing to the global equivalents.
trackingData(Cloud< trackedParticle > &cloud, labelList &maxLevel, List< bitSet > &featureEdgeVisited)
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
Class used to pass tracking data to the trackToFace function.
static const std::size_t sizeofFields_
Size in bytes of the fields.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
const polyMesh & mesh() const noexcept
Return the mesh database.
void hitSymmetryPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a.
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.
void hitProcessorPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a processorPatch.
void hitCyclicPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a cyclic.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
label i() const noexcept
Transported label.
Mesh consisting of general polyhedral cells.
static autoPtr< T > New(Args &&... args)
Construct autoPtr with forwarding arguments.
friend Ostream & operator<<(Ostream &, const trackedParticle &)
vector position() const
Return current particle position.
virtual autoPtr< particle > clone() const
Return a clone.
iNew(const polyMesh &mesh)