38namespace functionObjects
68 seedPoints.
cells()[seedi],
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
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
void move(TrackCloudType &cloud, typename ParticleType::trackingData &td, const scalar trackTime)
Move the particles.
void addParticle(ParticleType *pPtr)
Transfer particle to cloud.
label size() const noexcept
The number of elements in table.
Template class for intrusive linked lists.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
virtual bool read()
Re-read model coefficients if they have changed.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Abstract base-class for Time/database function objects.
const fvMesh & mesh_
Reference to the fvMesh.
word cloudName_
Optional specified name of particles.
const sampledSet & sampledSetPoints() const
Demand driven construction of the sampledSet.
label lifeTime_
Maximum lifetime (= number of cells) of particle.
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.
List< DynamicList< scalarList > > allScalars_
Per scalarField, per track, the sampled values.
trackDirType trackDir_
Whether to use +u or -u or both.
dictionary dict_
Input dictionary.
scalar trackLength_
Track length.
List< DynamicList< vectorList > > allVectors_
Per vectorField, per track, the sampled values.
DynamicList< List< point > > allTracks_
All tracks. Per track the points it passed through.
Generates streamline data by sampling a set of user-specified fields along a particle track,...
virtual void track()
Do the actual tracking to fill the track data.
virtual bool read(const dictionary &)
Read settings.
Holds list of sampling points which is filled at construction time. Various implementations of this b...
const labelList & cells() const noexcept
A Cloud of streamLine particles.
Particle class that samples fields as it passes through. Used in streamline calculation.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
messageStream Info
Information stream (stdout output on master, null elsewhere)
Ostream & endl(Ostream &os)
Add newline and flush stream.
dimensionedScalar sqrt(const dimensionedScalar &ds)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
T returnReduce(const T &value, const BinaryOp &bop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
Reduce (copy) and return value.
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.