39#ifndef wallBoundedStreamLineParticle_H
40#define wallBoundedStreamLineParticle_H
53class wallBoundedStreamLineParticleCloud;
58class wallBoundedStreamLineParticle;
60Ostream&
operator<<(Ostream&,
const wallBoundedStreamLineParticle&);
95 template <
class TrackCloudType>
98 TrackCloudType&
cloud,
102 const scalar trackLength,
103 const bitSet& isWallPatch,
172 const label tetFacei,
176 const bool trackForward,
186 bool newFormat =
true
229 template<
class TrackCloudType>
232 TrackCloudType&
cloud,
234 const scalar trackTime
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.
Minimal example by using system/controlDict.functions:
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 bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
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.
Class used to pass tracking data to the trackToFace function.
Particle class that tracks on triangles of boundary faces. Use trackToEdge similar to trackToFace on ...
label meshEdgeStart() const
-1 or label of mesh edge
label diagEdge() const
-1 or diagonal edge
Factory class to read-construct particles used for.
iNew(const polyMesh &mesh)
Class used to pass tracking data to the trackToEdge function.
trackingData(TrackCloudType &cloud, const PtrList< interpolation< scalar > > &vsInterp, const PtrList< interpolation< vector > > &vvInterp, const label UIndex, const scalar trackLength, const bitSet &isWallPatch, DynamicList< List< point > > &allPositions, List< DynamicList< scalarList > > &allScalars, List< DynamicList< vectorList > > &allVectors)
const PtrList< interpolation< vector > > & vvInterp_
virtual ~trackingData()=default
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.
vector interpolateFields(const trackingData &td, const point &position, const label celli, const label facei)
autoPtr< particle > clone() const
Construct and return a clone.
static void writeFields(const Cloud< wallBoundedStreamLineParticle > &)
Write.
label lifeTime_
Lifetime of particle. Particle dies when reaches 0.
DynamicList< point > sampledPositions_
Sampled positions.
bool trackForward_
Track with +U or -U.
List< DynamicList< vector > > sampledVectors_
Sampled vectors.
bool move(TrackCloudType &cloud, trackingData &td, const scalar trackTime)
Track all particles to their end point.
List< DynamicList< scalar > > sampledScalars_
Sampled scalars.
static void readFields(Cloud< wallBoundedStreamLineParticle > &)
Read.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)