39 #ifndef Foam_functionObjects_streamLineBase_H 40 #define Foam_functionObjects_streamLineBase_H 60 namespace functionObjects
200 virtual void track() = 0;
208 const word& newUName,
253 virtual bool write();
word UName_
Field to transport particle with.
streamLineBase(const word &name, const Time &runTime, const dictionary &dict)
Construct for given objectRegistry and dictionary.
virtual void movePoints(const polyMesh &)
Update for mesh point-motion.
const sampledSet & sampledSetPoints() const
Demand driven construction of the sampledSet.
word sampledSetAxis_
Axis of the sampled points to output.
virtual bool writeToFile()
Write tracks to file.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
DynamicList< List< point > > allTracks_
All tracks. Per track the points it passed through.
scalar trackLength_
Track length.
trackDirType
Enumeration defining the track direction.
virtual void track()=0
Do the actual tracking to fill the track data.
A bounding box defined in terms of min/max extrema points.
wordList scalarNames_
Names of scalar fields.
wordList fields_
List of fields to sample.
refPtr< interpolation< vector > > initInterpolations(const label nSeeds, PtrList< interpolation< scalar >> &vsInterp, PtrList< interpolation< vector >> &vvInterp)
Initialise interpolators and track storage.
virtual ~streamLineBase()
Destructor.
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 managing references or pointers (no reference counting)
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const word & name() const noexcept
Return the name of this functionObject.
wordList vectorNames_
Names of vector fields.
List< DynamicList< vectorList > > allVectors_
Per vectorField, per track, the sampled values.
boundBox bounds_
Optional trimming of tracks.
trackDirType trackDir_
Whether to use +U, -U or both.
virtual bool write()
Track and write.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
Holds list of sampling points which is filled at construction time. Various implementations of this b...
virtual bool read(const dictionary &)
Read the field average data.
A class for handling words, derived from Foam::string.
autoPtr< coordSetWriter > trackWriterPtr_
File writer for tracks data.
void storePoint(const label tracki, const scalar w, const label lefti, const label righti, DynamicList< point > &newTrack, DynamicList< List< scalar >> &newScalars, DynamicList< List< vector >> &newVectors) const
Generate point and values by interpolating from existing values.
word cloudName_
Optional specified name of particles.
static const Enum< trackDirType > trackDirTypeNames
Names for the trackDir.
dictionary dict_
Input dictionary.
void trimToBox(const treeBoundBox &bb, const label tracki, PtrList< DynamicList< point >> &newTracks, PtrList< DynamicList< scalarList >> &newScalars, PtrList< DynamicList< vectorList >> &newVectors) const
Trim and possibly split a track.
virtual void updateMesh(const mapPolyMesh &)
Update for changes of mesh.
word seedSet_
Type of seed.
virtual bool execute()
Execute the averaging.
word interpolationScheme_
Interpolation scheme to use.
label lifeTime_
Maximum lifetime (= number of cells) of particle.
TypeName("streamLineBase")
Runtime type information.
autoPtr< sampledSet > sampledSetPtr_
Seed set engine.
virtual void resetFieldNames(const word &newUName, const wordList &newFieldNames)
Reset the field names.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
Standard boundBox with extra functionality for use in octree.
const word & sampledSetAxis() const
The axis of the sampledSet. Creates sampledSet if required.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
Specialization of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
autoPtr< indirectPrimitivePatch > wallPatch() const
Construct patch out of all wall patch faces.
Use "bidirectional" tracking.