Go to the documentation of this file.
36 #ifndef streamLineParticle_H
37 #define streamLineParticle_H
49 class streamLineParticleCloud;
91 const bool trackForward,
92 const label nSubCycle,
93 const scalar trackLength,
218 bool move(trackingData&,
const scalar trackTime);
228 const scalar trackFraction,
Class used to pass tracking data to the trackToFace function.
Wedge front and back plane patch.
Particle class that samples fields as it passes through. Used in streamline calculation.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
label lifeTime_
Lifetime of particle. Particle dies when reaches 0.
void constrainVelocity(trackingData &td, const scalar dt, vector &U)
Cloud< streamLineParticle > & cloud()
Return a reference to the cloud.
static void writeFields(const Cloud< streamLineParticle > &)
Write.
void hitSymmetryPatch(const symmetryPolyPatch &, trackingData &td)
Overridable function to handle the particle hitting a.
List< DynamicList< scalarList > > & allScalars_
This function object reads fields from the time directories and adds them to the mesh database for fu...
DynamicList< point > sampledPositions_
Sampled positions.
DynamicList< vectorList > & allPositions_
Mesh consisting of general polyhedral cells.
friend Ostream & operator<<(Ostream &, const streamLineParticle &)
const scalar trackLength_
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)....
A patch is a list of labels that address the faces in the global face list.
autoPtr< particle > clone() const
Construct and return a clone.
iNew(const polyMesh &mesh)
Symmetry patch for non-planar or multi-plane patches.
void hitWallPatch(const wallPolyPatch &, trackingData &td, const tetIndices &)
Overridable function to handle the particle hitting a wallPatch.
Neighbour processor patch.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
const polyMesh & mesh() const
Return the mesh database.
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< DynamicList< vectorList > > & allVectors_
const PtrList< interpolation< scalar > > & vsInterp_
Factory class to read-construct particles used for.
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A cloud is a collection of lagrangian particles.
trackingData(Cloud< streamLineParticle > &cloud, const PtrList< interpolation< scalar > > &vsInterp, const PtrList< interpolation< vector > > &vvInterp, const label UIndex, const bool trackForward, const label nSubCycle, const scalar trackLength, DynamicList< List< point > > &allPositions, List< DynamicList< scalarList > > &allScalars, List< DynamicList< vectorList > > &allVectors)
List< DynamicList< scalar > > sampledScalars_
Sampled scalars.
scalar calcSubCycleDeltaT(trackingData &td, const scalar dt, const vector &U) const
Estimate dt to cross from current face to next one in nSubCycle.
streamLineParticle(const polyMesh &c, const vector &position, const label cellI, const label lifeTime)
Construct from components.
autoPtr< streamLineParticle > operator()(Istream &is) const
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void hitProcessorPatch(const processorPolyPatch &, trackingData &td)
const PtrList< interpolation< vector > > & vvInterp_
const vector & position() const
Return current particle position.
const dimensionedScalar c
Speed of light in a vacuum.
void hitWedgePatch(const wedgePolyPatch &, trackingData &td)
Overridable function to handle the particle hitting a wedge.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
vector interpolateFields(const trackingData &, const point &, const label cellI, const label faceI)
Interpolate all quantities; return interpolated velocity.
List< DynamicList< vector > > sampledVectors_
Sampled vectors.
void hitCyclicPatch(const cyclicPolyPatch &, trackingData &td)
Overridable function to handle the particle hitting a cyclic.
bool move(trackingData &, const scalar trackTime)
Track all particles to their end point.
void hitSymmetryPlanePatch(const symmetryPlanePolyPatch &, trackingData &td)
Overridable function to handle the particle hitting a.
static void readFields(Cloud< streamLineParticle > &)
Read.