39 #ifndef Foam_wallBoundedStreamLineParticle_H 40 #define Foam_wallBoundedStreamLineParticle_H 53 class wallBoundedStreamLineParticle;
54 class wallBoundedStreamLineParticleCloud;
56 Ostream&
operator<<(Ostream&,
const wallBoundedStreamLineParticle&);
90 template<
class TrackCloudType>
93 TrackCloudType&
cloud,
97 const scalar trackLength,
163 const label tetFacei,
167 const bool trackForward,
177 bool newFormat =
true 219 template<
class TrackCloudType>
222 TrackCloudType&
cloud,
224 const scalar trackTime
wallBoundedStreamLineParticle(const polyMesh &c, const point &position, const label celli, const label tetFacei, const label tetPti, const label meshEdgeStart, const label diagEdge, const bool trackForward, const label lifeTime)
Construct from components.
Class used to pass tracking data to the trackToFace function.
virtual ~trackingData()=default
List< DynamicList< vectorList > > & allVectors_
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
static void writeFields(const Cloud< wallBoundedStreamLineParticle > &)
Write.
label diagEdge() const noexcept
The diagonal edge label or -1.
const PtrList< interpolation< vector > > & vvInterp_
label lifeTime_
Lifetime of particle. Particle dies when reaches 0.
List< DynamicList< scalar > > sampledScalars_
Sampled scalars.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
iNew(const polyMesh &mesh)
bool trackForward_
Track with +U or -U.
A cloud is a registry collection of lagrangian particles.
bool move(TrackCloudType &cloud, trackingData &td, const scalar trackTime)
Track all particles to their end point.
DynamicList< vectorList > & allPositions_
const scalar trackLength_
Particle class that tracks on triangles of boundary faces. Use trackToEdge similar to trackToFace on ...
static autoPtr< particle > Clone(const Derived &p)
Clone a particle.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
const PtrList< interpolation< scalar > > & vsInterp_
vector sample(trackingData &td)
DynamicList< point > sampledPositions_
Sampled positions.
autoPtr< particle > clone() const
Return a clone.
static void readFields(Cloud< wallBoundedStreamLineParticle > &)
Read.
trackingData(TrackCloudType &cloud, const PtrList< interpolation< scalar >> &vsInterp, const PtrList< interpolation< vector >> &vvInterp, const interpolation< vector > &UInterp, const scalar trackLength, const bitSet &isWallPatch, DynamicList< List< point >> &allPositions, List< DynamicList< scalarList >> &allScalars, List< DynamicList< vectorList >> &allVectors)
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
const polyMesh & mesh() const noexcept
Return the mesh database.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
const dimensionedScalar c
Speed of light in a vacuum.
label meshEdgeStart() const noexcept
The mesh edge label or -1.
Abstract base class for volume field interpolation.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
Class used to pass tracking data to the trackToEdge function.
Particle class that samples fields as it passes through. Used in streamline calculation.
List< DynamicList< vector > > sampledVectors_
Sampled vectors.
vector interpolateFields(const trackingData &td, const point &position, const label celli, const label facei)
vector position() const
Return current particle position.
const interpolation< vector > & UInterp_
List< DynamicList< scalarList > > & allScalars_