39#ifndef Foam_functionObjects_streamLineBase_H
40#define Foam_functionObjects_streamLineBase_H
60namespace functionObjects
201 virtual void track() = 0;
209 const word& newUName,
254 virtual bool write();
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
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.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A bounding box defined in terms of min/max extrema points.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const word & name() const noexcept
Return the name of this functionObject.
Specialization of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
autoPtr< sampledSet > sampledSetPtr_
Seed set engine.
word cloudName_
Optional specified name of particles.
const sampledSet & sampledSetPoints() const
Demand driven construction of the sampledSet.
TypeName("streamLineBase")
Runtime type information.
virtual ~streamLineBase()
Destructor.
word UName_
Field to transport particle with.
word sampledSetAxis_
Axis of the sampled points to output.
boundBox bounds_
Optional trimming of tracks.
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.
autoPtr< indirectPrimitivePatch > wallPatch() const
Construct patch out of all wall patch faces.
List< DynamicList< scalarList > > allScalars_
Per scalarField, per track, the sampled values.
const word & sampledSetAxis() const
The axis of the sampledSet. Creates sampledSet if required.
trackDirType trackDir_
Whether to use +u or -u or both.
dictionary dict_
Input dictionary.
word seedSet_
Type of seed.
scalar trackLength_
Track length.
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.
virtual void resetFieldNames(const word &newUName, const wordList &newFieldNames)
Reset the field names.
wordList fields_
List of fields to sample.
autoPtr< coordSetWriter > trackWriterPtr_
File writer for tracks data.
trackDirType
Enumeration defining the track direction.
List< DynamicList< vectorList > > allVectors_
Per vectorField, per track, the sampled values.
static const Enum< trackDirType > trackDirTypeNames
Names for the trackDir.
virtual bool writeToFile()
Write tracks to file.
virtual void movePoints(const polyMesh &)
Update for mesh point-motion.
wordList scalarNames_
Names of scalar fields.
word interpolationScheme_
Interpolation scheme to use.
wordList vectorNames_
Names of vector fields.
virtual void updateMesh(const mapPolyMesh &)
Update for changes of mesh.
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 track()=0
Do the actual tracking to fill the track data.
virtual bool execute()
Execute the averaging.
virtual bool write()
Track and write.
DynamicList< List< point > > allTracks_
All tracks. Per track the points it passed through.
virtual bool read(const dictionary &)
Read the field average data.
Abstract base class for volume field interpolation.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Mesh consisting of general polyhedral cells.
Holds list of sampling points which is filled at construction time. Various implementations of this b...
Standard boundBox with extra functionality for use in octree.
A class for handling words, derived from Foam::string.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.