38#ifndef streamLineParticle_H
39#define streamLineParticle_H
53class streamLineParticle;
54class streamLineParticleCloud;
56Ostream&
operator<<(Ostream&,
const streamLineParticle&);
102 const label nSubCycle,
103 const scalar trackLength,
164 const bool trackForward,
174 bool newFormat =
true
Base cloud calls templated on particle type.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A cloud is a registry collection of lagrangian particles.
Abstract base class for volume field interpolation.
vector position() const
Return current particle position.
const polyMesh & mesh() const noexcept
Return the mesh database.
Mesh consisting of general polyhedral cells.
A Cloud of streamLine particles.
Factory class to read-construct particles used for parallel transfer.
iNew(const polyMesh &mesh)
autoPtr< streamLineParticle > operator()(Istream &is) const
const PtrList< interpolation< vector > > & vvInterp_
trackingData(streamLineParticleCloud &cloud, const PtrList< interpolation< scalar > > &vsInterp, const PtrList< interpolation< vector > > &vvInterp, const label UIndex, const label nSubCycle, const scalar trackLength, DynamicList< List< point > > &allPositions, List< DynamicList< scalarList > > &allScalars, List< DynamicList< vectorList > > &allVectors)
Construct from components.
DynamicList< vectorList > & allPositions_
const PtrList< interpolation< scalar > > & vsInterp_
const scalar trackLength_
List< DynamicList< vectorList > > & allVectors_
List< DynamicList< scalarList > > & allScalars_
Particle class that samples fields as it passes through. Used in streamline calculation.
static void writeFields(const Cloud< streamLineParticle > &)
Write.
autoPtr< particle > clone() const
Construct and return a clone.
void hitCyclicACMIPatch(streamLineParticleCloud &, trackingData &, const vector &direction)
Overridable function to handle the particle hitting a.
void hitSymmetryPatch(streamLineParticleCloud &, trackingData &)
Overridable function to handle the particle hitting a.
void hitSymmetryPlanePatch(streamLineParticleCloud &, trackingData &)
Overridable function to handle the particle hitting a.
void hitCyclicPatch(streamLineParticleCloud &, trackingData &)
Overridable function to handle the particle hitting a cyclic.
void hitCyclicAMIPatch(streamLineParticleCloud &, trackingData &, const vector &direction)
Overridable function to handle the particle hitting a.
static void readFields(Cloud< streamLineParticle > &)
Read.
void hitWedgePatch(streamLineParticleCloud &, trackingData &)
Overridable function to handle the particle hitting a wedge.
friend Ostream & operator<<(Ostream &, const streamLineParticle &)
void hitProcessorPatch(streamLineParticleCloud &, trackingData &)
bool move(streamLineParticleCloud &, trackingData &, const scalar)
Track all particles to their end point.
bool hitPatch(streamLineParticleCloud &, trackingData &)
Overridable function to handle the particle hitting a patch.
void hitWallPatch(streamLineParticleCloud &, trackingData &)
Overridable function to handle the particle hitting a wallPatch.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)