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
125 scalar tEnd = (1.0 - stepFraction())*trackTime;
127 if (tEnd <= small && onBoundaryFace())
145 const scalar
f = 1 - stepFraction();
146 const vector s = end_ - start_;
147 trackToAndHitFace(f*s, f, cloud, td);
229 const label feati =
i(), edgei =
k();
243 os << static_cast<const particle&>(
p)
253 os << static_cast<const particle&>(
p);
256 reinterpret_cast<const char*>(&p.start_),
257 sizeof(p.start_) +
sizeof(p.end_) +
sizeof(p.level_)
258 +
sizeof(p.i_) +
sizeof(p.j_) +
sizeof(p.k_)
263 os.
check(
"Ostream& operator<<(Ostream&, const trackedParticle&)");
void hitWallPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a wallPatch.
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
virtual Ostream & write(const char)=0
Write character.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
void correctAfterParallelTransfer(trackingData &td)
Make changes following a parallel transfer. Runs either processor.
List< PackedBoolList > & featureEdgeVisited_
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.
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 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 correctAfterParallelTransfer(trackingData &)
Do corrections to the particle and tracking data following a.
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.
label i() const
Transported label.
Ostream & operator<<(Ostream &, const ensightPart &)
void hitCyclicPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a cyclic.
Mesh consisting of general polyhedral cells.
label sendToProc
Processor to send the particle to. -1 indicates that this.