Loading...
Searching...
No Matches
Probes< ProbeType > Class Template Reference

Base class for sampling fields at specified locations and writing to file. The locations are specified and determined in the derived class. The sampling is done using the specified point probeModel class. More...

#include <Probes.H>

Inheritance diagram for Probes< ProbeType >:
Collaboration diagram for Probes< ProbeType >:

Classes

struct  fieldGroup
 Grouping of field names by GeometricField type. More...

Public Member Functions

 Probes (const word &name, const Time &runTime, const dictionary &dict, const bool loadFromFiles=false, const bool readFields=true)
 Construct from Time and dictionary.
virtual ~Probes ()=default
 Destructor.
bool verbose (const bool on) noexcept
 Enable/disable verbose output.
virtual const wordResfieldNames () const noexcept
 Return names of fields to probe.
const ProbeType & probeModel () const noexcept
 Return const reference to the point probeModel.
virtual bool read (const dictionary &)
 Read the settings from the dictionary.
virtual bool execute ()
 Sample and store result if the sampleOnExecute is enabled.
virtual bool write ()
 Sample and write.
virtual void readUpdate (const polyMesh::readUpdateState state)
 Update for changes of mesh due to readUpdate.
template<class GeoField>
Foam::tmp< GeoField > getOrLoadField (const word &fieldName) const
Public Member Functions inherited from fvMeshFunctionObject
 TypeName ("fvMeshFunctionObject")
 Runtime type information.
 fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict)
 Construct from Time and dictionary.
 fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict)
 Construct from the region objectRegistry and dictionary.
virtual ~fvMeshFunctionObject ()=default
 Destructor.
Public Member Functions inherited from regionFunctionObject
 TypeName ("regionFunctionObject")
 Runtime type information.
 regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict)
 Construct from Time and dictionary.
 regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict)
 Construct from the region objectRegistry and dictionary.
virtual ~regionFunctionObject ()=default
 Destructor.
template<class ObjectType>
const ObjectType * lookupObjectPtr (const word &fieldName) const
 Deprecated(2018-10).
template<class ObjectType>
ObjectType * lookupObjectRefPtr (const word &fieldName) const
 Deprecated(2018-10).
Public Member Functions inherited from stateFunctionObject
 stateFunctionObject (const word &name, const Time &runTime)
 Construct from components.
virtual ~stateFunctionObject ()=default
 Destructor.
dictionarypropertyDict ()
 Return access to the property dictionary.
bool foundProperty (const word &entryName) const
 Return true if the property exists.
void clearTrigger ()
 Remove the trigger index from the properties.
label getTrigger () const
 Get the current trigger index.
bool setTrigger (const label triggeri)
 Set new trigger index.
bool getDict (const word &entryName, dictionary &dict) const
 Set dictionary, return true if set.
bool getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const
 Set dictionary from named object, return true if set.
template<class Type>
Type getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve generic property.
template<class Type>
bool getProperty (const word &entryName, Type &value) const
 Set generic property, return true if set.
template<class Type>
void setProperty (const word &entryName, const Type &value)
 Add generic property.
template<class Type>
Type getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve generic property from named object.
template<class Type>
bool getObjectProperty (const word &objectName, const word &entryName, Type &value) const
 Set generic property from named object, return true if set.
template<class Type>
void setObjectProperty (const word &objectName, const word &entryName, const Type &value)
 Add generic property from named object.
bool getObjectResultDict (const word &objectName, dictionary &dict) const
template<class Type>
void setResult (const word &entryName, const Type &value)
 Add result.
template<class Type>
void setObjectResult (const word &objectName, const word &entryName, const Type &value)
 Add result from named object.
template<class Type>
Type getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve result.
template<class Type>
Type getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve result from named object.
template<class Type>
bool getObjectResult (const word &objectName, const word &entryName, Type &value) const
 Set result from named object, return true if set.
word resultType (const word &entryName) const
 Retrieve the result type.
word objectResultType (const word &objectName, const word &entryName) const
 Return the type of result.
wordList objectResultEntries () const
 Retrieve the result entries.
wordList objectResultEntries (const word &objectName) const
 Return result entries for named object.
void writeResultEntries (Ostream &os) const
 Write the results entries for all objects to stream.
void writeResultEntries (const word &objectName, Ostream &os) const
 Write the results entries for named object to stream.
void writeAllResultEntries (Ostream &os) const
 Write the results entries for all objects to stream.
Public Member Functions inherited from timeFunctionObject
 timeFunctionObject (const word &name, const Time &runTime)
 Construct from Time.
virtual ~timeFunctionObject ()=default
 Destructor.
const Timetime () const
 Return time database.
objectRegistrystoredObjects ()
 Write access to the output objects ("functionObjectObjects") registered on Time.
