35 label& nLocateBoundaryHits,
36 const vector& displacement,
40 particle(mesh, position, celli, nLocateBoundaryHits),
41 displacement_(displacement),
61 reinterpret_cast<char*
>(&displacement_),
62 sizeof(displacement_) +
sizeof(data_)
70 "findCellParticle::findCellParticle"
71 "(const Cloud<findCellParticle>&, Istream&, bool)"
89 const scalar
f = 1 - stepFraction();
90 trackToAndHitFace(
f*displacement_,
f,
cloud, td);
189 os << static_cast<const particle&>(
p)
195 os << static_cast<const particle&>(
p);
198 reinterpret_cast<const char*
>(&
p.displacement_),
199 sizeof(
p.displacement_) +
sizeof(
p.data_)
204 os.
check(
"Ostream& operator<<(Ostream&, const findCellParticle&)");
Base cloud calls templated on particle type.
streamFormat format() const
Return current stream format.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
virtual Istream & read(token &)=0
Return next token from stream.
void append(const T &)
Append an element at the end of the list.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual Ostream & write(const char)=0
Write character.
A cell is defined as a list of faces with extra functionality.
A cloud is a collection of lagrangian particles.
Class used to pass tracking data to the trackToFace function.
labelListList & cellToData()
List< List< point > > & cellToEnd()
Particle class that finds cells by tracking.
void hitWallPatch(Cloud< findCellParticle > &, trackingData &)
Overridable function to handle the particle hitting a wallPatch.
findCellParticle(const polyMesh &mesh, const vector &position, const label celli, label &nLocateBoundaryHits, const vector &displacement, const label data)
Construct from a position and a cell, searching for the rest of the.
void hitProcessorPatch(Cloud< findCellParticle > &, trackingData &)
void hitSymmetryPatch(Cloud< findCellParticle > &, trackingData &)
Overridable function to handle the particle hitting a.
void hitSymmetryPlanePatch(Cloud< findCellParticle > &, trackingData &)
Overridable function to handle the particle hitting a.
void hitWedgePatch(Cloud< findCellParticle > &, trackingData &)
Overridable function to handle the particle hitting a wedge.
void hitCyclicPatch(Cloud< findCellParticle > &, trackingData &)
Overridable function to handle the particle hitting a cyclic.
bool move(Cloud< findCellParticle > &, trackingData &)
Track all particles to their end point.
label sendToProc
Processor to send the particle to. -1 indicates that this.
bool keepParticle
Flag to indicate whether to keep particle (false = delete)
const polyMesh & mesh
Reference to the mesh.
static void readFields(TrackCloudType &c)
Read the fields associated with the owner cloud.
void hitProcessorPatch(TrackCloudType &, trackingData &)
Overridable function to handle the particle hitting a.
Mesh consisting of general polyhedral cells.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
Neighbour processor patch.
virtual const transformer & transform() const
Return null transform between processor patches.
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 readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const HashSet< word > &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the specified type.
label readLabel(Istream &is)
Ostream & operator<<(Ostream &os, const fvConstraints &constraints)