59 new streamLineParticle
63 seedPoints.
cells()[seedi],
74 new streamLineParticle
78 seedPoints.
cells()[seedi],
86 label nSeeds =
returnReduce(particles.size(), sumOp<label>());
88 Log <<
" seeded " << nSeeds <<
" particles" <<
endl;
92 PtrList<interpolation<scalar>> vsInterp;
93 PtrList<interpolation<vector>> vvInterp;
95 refPtr<interpolation<vector>> UInterp
101 streamLineParticle::trackingData
td
121 particles.move(particles,
td, trackTime);
146 bool subCycling =
dict.found(
"nSubCycle");
147 bool fixedLength =
dict.found(
"trackLength");
149 if (subCycling && fixedLength)
152 <<
"Cannot both specify automatic time stepping (through '"
153 <<
"nSubCycle' specification) and fixed track length (through '"
159 if (
dict.readIfPresent(
"nSubCycle", nSubCycle_))
161 trackLength_ = VGREAT;
162 nSubCycle_ =
max(nSubCycle_, 1);
164 Info<<
" automatic track length specified through"
165 <<
" 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.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
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.
streamLineBase(const word &name, const Time &runTime, const dictionary &dict)
Construct for given objectRegistry and dictionary.
label lifeTime_
Maximum lifetime (= number of cells) of particle.
List< DynamicList< scalarList > > allScalars_
Per scalarField, per track, the sampled values.
trackDirType trackDir_
Whether to use +U, -U or both.
dictionary dict_
Input dictionary.
scalar trackLength_
Track length.
virtual bool read(const dictionary &dict)
Read the field average data.
refPtr< interpolation< vector > > initInterpolations(const label nSeeds, PtrList< interpolation< scalar > > &vsInterp, PtrList< interpolation< vector > > &vvInterp)
Initialise interpolators and track storage.
@ FORWARD
Use "forward" tracking.
@ BIDIRECTIONAL
Use "bidirectional" tracking.
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 bool read(const dictionary &dict)
Read the function-object dictionary.
streamLine(const word &name, const Time &runTime, const dictionary &dict)
Construct from name, Time and dictionary.
virtual void track()
Do the actual tracking to fill the track data.
const cellList & cells() const
A class for managing references or pointers (no reference counting).
const T & cref() const
Return const reference to the object or to the contents of a (non-null) managed pointer.
Holds list of sampling points which is filled at construction time. Various implementations of this b...
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.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
Function objects are OpenFOAM utilities to ease workflow configurations and enhance workflows.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
bool read(const char *buf, int32_t &val)
Same as readInt32.
messageStream Info
Information stream (stdout output on master, null elsewhere).
T returnReduce(const T &value, BinaryOp bop, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm)
Perform reduction on a copy, using specified binary operation.
Ostream & endl(Ostream &os)
Add newline and flush stream.
dimensionedScalar sqrt(const dimensionedScalar &ds)
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
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.