const objectRegistrystoredObjects () const
 Const access to the output objects ("functionObjectObjects") registered on Time.
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.
autoPtr< functionObjectclone () const
 Return clone.
virtual ~functionObject ()=default
 Destructor.
virtual const wordtype () const =0
 Runtime type information.
const wordname () const noexcept
 Return the name of this functionObject.
bool useNamePrefix () const noexcept
 Return the flag for adding a scoping name prefix.
bool useNamePrefix (bool on) noexcept
 Modify the flag for adding a scoping name prefix.
virtual bool execute (const label subIndex)
 Execute using the specified subIndex.
virtual bool end ()
 Called when Time::run() determines that the time-loop exits.
virtual bool adjustTimeStep ()
 Called at the end of Time::adjustDeltaT() if adjustTime is true.
virtual bool filesModified () const
 Did any file get changed during execution?
virtual void updateMesh (const mapPolyMesh &mpm)
 Update for changes of mesh.
virtual void movePoints (const polyMesh &mesh)
 Update for changes of mesh.

Protected Types

enum  sampleActionType : unsigned { ACTION_NONE = 0 , ACTION_WRITE = 0x1 , ACTION_STORE = 0x2 , ACTION_ALL = 0xF }
 Local control for sampling actions. More...

Protected Member Functions

label prepare (unsigned request)
 Classify field types, close/open file streams.
template<class GeoField>
tmp< GeoField > getOrLoadField (const word &fieldName) const
 Get from registry or load from disk.
template<class Type>
void storeResults (const word &fieldName, const Field< Type > &values)
 Store results: min/max/average/size.
Protected Member Functions inherited from fvMeshFunctionObject
 fvMeshFunctionObject (const fvMeshFunctionObject &)=delete
 No copy construct.
void operator= (const fvMeshFunctionObject &)=delete
 No copy assignment.
Protected Member Functions inherited from regionFunctionObject
virtual const objectRegistryobr () const
 The region or sub-region registry being used.
template<class ObjectType>
bool foundObject (const word &fieldName) const
 Find object (eg, a field) in the (sub) objectRegistry.
template<class ObjectType>
const ObjectType * cfindObject (const word &fieldName) const
 Return const pointer to the object (eg, a field) in the (sub) objectRegistry.
template<class ObjectType>
const ObjectType * findObject (const word &fieldName) const
 Return const pointer to the object (eg, a field) in the (sub) objectRegistry.
template<class ObjectType>
ObjectType * findObject (const word &fieldName)
 Return non-const pointer to the object of the given Type, (sub) objectRegistry.
template<class ObjectType>
ObjectType * getObjectPtr (const word &fieldName) const
 Return non-const pointer to the object of the given Type, using a const-cast to have it behave like a mutable.
template<class ObjectType>
const ObjectType & lookupObject (const word &fieldName) const
 Lookup and return object (eg, a field) from the (sub) objectRegistry.
template<class ObjectType>
ObjectType & lookupObjectRef (const word &fieldName) const
 Lookup and return object (eg, a field) from the (sub) objectRegistry.
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.
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.
bool writeObject (const word &fieldName)
 Write field if present in the (sub) objectRegistry.
bool clearObject (const word &fieldName)
 Clear field from the (sub) objectRegistry if present.
void clearObjects (const wordList &objNames)
 Clear fields from the (sub) objectRegistry if present.
 regionFunctionObject (const regionFunctionObject &)=delete
 No copy construct.
void operator= (const regionFunctionObject &)=delete
 No copy assignment.
Protected Member Functions inherited from stateFunctionObject
const functionObjects::propertiesstateDict () const
 Return a const reference to the state dictionary.
functionObjects::propertiesstateDict ()
 Return non-const access to the state dictionary.
 stateFunctionObject (const stateFunctionObject &)=delete
 No copy construct.
void operator= (const stateFunctionObject &)=delete
 No copy assignment.
Protected Member Functions inherited from timeFunctionObject
void clearOutputObjects (const wordList &objNames)
 Remove specified items from "functionObjectObjects".
 timeFunctionObject (const timeFunctionObject &)=delete
 No copy construct.
void operator= (const timeFunctionObject &)=delete
 No copy assignment.
Protected Member Functions inherited from functionObject
word scopedName (const word &name) const
 Return a scoped (prefixed) name.

Protected Attributes

ProbeType probeModel_
 The specified point probeModel.
bool loadFromFiles_
 Load fields from files (not from objectRegistry).
bool verbose_
 Output verbosity.
bool onExecute_
 Perform sample actions on execute as well.
wordRes fieldSelection_
 Requested names of fields to probe.
DynamicList< wordselectedFieldNames_
 Current list of field names selected for sampling.
