Generates streamline data by sampling a set of user-specified fields along a particle track, transported by a user-specified velocity field, constrained to a patch. More...
Public Member Functions | |
TypeName ("wallBoundedStreamLine") | |
Runtime type information. More... | |
wallBoundedStreamLine (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
wallBoundedStreamLine (const word &name, const Time &runTime, const dictionary &dict, const wordList &fieldNames) | |
Construct from Time and dictionary and list of fields to sample. More... | |
wallBoundedStreamLine (const wallBoundedStreamLine &)=delete | |
No copy construct. More... | |
void | operator= (const wallBoundedStreamLine &)=delete |
No copy assignment. More... | |
virtual | ~wallBoundedStreamLine ()=default |
Destructor. More... | |
virtual bool | read (const dictionary &) |
Read settings. More... | |
virtual void | track () |
Do the actual tracking to fill the track data. More... | |
Public Member Functions inherited from streamLineBase | |
TypeName ("streamLineBase") | |
Runtime type information. More... | |
streamLineBase (const word &name, const Time &runTime, const dictionary &dict) | |
Construct for given objectRegistry and dictionary. More... | |
streamLineBase (const word &name, const Time &runTime, const dictionary &dict, const wordList &fieldNames) | |
Construct from Time and dictionary and list of fields to sample. More... | |
virtual | ~streamLineBase () |
Destructor. More... | |
virtual bool | read (const dictionary &) |
Read the field average data. More... | |
virtual bool | execute () |
Execute the averaging. More... | |
virtual bool | write () |
Track and write. More... | |
virtual void | updateMesh (const mapPolyMesh &) |
Update for changes of mesh. More... | |
virtual void | movePoints (const polyMesh &) |
Update for mesh point-motion. More... | |
Public Member Functions inherited from fvMeshFunctionObject | |
TypeName ("fvMeshFunctionObject") | |
Runtime type information. More... | |
fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
Construct from the region objectRegistry and dictionary. More... | |
virtual | ~fvMeshFunctionObject ()=default |
Destructor. More... | |
Public Member Functions inherited from regionFunctionObject | |
TypeName ("regionFunctionObject") | |
Runtime type information. More... | |
regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
Construct from the region objectRegistry and dictionary. More... | |
virtual | ~regionFunctionObject ()=default |
Destructor. More... | |
virtual bool | read (const dictionary &dict) |
Read optional controls. More... | |
template<class ObjectType > | |
const ObjectType * | lookupObjectPtr (const word &fieldName) const |
Deprecated(2018-10) More... | |
template<class ObjectType > | |
ObjectType * | lookupObjectRefPtr (const word &fieldName) const |
Deprecated(2018-10) More... | |
Public Member Functions inherited from stateFunctionObject | |
stateFunctionObject (const word &name, const Time &runTime) | |
Construct from components. More... | |
virtual | ~stateFunctionObject ()=default |
Destructor. More... | |
dictionary & | propertyDict () |
Return access to the property dictionary. More... | |
bool | foundProperty (const word &entryName) const |
Return true if the property exists. More... | |
void | clearTrigger () |
Remove the trigger index from the properties. More... | |
label | getTrigger () const |
Get the current trigger index. More... | |
bool | setTrigger (const label triggeri) |
Set new trigger index. More... | |
bool | getDict (const word &entryName, dictionary &dict) const |
Set dictionary, return true if set. More... | |
bool | getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const |
Set dictionary from named object, return true if set. More... | |
template<class Type > | |
Type | getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve generic property. More... | |
template<class Type > | |
bool | getProperty (const word &entryName, Type &value) const |
Set generic property, return true if set. More... | |
template<class Type > | |
void | setProperty (const word &entryName, const Type &value) |
Add generic property. More... | |
template<class Type > | |
Type | getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve generic property from named object. More... | |
template<class Type > | |
bool | getObjectProperty (const word &objectName, const word &entryName, Type &value) const |
Set generic property from named object, return true if set. More... | |
template<class Type > | |
void | setObjectProperty (const word &objectName, const word &entryName, const Type &value) |
Add generic property from named object. More... | |
template<class Type > | |
void | setResult (const word &entryName, const Type &value) |
Add result. More... | |
template<class Type > | |
void | setObjectResult (const word &objectName, const word &entryName, const Type &value) |
Add result from named object. More... | |
template<class Type > | |
Type | getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve result. More... | |
template<class Type > | |
Type | getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve result from named object. More... | |
template<class Type > | |
bool | getObjectResult (const word &objectName, const word &entryName, Type &value) const |
Set result from named object, return true if set. More... | |
word | resultType (const word &entryName) const |
Retrieve the result type. More... | |
word | objectResultType (const word &objectName, const word &entryName) const |
Return the type of result. More... | |
wordList | objectResultEntries () const |
Retrieve the result entries. More... | |
wordList | objectResultEntries (const word &objectName) const |
Return result entries for named object. More... | |
void | writeResultEntries (Ostream &os) const |
Write the results entries for all objects to stream. More... | |
void | writeResultEntries (const word &objectName, Ostream &os) const |
Write the results entries for named object to stream. More... | |
void | writeAllResultEntries (Ostream &os) const |
Write the results entries for all objects to stream. More... | |
Public Member Functions inherited from timeFunctionObject | |
timeFunctionObject (const word &name, const Time &runTime) | |
Construct from Time. More... | |
virtual | ~timeFunctionObject ()=default |
Destructor. More... | |
const Time & | time () const |
Return time database. More... | |
objectRegistry & | storedObjects () |
const objectRegistry & | storedObjects () const |
Public Member Functions inherited from functionObject | |
declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict)) | |
functionObject (const word &name, const bool withNamePrefix=defaultUseNamePrefix) | |
Construct from components. More... | |
autoPtr< functionObject > | clone () const |
Return clone. More... | |
virtual | ~functionObject ()=default |
Destructor. More... | |
virtual const word & | type () const =0 |
Runtime type information. More... | |
const word & | name () const noexcept |
Return the name of this functionObject. More... | |
bool | useNamePrefix () const noexcept |
Return the flag for adding a scoping name prefix. More... | |
bool | useNamePrefix (bool on) noexcept |
Modify the flag for adding a scoping name prefix. More... | |
virtual bool | read (const dictionary &dict) |
Read and set the function object if its data have changed. More... | |
virtual bool | execute ()=0 |
Called at each ++ or += of the time-loop. More... | |
virtual bool | execute (const label subIndex) |
Execute using the specified subIndex. More... | |
virtual bool | write ()=0 |
Called at each ++ or += of the time-loop. More... | |
virtual bool | end () |
Called when Time::run() determines that the time-loop exits. More... | |
virtual bool | adjustTimeStep () |
Called at the end of Time::adjustDeltaT() if adjustTime is true. More... | |
virtual bool | filesModified () const |
Did any file get changed during execution? More... | |
virtual void | updateMesh (const mapPolyMesh &mpm) |
Update for changes of mesh. More... | |
virtual void | movePoints (const polyMesh &mesh) |
Update for changes of mesh. More... | |
Protected Member Functions | |
Tuple2< tetIndices, point > | findNearestTet (const bitSet &isWallPatch, const point &seedPt, const label celli) const |
Find wall tet on cell. More... | |
point | pushIn (const triPointRef &tri, const point &pt) const |
Protected Member Functions inherited from streamLineBase | |
const word & | sampledSetAxis () const |
The axis of the sampledSet. Creates sampledSet if required. More... | |
const sampledSet & | sampledSetPoints () const |
Demand driven construction of the sampledSet. More... | |
autoPtr< indirectPrimitivePatch > | wallPatch () const |
Construct patch out of all wall patch faces. More... | |
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. More... | |
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. More... | |
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. More... | |
void | trimToBox (const treeBoundBox &bb) |
Trim tracks to bounding box. More... | |
virtual void | track ()=0 |
Do the actual tracking to fill the track data. More... | |
virtual bool | writeToFile () |
Write tracks to file. More... | |
virtual void | resetFieldNames (const word &newUName, const wordList &newFieldNames) |
Reset the field names. More... | |
Protected Member Functions inherited from fvMeshFunctionObject | |
fvMeshFunctionObject (const fvMeshFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const fvMeshFunctionObject &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from regionFunctionObject | |
virtual const objectRegistry & | obr () const |
The region or sub-region registry being used. More... | |
template<class ObjectType > | |
bool | foundObject (const word &fieldName) const |
Find object (eg, a field) in the (sub) objectRegistry. More... | |
template<class ObjectType > | |
const ObjectType * | cfindObject (const word &fieldName) const |
template<class ObjectType > | |
const ObjectType * | findObject (const word &fieldName) const |
template<class ObjectType > | |
ObjectType * | findObject (const word &fieldName) |
template<class ObjectType > | |
ObjectType * | getObjectPtr (const word &fieldName) const |
template<class ObjectType > | |
const ObjectType & | lookupObject (const word &fieldName) const |
Lookup and return object (eg, a field) from the (sub) objectRegistry. More... | |
template<class ObjectType > | |
ObjectType & | lookupObjectRef (const word &fieldName) const |
Lookup and return object (eg, a field) from the (sub) objectRegistry. More... | |
template<class ObjectType > | |
bool | store (word &fieldName, const tmp< ObjectType > &tfield, bool cacheable=false) |
Store the field in the (sub) objectRegistry under the given name. More... | |
template<class ObjectType > | |
bool | storeInDb (const word &fieldName, const tmp< ObjectType > &tfield, const objectRegistry &obr) |
Store the field in an optional objectRegistry under the given name. More... | |
bool | writeObject (const word &fieldName) |
Write field if present in the (sub) objectRegistry. More... | |
bool | clearObject (const word &fieldName) |
Clear field from the (sub) objectRegistry if present. More... | |
void | clearObjects (const wordList &objNames) |
Clear fields from the (sub) objectRegistry if present. More... | |
regionFunctionObject (const regionFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const regionFunctionObject &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from stateFunctionObject | |
const functionObjects::properties & | stateDict () const |
Return a const reference to the state dictionary. More... | |
functionObjects::properties & | stateDict () |
Return non-const access to the state dictionary. More... | |
stateFunctionObject (const stateFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const stateFunctionObject &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from timeFunctionObject | |
void | clearOutputObjects (const wordList &objNames) |
Remove specified items from "functionObjectObjects". More... | |
timeFunctionObject (const timeFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const timeFunctionObject &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from functionObject | |
word | scopedName (const word &name) const |
Return a scoped (prefixed) name. More... | |
Additional Inherited Members | |
Public Types inherited from streamLineBase | |
enum | trackDirType : char { FORWARD , BACKWARD , BIDIRECTIONAL } |
Enumeration defining the track direction. More... | |
Static Public Member Functions inherited from functionObject | |
static autoPtr< functionObject > | New (const word &name, const Time &runTime, const dictionary &dict) |
Select from dictionary, based on its "type" entry. More... | |
Public Attributes inherited from functionObject | |
bool | log |
Flag to write log into Info. More... | |
Static Public Attributes inherited from streamLineBase | |
static const Enum< trackDirType > | trackDirTypeNames |
Names for the trackDir. More... | |
Static Public Attributes inherited from functionObject | |
static int | debug |
Flag to execute debug content. More... | |
static bool | postProcess |
Global post-processing mode switch. More... | |
static bool | defaultUseNamePrefix |
Global default for useNamePrefix. More... | |
static word | outputPrefix |
Directory prefix. More... | |
Protected Attributes inherited from streamLineBase | |
autoPtr< sampledSet > | sampledSetPtr_ |
Seed set engine. More... | |
word | sampledSetAxis_ |
Axis of the sampled points to output. More... | |
dictionary | dict_ |
Input dictionary. More... | |
wordList | fields_ |
List of fields to sample. More... | |
word | UName_ |
Field to transport particle with. More... | |
word | interpolationScheme_ |
Interpolation scheme to use. More... | |
trackDirType | trackDir_ |
Whether to use +u or -u or both. More... | |
label | lifeTime_ |
Maximum lifetime (= number of cells) of particle. More... | |
scalar | trackLength_ |
Track length. More... | |
boundBox | bounds_ |
Optional trimming of tracks. More... | |
word | cloudName_ |
Optional specified name of particles. More... | |
word | seedSet_ |
Type of seed. More... | |
wordList | scalarNames_ |
Names of scalar fields. More... | |
wordList | vectorNames_ |
Names of vector fields. More... | |
autoPtr< coordSetWriter > | trackWriterPtr_ |
File writer for tracks data. More... | |
DynamicList< List< point > > | allTracks_ |
All tracks. Per track the points it passed through. More... | |
List< DynamicList< scalarList > > | allScalars_ |
Per scalarField, per track, the sampled values. More... | |
List< DynamicList< vectorList > > | allVectors_ |
Per vectorField, per track, the sampled values. More... | |
Protected Attributes inherited from fvMeshFunctionObject | |
const fvMesh & | mesh_ |
Reference to the fvMesh. More... | |
Protected Attributes inherited from regionFunctionObject | |
word | subRegistryName_ |
Name for alternative object registry. More... | |
const objectRegistry & | obr_ |
Reference to the region objectRegistry. More... | |
const objectRegistry * | obrPtr_ |
Pointer to alternative (eg, sub-region) objectRegistry. More... | |
Protected Attributes inherited from timeFunctionObject | |
const Time & | time_ |
Reference to the time database. More... | |
Generates streamline data by sampling a set of user-specified fields along a particle track, transported by a user-specified velocity field, constrained to a patch.
Operands:
Operand | Type | Location |
---|---|---|
input | - | - |
output file | - | $FOAM_CASE/postProcessing/<FO>/<time>/<file> |
output field | - | - |
system/controlDict.functions
: wallBoundedStreamLine1 { // Mandatory entries (unmodifiable) type wallBoundedStreamLine; libs (fieldFunctionObjects); // Mandatory entries (runtime modifiable) U <fieldTrack>; fields (<fieldTrack> <field1> ... <fieldN>); setFormat vtk; direction bidirectional; lifeTime 10000; cloud particleTracks; seedSampleSet { type patchSeed; patches (wall); axis x; maxPoints 20000; } // Optional entries (runtime modifiable) bounds (0.2 -10 -10)(0.22 10 10); trackLength 1e-3; nSubCycle 1; interpolationScheme cellPoint; // Deprecated // trackForward true; // Optional (inherited) entries ... }
where the entries mean:
Property | Description | Type | Req'd | Dflt |
---|---|---|---|---|
type | Type name: wallBoundedStreamLine | word | yes | - |
libs | Library name: fieldFunctionObjects | word | yes | - |
U | Name of tracking velocity field | word | yes | - |
fields | Names of operand fields to sample | wordList | yes | - |
setFormat | Type of output data | word | yes | - |
direction | Direction to track | vector | yes | - |
lifetime | Maximum number of particle tracking steps | label | yes | - |
cloud | Name of cloud | word | yes | - |
seedSampleSet | Name of seeding method (see below) | word | yes | - |
bounds | Bounding box to trim tracks | vector | no | invertedBox |
trackLength | Tracking segment length | scalar | no | VGREAT |
nSubCycle | Number of tracking steps per cell | label | no | 1 |
interpolationScheme | Interp. scheme for sample | word | no | cellPoint |
Options for the seedSampleSet
entry:
uniform | uniform particle seeding cloud | cloud of points patchSeed | seeding via patch faces triSurfaceMeshPointSet | points according to a tri-surface mesh
Options for the setFormat
entry:
csv ensight gnuplot nastran raw vtk xmgr
Options for the direction
entry:
bidirectional forward backward
The inherited entries are elaborated in:
Usage by the postProcess
utility is not available.
trackLength
OR nSubCycle
option should be used.Definition at line 263 of file wallBoundedStreamLine.H.
wallBoundedStreamLine | ( | const word & | name, |
const Time & | runTime, | ||
const dictionary & | dict | ||
) |
Construct from Time and dictionary.
Definition at line 280 of file wallBoundedStreamLine.C.
References streamLineBase::dict_, and wallBoundedStreamLine::read().
wallBoundedStreamLine | ( | const word & | name, |
const Time & | runTime, | ||
const dictionary & | dict, | ||
const wordList & | fieldNames | ||
) |
Construct from Time and dictionary and list of fields to sample.
Definition at line 293 of file wallBoundedStreamLine.C.
References streamLineBase::dict_, and wallBoundedStreamLine::read().
|
delete |
No copy construct.
|
virtualdefault |
Destructor.
|
protected |
Find wall tet on cell.
Definition at line 55 of file wallBoundedStreamLine.C.
References primitiveMesh::cells(), PointHit< PointType >::distance(), f(), polyMesh::faces(), UList< T >::fcIndex(), fvMeshFunctionObject::mesh_, triangle< Point, PointRef >::nearestPoint(), polyMesh::points(), PointHit< PointType >::rawPoint(), UList< T >::size(), Foam::sqr(), and polyMesh::tetBasePtIs().
|
protected |
Push a point a tiny bit towards the centre of the triangle it is in to avoid tracking problems
Definition at line 115 of file wallBoundedStreamLine.C.
References triangle< Point, PointRef >::centre().
TypeName | ( | "wallBoundedStreamLine" | ) |
Runtime type information.
|
delete |
No copy assignment.
|
virtual |
Read settings.
Reimplemented from streamLineBase.
Definition at line 309 of file wallBoundedStreamLine.C.
References polyMeshTetDecomposition::checkFaceTets(), HashTable< T, Key, Hash >::clear(), dict, e, Foam::endl(), f(), Foam::FatalError, FatalErrorInFunction, forAll, forAllConstIters, polyMeshTetDecomposition::minTetQuality, IOobject::name(), nFaces(), kEpsilonLopesdaCosta< BasicTurbulenceModel >::read(), Foam::returnReduce(), HashTable< T, Key, Hash >::size(), and WarningInFunction.
Referenced by wallBoundedStreamLine::wallBoundedStreamLine().
|
virtual |
Do the actual tracking to fill the track data.
Implements streamLineBase.
Definition at line 132 of file wallBoundedStreamLine.C.
References Cloud< ParticleType >::addParticle(), tetIndices::cell(), sampledSet::cells(), Foam::endl(), tetIndices::face(), tetIndices::faceTri(), Tuple2< T1, T2 >::first(), forAll, Log, Cloud< ParticleType >::move(), Foam::Pout, Foam::returnReduce(), Tuple2< T1, T2 >::second(), HashTable< T, Key, Hash >::size(), Foam::sqrt(), tetIndices::tetPt(), and Foam::type().