Go to the documentation of this file.
38 namespace functionObjects
68 seedPoints.
cells()[seedi],
74 if (
trackDir_ == trackDirType::BIDIRECTIONAL)
83 seedPoints.
cells()[seedi],
93 Log <<
" seeded " << nSeeds <<
" particles" <<
endl;
134 particles.
move(particles, td, trackTime);
159 bool subCycling =
dict.found(
"nSubCycle");
160 bool fixedLength =
dict.found(
"trackLength");
162 if (subCycling && fixedLength)
165 <<
"Cannot both specify automatic time stepping (through '"
166 <<
"nSubCycle' specification) and fixed track length (through '"
172 if (
dict.readIfPresent(
"nSubCycle", nSubCycle_))
174 trackLength_ = VGREAT;
175 nSubCycle_ =
max(nSubCycle_, 1);
178 Info<<
" automatic track length specified through"
179 <<
" number of sub cycles : " << nSubCycle_ <<
nl
Holds list of sampling points which is filled at construction time. Various implementations of this b...
void addParticle(ParticleType *pPtr)
Transfer particle to cloud.
scalar trackLength_
Track length.
List< DynamicList< scalarList > > allScalars_
Per scalarField, per track, the sampled values.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A class for handling words, derived from Foam::string.
T returnReduce(const T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)
A Cloud of streamLine particles.
Particle class that samples fields as it passes through. Used in streamline calculation.
bool read(const char *buf, int32_t &val)
Same as readInt32.
const sampledSet & sampledSetPoints() const
Demand driven construction of the sampledSet.
const labelList & cells() const
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual bool read(const dictionary &)
Read the field average data.
#define forAll(list, i)
Loop across all elements in list.
messageStream Info
Information stream (stdout output on master, null elsewhere)
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
void initInterpolations(const label nSeeds, label &UIndex, PtrList< volScalarField > &vsFlds, PtrList< interpolation< scalar >> &vsInterp, PtrList< volVectorField > &vvFlds, PtrList< interpolation< vector >> &vvInterp)
Initialise fields, interpolators and track storage.
virtual void track()
Do the actual tracking to fill the track data.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
Template class for intrusive linked lists.
void move(TrackCloudType &cloud, typename ParticleType::trackingData &td, const scalar trackTime)
Move the particles.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
List< DynamicList< vectorList > > allVectors_
Per vectorField, per track, the sampled values.
streamLine(const word &name, const Time &runTime, const dictionary &dict)
Construct from Time and dictionary.
errorManipArg< error, int > exit(error &err, const int errNo=1)
trackDirType trackDir_
Whether to use +u or -u or both.
addToRunTimeSelectionTable(functionObject, ObukhovLength, dictionary)
word cloudName_
Optional specified name of particles.
dimensionedScalar sqrt(const dimensionedScalar &ds)
label lifeTime_
Maximum lifetime (= number of cells) of particle.
const fvMesh & mesh_
Reference to the fvMesh.
defineTypeNameAndDebug(ObukhovLength, 0)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
virtual bool read(const dictionary &)
Read settings.
DynamicList< List< point > > allTracks_
All tracks. Per track the points it passed through.