fieldGroup< volScalarFieldscalarFields_
 Categorized scalar/vector/tensor volume fields.
fieldGroup< volVectorFieldvectorFields_
fieldGroup< volSphericalTensorFieldsphericalTensorFields_
fieldGroup< volSymmTensorFieldsymmTensorFields_
fieldGroup< volTensorFieldtensorFields_
fieldGroup< surfaceScalarFieldsurfaceScalarFields_
 Categorized scalar/vector/tensor surface fields.
fieldGroup< surfaceVectorFieldsurfaceVectorFields_
fieldGroup< surfaceSphericalTensorFieldsurfaceSphericalTensorFields_
fieldGroup< surfaceSymmTensorFieldsurfaceSymmTensorFields_
fieldGroup< surfaceTensorFieldsurfaceTensorFields_
HashPtrTable< OFstreamprobeFilePtrs_
 Current open files (non-empty on master only).
Protected Attributes inherited from fvMeshFunctionObject
const fvMeshmesh_
 Reference to the fvMesh.
Protected Attributes inherited from regionFunctionObject
word subRegistryName_
 Name for alternative object registry.
const objectRegistryobr_
 Reference to the region objectRegistry.
const objectRegistryobrPtr_
 Pointer to alternative (eg, sub-region) objectRegistry.
Protected Attributes inherited from timeFunctionObject
const Timetime_
 Reference to the time database.

Additional Inherited Members

Static Public Member Functions inherited from functionObject
static autoPtr< functionObjectNew (const word &name, const Time &runTime, const dictionary &dict)
 Select from dictionary, based on its "type" entry.
Public Attributes inherited from functionObject
bool log
 Flag to write log into Info.
Static Public Attributes inherited from functionObject
static int debug
 Flag to execute debug content.
static bool postProcess
 Global post-processing mode switch.
static bool defaultUseNamePrefix
 Global default for useNamePrefix.
static word outputPrefix
 Directory prefix.

Detailed Description

template<class ProbeType>
class Foam::Probes< ProbeType >

Base class for sampling fields at specified locations and writing to file. The locations are specified and determined in the derived class. The sampling is done using the specified point probeModel class.

Source files

Definition at line 58 of file Probes.H.

Member Enumeration Documentation

◆ sampleActionType

template<class ProbeType>
enum sampleActionType : unsigned
protected

Local control for sampling actions.

Enumerator
ACTION_NONE 
ACTION_WRITE 
ACTION_STORE 
ACTION_ALL 

Definition at line 86 of file Probes.H.

Constructor & Destructor Documentation

◆ Probes()

template<class ProbeType>
Probes ( const word & name,
const Time & runTime,
const dictionary & dict,
const bool loadFromFiles = false,
const bool readFields = true )

Construct from Time and dictionary.

Definition at line 361 of file Probes.C.

References dict, fieldSelection_, fvMeshFunctionObject::fvMeshFunctionObject(), loadFromFiles_, fvMeshFunctionObject::mesh_, Foam::name(), onExecute_, probeModel_, read(), Foam::readFields(), and runTime.

Here is the call graph for this function:

◆ ~Probes()

template<class ProbeType>
virtual ~Probes ( )
virtualdefault

Destructor.

Member Function Documentation

◆ prepare()

template<class ProbeType>
Foam::label prepare ( unsigned request)
protected

◆ getOrLoadField() [1/2]

template<class ProbeType>
template<class GeoField>
tmp< GeoField > getOrLoadField ( const word & fieldName) const
protected

Get from registry or load from disk.

◆ storeResults()

template<class ProbeType>
template<class Type>
void storeResults ( const word & fieldName,
const Field< Type > & values )
protected

Store results: min/max/average/size.

Definition at line 334 of file Probes.C.

References Foam::average(), Foam::Info, limits, name, Foam::nl, stateFunctionObject::setResult(), and verbose_.

Here is the call graph for this function:

◆ verbose()

template<class ProbeType>
bool verbose ( const bool on)
noexcept

Enable/disable verbose output.

Returns
old value

Definition at line 386 of file Probes.C.

References verbose_.

◆ fieldNames()

template<class ProbeType>
virtual const wordRes & fieldNames ( ) const
inlinevirtualnoexcept

Return names of fields to probe.

Definition at line 242 of file Probes.H.

◆ probeModel()

template<class ProbeType>
const ProbeType & probeModel ( ) const
inlinenoexcept

Return const reference to the point probeModel.

Definition at line 250 of file Probes.H.

◆ read()

template<class ProbeType>
bool read ( const dictionary & dict)
virtual

Read the settings from the dictionary.

Reimplemented from regionFunctionObject.

Reimplemented in thermoCoupleProbes, patchProbes, and probes.

