45 particle(mesh, coordinates, celli, tetFacei, tetPtI),
68 start_(this->position()),
88 if (is.
format() == IOstream::ASCII)
100 reinterpret_cast<char*>(&start_),
101 sizeof(start_) +
sizeof(end_) +
sizeof(level_)
102 +
sizeof(i_) +
sizeof(j_) +
sizeof(k_)
110 "trackedParticle::trackedParticle" 111 "(const Cloud<trackedParticle>&, Istream&, bool)" 122 const scalar trackTime
127 scalar tEnd = (1.0 - stepFraction())*trackTime;
129 if (tEnd <= small && onBoundaryFace())
147 const scalar
f = 1 - stepFraction();
148 const vector s = end_ - start_;
149 trackToAndHitFace(f*s, f, cloud, td);
294 os << static_cast<const particle&>(
p)
304 os << static_cast<const particle&>(
p);
307 reinterpret_cast<const char*>(&p.start_),
308 sizeof(p.start_) +
sizeof(p.end_) +
sizeof(p.level_)
309 +
sizeof(p.i_) +
sizeof(p.j_) +
sizeof(p.k_)
314 os.
check(
"Ostream& operator<<(Ostream&, const trackedParticle&)");
void hitWallPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a wallPatch.
void correctAfterParallelTransfer(const label patchi, trackingData &td)
Convert processor patch addressing to the global equivalents.
virtual Ostream & write(const char)=0
Write character.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
virtual bool check(const char *operation) const
Check IOstream status for given operation.
void hitCyclicRepeatAMIPatch(const vector &, const scalar, Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a.
List< PackedBoolList > & featureEdgeVisited_
bool hitPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a patch.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
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...
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
virtual Istream & read(token &)=0
Return next token from stream.
void hitSymmetryPlanePatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a.
bool switchProcessor
Flag to switch processor.
void hitWedgePatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a wedge.
label k() const
Transported label.
streamFormat format() const
Return current stream format.
label readLabel(Istream &is)
Base cloud calls templated on particle type.
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.
void hitCyclicAMIPatch(const vector &, const scalar, Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a cyclicAMI.
Class used to pass tracking data to the trackToFace function.
void hitSymmetryPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a.
bool keepParticle
Flag to indicate whether to keep particle (false = delete)
A cell is defined as a list of faces with extra functionality.
void hitProcessorPatch(Cloud< trackedParticle > &, trackingData &)
label i() const
Transported label.
Ostream & operator<<(Ostream &, const ensightPart &)
void hitCyclicPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a cyclic.
void hitCyclicACMIPatch(const vector &, const scalar, Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a cyclicACMI.
Mesh consisting of general polyhedral cells.