31 template<
class TrackCloudType>
34 TrackCloudType&
cloud,
36 const scalar trackTime
39 auto&
p =
static_cast<typename TrackCloudType::particleType&
>(*this);
44 td.switchProcessor =
false;
45 td.keepParticle =
true;
50 while (
td.keepParticle && !
td.switchProcessor &&
lifeTime_ > 0)
69 if (
td.trackLength_ < GREAT)
82 if (tEnd <= ROOTVSMALL)
96 Pout<<
"wallBoundedStreamLineParticle :" 97 <<
" Removing stagnant particle:" 102 td.keepParticle =
false;
111 Pout<<
"wallBoundedStreamLineParticle : Removing particle:" 133 return td.keepParticle;
void size(const label n)
Older name for setAddressableSize.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
Ostream & endl(Ostream &os)
Add newline and flush stream.
#define forAll(list, i)
Loop across all elements in list.
label lifeTime_
Lifetime of particle. Particle dies when reaches 0.
List< DynamicList< scalar > > sampledScalars_
Sampled scalars.
scalar trackToEdge(TrackCloudType &cloud, trackingData &td, const vector &endPosition)
Equivalent of trackToFace.
A cloud is a registry collection of lagrangian particles.
scalar mag() const
The magnitude/length of the bounding box diagonal.
bool move(TrackCloudType &cloud, trackingData &td, const scalar trackTime)
Track all particles to their end point.
point localPosition_
Particle position is updated locally as opposed to via track.
scalar stepFraction() const noexcept
Return the fraction of time-step completed.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
int debug
Static debugging option.
vector sample(trackingData &td)
DynamicList< point > sampledPositions_
Sampled positions.
const polyMesh & mesh() const noexcept
Return the mesh database.
const boundBox & bounds() const noexcept
Return mesh bounding box.
Class used to pass tracking data to the trackToEdge function.
List< DynamicList< vector > > sampledVectors_
Sampled vectors.
prefixOSstream Pout
OSstream wrapped stdout (std::cout) with parallel prefix.