Definition at line 395 of file Probes.C.

References ACTION_NONE, dict, fieldSelection_, onExecute_, prepare(), and verbose_.

Referenced by Probes(), patchProbes::read(), and probes::read().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ execute()

template<class ProbeType>
bool execute ( )
virtual

Sample and store result if the sampleOnExecute is enabled.

Implements functionObject.

Reimplemented in thermoCoupleProbes.

Definition at line 431 of file Probes.C.

References ACTION_ALL, ACTION_WRITE, and onExecute_.

◆ write()

template<class ProbeType>
bool write ( )
virtual

Sample and write.

Implements functionObject.

Reimplemented in thermoCoupleProbes.

Definition at line 443 of file Probes.C.

References ACTION_ALL.

◆ readUpdate()

template<class ProbeType>
virtual void readUpdate ( const polyMesh::readUpdateState state)
inlinevirtual

Update for changes of mesh due to readUpdate.

Definition at line 270 of file Probes.H.

◆ getOrLoadField() [2/2]

template<class ProbeType>
template<class GeoField>
Foam::tmp< GeoField > getOrLoadField ( const word & fieldName) const

Definition at line 300 of file Probes.C.

Member Data Documentation

◆ probeModel_

template<class ProbeType>
ProbeType probeModel_
protected

The specified point probeModel.

Definition at line 69 of file Probes.H.

Referenced by prepare(), and Probes().

◆ loadFromFiles_

template<class ProbeType>
bool loadFromFiles_
protected

Load fields from files (not from objectRegistry).

Definition at line 100 of file Probes.H.

Referenced by prepare(), and Probes().

◆ verbose_

template<class ProbeType>
bool verbose_
protected

Output verbosity.

Definition at line 105 of file Probes.H.

Referenced by read(), storeResults(), and verbose().

◆ onExecute_

template<class ProbeType>
bool onExecute_
protected

Perform sample actions on execute as well.

Definition at line 110 of file Probes.H.

Referenced by execute(), Probes(), and read().

◆ fieldSelection_

template<class ProbeType>
wordRes fieldSelection_
protected

Requested names of fields to probe.

Definition at line 115 of file Probes.H.

Referenced by prepare(), Probes(), and read().

◆ selectedFieldNames_

template<class ProbeType>
DynamicList<word> selectedFieldNames_
protected

Current list of field names selected for sampling.

Definition at line 123 of file Probes.H.

◆ scalarFields_

template<class ProbeType>
fieldGroup<volScalarField> scalarFields_
protected

Categorized scalar/vector/tensor volume fields.

Definition at line 128 of file Probes.H.

Referenced by prepare().

◆ vectorFields_

template<class ProbeType>
fieldGroup<volVectorField> vectorFields_
protected

Definition at line 129 of file Probes.H.

Referenced by prepare().

◆ sphericalTensorFields_

template<class ProbeType>
fieldGroup<volSphericalTensorField> sphericalTensorFields_
protected

Definition at line 130 of file Probes.H.

Referenced by prepare().

◆ symmTensorFields_

template<class ProbeType>
fieldGroup<volSymmTensorField> symmTensorFields_
protected

Definition at line 131 of file Probes.H.

Referenced by prepare().

◆ tensorFields_

template<class ProbeType>
fieldGroup<volTensorField> tensorFields_
protected

Definition at line 132 of file Probes.H.

Referenced by prepare().

◆ surfaceScalarFields_

template<class ProbeType>
fieldGroup<surfaceScalarField> surfaceScalarFields_
protected

Categorized scalar/vector/tensor surface fields.

Definition at line 137 of file Probes.H.

Referenced by prepare().

◆ surfaceVectorFields_

template<class ProbeType>
fieldGroup<surfaceVectorField> surfaceVectorFields_
protected

Definition at line 138 of file Probes.H.

Referenced by prepare().

◆ surfaceSphericalTensorFields_

template<class ProbeType>
fieldGroup<surfaceSphericalTensorField> surfaceSphericalTensorFields_
protected

Definition at line 139 of file Probes.H.

Referenced by prepare().

◆ surfaceSymmTensorFields_

template<class ProbeType>
fieldGroup<surfaceSymmTensorField> surfaceSymmTensorFields_
protected

Definition at line 140 of file Probes.H.

Referenced by prepare().

◆ surfaceTensorFields_

template<class ProbeType>
fieldGroup<surfaceTensorField> surfaceTensorFields_
protected

Definition at line 141 of file Probes.H.

Referenced by prepare().

◆ probeFilePtrs_

template<class ProbeType>
HashPtrTable<OFstream> probeFilePtrs_
protected

Current open files (non-empty on master only).

Definition at line 146 of file Probes.H.

Referenced by prepare().


The documentation for this class was generated from the following files: