Go to the documentation of this file.
65 if (is.
format() == IOstream::ASCII)
77 reinterpret_cast<char*
>(&end_),
78 sizeof(end_) +
sizeof(level_)
79 +
sizeof(i_) +
sizeof(j_) +
sizeof(k_)
87 "trackedParticle::trackedParticle"
88 "(const Cloud<trackedParticle>&, Istream&, bool)"
98 const scalar trackTime
103 scalar tEnd = (1.0 - stepFraction())*trackTime;
106 if (tEnd <= SMALL && onBoundary())
122 scalar dt =
min(dtMax, tEnd);
127 dt *= trackToFace(end_, td);
130 stepFraction() = 1.0 - tEnd/trackTime;
143 const scalar trackFraction,
235 particle::correctAfterParallelTransfer(patchI, td);
253 if (os.
format() == IOstream::ASCII)
255 os << static_cast<const particle&>(
p)
256 << token::SPACE <<
p.end_
257 << token::SPACE <<
p.level_
258 << token::SPACE <<
p.i_
259 << token::SPACE <<
p.j_
260 << token::SPACE <<
p.k_;
264 os << static_cast<const particle&>(
p);
267 reinterpret_cast<const char*
>(&
p.end_),
268 sizeof(
p.end_) +
sizeof(
p.level_)
269 +
sizeof(
p.i_) +
sizeof(
p.j_) +
sizeof(
p.k_)
274 os.
check(
"Ostream& operator<<(Ostream&, const trackedParticle&)");
void hitProcessorPatch(const processorPolyPatch &, trackingData &td)
Class used to pass tracking data to the trackToFace function.
streamFormat format() const
Return current stream format.
bool hitPatch(const polyPatch &, trackingData &td, const label patchI, const scalar trackFraction, const tetIndices &tetIs)
Overridable function to handle the particle hitting a patch.
List< PackedBoolList > & featureEdgeVisited_
Wedge front and back plane patch.
bool keepParticle
Flag to indicate whether to keep particle (false = delete)
bool move(trackingData &, const scalar)
Track all particles to their end point.
This function object reads fields from the time directories and adds them to the mesh database for fu...
Mesh consisting of general polyhedral cells.
void hitSymmetryPatch(const symmetryPolyPatch &, trackingData &td)
Overridable function to handle the particle hitting a.
void hitCyclicPatch(const cyclicPolyPatch &, trackingData &td)
Overridable function to handle the particle hitting a cyclic.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
virtual Ostream & write(const token &)=0
Write next token to stream.
A patch is a list of labels that address the faces in the global face list.
Symmetry patch for non-planar or multi-plane patches.
Neighbour processor patch.
Ostream & operator<<(Ostream &, const edgeMesh &)
virtual bool check(const char *operation) const
Check IOstream status for given operation.
trackedParticle(const polyMesh &mesh, const vector &position, 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.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
bool switchProcessor
Flag to switch processor.
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
label k
Boltzmann constant.
void hitWallPatch(const wallPolyPatch &, trackingData &td, const tetIndices &)
Overridable function to handle the particle hitting a wallPatch.
label readLabel(Istream &is)
void hitWedgePatch(const wedgePolyPatch &, trackingData &td)
Overridable function to handle the particle hitting a wedge.
Particle class that marks cells it passes through. Used to mark cells visited by feature edges.
void hitSymmetryPlanePatch(const symmetryPlanePolyPatch &, trackingData &td)
Overridable function to handle the particle hitting a.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
A cell is defined as a list of faces with extra functionality.
void correctAfterParallelTransfer(const label, trackingData &)
Convert processor patch addressing to the global equivalents.
virtual Istream & read(token &)=0
Return next token from stream.