Go to the documentation of this file.
35 sizeof(trackedParticle) - offsetof(trackedParticle, start_)
78 start_(this->position()),
99 if (is.
format() == IOstream::ASCII)
101 is >> start_ >> end_ >> level_ >> i_ >> j_ >> k_;
108 readRawScalar(is, start_.data(), vector::nComponents);
109 readRawScalar(is, end_.data(), vector::nComponents);
121 reinterpret_cast<char*
>(&start_),
137 const scalar trackTime
142 scalar tEnd = (1.0 - stepFraction())*trackTime;
144 if (tEnd <= SMALL && onBoundaryFace())
162 const scalar
f = 1 - stepFraction();
163 const vector s = end_ - start_;
164 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_),
bool hitPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a patch.
Class used to pass tracking data to the trackToFace function.
static const std::size_t sizeofFields_
Size in bytes of the fields.
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.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))
streamFormat format() const noexcept
Get the current stream format.
virtual Ostream & write(const char c)
Write character.
Mesh consisting of general polyhedral cells.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
void hitSymmetryPlanePatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a.
std::enable_if< std::is_integral< T >::value, bool >::type checkLabelSize() const noexcept
virtual bool endRawRead()=0
End of low-level raw binary read.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
PtrList< coordinateSystem > coordinates(solidRegions.size())
void hitSymmetryPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a.
bool keepParticle
Flag to indicate whether to keep particle (false = delete)
bool switchProcessor
Flag to switch processor.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
std::enable_if< std::is_floating_point< T >::value, bool >::type checkScalarSize() const noexcept
virtual bool check(const char *operation) const
Check IOstream status for given operation.
void correctAfterParallelTransfer(const label patchi, trackingData &td)
Convert processor patch addressing to the global equivalents.
void hitWedgePatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a wedge.
OBJstream os(runTime.globalPath()/outputName)
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const wordHashSet &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type.
void hitWallPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a wallPatch.
A cloud is a registry collection of lagrangian particles.
virtual bool beginRawRead()=0
Start of low-level raw binary read.
void hitCyclicPatch(Cloud< trackedParticle > &, trackingData &)
Overridable function to handle the particle hitting a cyclic.
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.
void hitCyclicAMIPatch(Cloud< trackedParticle > &, trackingData &, const vector &)
Overridable function to handle the particle hitting a cyclicAMI.
Base cloud calls templated on particle type.
label k
Boltzmann constant.
void hitProcessorPatch(Cloud< trackedParticle > &, trackingData &)
label readRawLabel(Istream &is)
Read raw label from binary stream.
Particle class that marks cells it passes through. Used to mark cells visited by feature edges.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
void hitCyclicACMIPatch(Cloud< trackedParticle > &, trackingData &, const vector &)
Overridable function to handle the particle hitting a cyclicACMI.
A cell is defined as a list of faces with extra functionality.
List< bitSet > & featureEdgeVisited_
bool move(Cloud< trackedParticle > &, trackingData &, const scalar)
Track all particles to their end point.
void correctAfterParallelTransfer(const label, trackingData &)
Convert processor patch addressing to the global equivalents.
virtual Istream & read(token &)=0
Return next token from stream.