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