volFieldValue Class Reference

Provides a 'fvCellSet' specialisation of the fieldValue function object. More...

Inheritance diagram for volFieldValue:
Collaboration diagram for volFieldValue:

Classes

struct  Result
 Forward declare the result structure. More...
 

Public Types

enum class  operationType {
  none , sum , sumMag , average ,
  volAverage , volIntegrate , min , max ,
  minMag , maxMag , CoV
}
 Operation type enumeration. More...
 
- Public Types inherited from polyCellSet
enum class  selectionTypes { points , cellSet , cellZone , all }
 Enumeration for selection mode types. More...
 

Public Member Functions

 TypeName ("volFieldValue")
 Run-time type information. More...
 
 volFieldValue (const word &name, const Time &runTime, const dictionary &dict)
 Construct from name, Time and dictionary. More...
 
 volFieldValue (const word &name, const objectRegistry &obr, const dictionary &dict)
 Construct from name, objectRegistry and dictionary. More...
 
virtual ~volFieldValue ()
 Destructor. More...
 
template<class Type >
bool writeValues (const word &fieldName, const scalarField &weights, const scalarField &V)
 Templated helper function to output field values. More...
 
template<class Type , class ResultType >
bool writeValues (const word &fieldName, const Field< Type > &values, const scalarField &weights, const scalarField &V)
 Templated helper function to output field values. More...
 
template<class Type >
tmp< Field< Type > > filterField (const Field< Type > &field) const
 Filter a field according to cellIds. More...
 
virtual bool read (const dictionary &)
 Read from dictionary. More...
 
virtual bool write ()
 Calculate and write. More...
 
template<class Type >
Foam::tmp< Foam::Field< Type > > getFieldValues (const word &fieldName) const
 
template<class Type >
Foam::tmp< Foam::Field< Type > > filterField (const Field< Type > &field) const
 
- Public Member Functions inherited from fieldValue
 TypeName ("fieldValue")
 Run-time type information. More...
 
 declareRunTimeSelectionTable (autoPtr, fieldValue, dictionary,(const word &name, const objectRegistry &obr, const dictionary &dict),(name, obr, dict))
 
 fieldValue (const word &name, const Time &runTime, const dictionary &dict, const word &valueType)
 Construct from Time and dictionary. More...
 
 fieldValue (const word &name, const objectRegistry &obr, const dictionary &dict, const word &valueType)
 Construct from objectRegistry and dictionary. More...
 
virtual ~fieldValue ()
 Destructor. More...
 
const dictionarydict () const
 Return the reference to the construction dictionary. More...
 
virtual wordList fields () const
 Return the list of fields required. More...
 
const SwitchwriteFields () const
 Return the output field values flag. More...
 
const dictionaryresultDict () const
 Return access to the latest set of results. More...
 
virtual bool execute ()
 Execute. 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...
 
 fvMeshFunctionObject (const fvMeshFunctionObject &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~fvMeshFunctionObject ()
 Destructor. More...
 
void operator= (const fvMeshFunctionObject &)=delete
 Disallow default bitwise assignment. 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...
 
 regionFunctionObject (const regionFunctionObject &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~regionFunctionObject ()
 Destructor. More...
 
void operator= (const regionFunctionObject &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from functionObject
 ClassName ("functionObject")
 
virtual const wordtype () const =0
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict))
 
 functionObject (const word &name, const Time &runTime)
 Construct from components. More...
 
autoPtr< functionObjectclone () const
 Return clone. More...
 
 functionObject (const functionObject &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~functionObject ()
 Destructor. More...
 
const wordname () const
 Return the name of this functionObject. More...
 
virtual bool executeAtStart () const
 Return true if the functionObject should be executed at the start. More...
 
virtual bool end ()
 Called when Time::run() determines that the time-loop exits. More...
 
virtual scalar timeToNextAction ()
 Called by Time::adjustTimeStep(). Allows the functionObject to. More...
 
virtual void movePoints (const polyMesh &mesh)
 Update topology using the given map. More...
 
virtual void topoChange (const polyTopoChangeMap &map)
 Update topology using the given map. More...
 
virtual void mapMesh (const polyMeshMap &)
 Update from another mesh using the given map. More...
 
virtual void distribute (const polyDistributionMap &)
 Redistribute or update using the given distribution map. More...
 
void operator= (const functionObject &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from logFiles
 logFiles (const objectRegistry &obr, const word &prefix)
 Construct from objectRegistry and prefix. More...
 
 logFiles (const logFiles &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~logFiles ()
 Destructor. More...
 
const wordListnames () const
 Return const access to the names. More...
 
PtrList< OFstream > & files ()
 Return access to the files. More...
 
OFstreamfile ()
 Return access to the file (if only 1) More...
 
OFstreamfile (const label i)
 Return file 'i'. More...
 
void operator= (const logFiles &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from writeFile
 writeFile (const objectRegistry &obr, const word &prefix)
 Construct from objectRegistry and prefix. More...
 
 writeFile (const writeFile &)=delete
 Disallow default bitwise copy construction. More...
 
 ~writeFile ()
 Destructor. More...
 
void initStream (Ostream &os) const
 Initialise the output stream for writing. More...
 
fileName baseFileDir () const
 Return the base directory for output. More...
 
fileName baseTimeDir () const
 Return the base directory for the current time value. More...
 
Omanip< int > valueWidth (const label offset=0) const
 Return the value width when writing to stream with optional offset. More...
 
void writeCommented (Ostream &os, const string &str) const
 Write a commented string to stream. More...
 
void writeTabbed (Ostream &os, const string &str) const
 Write a tabbed string to stream. More...
 
void writeHeader (Ostream &os, const string &str) const
 Write a commented header to stream. More...
 
void writeTime (Ostream &os) const
 Write the current time to stream. More...
 
template<class Type >
void writeHeaderValue (Ostream &os, const string &property, const Type &value) const
 Write a (commented) header property and value pair. More...
 
label charWidth () const
 Return width of character stream output. More...
 
void operator= (const writeFile &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from fvCellSet
 fvCellSet (const fvMesh &mesh)
 Construct from mesh. Will select all. More...
 
 fvCellSet (const fvMesh &mesh, const dictionary &dict)
 Construct from mesh and dictionary. More...
 
 ~fvCellSet ()
 Destructor. More...
 
scalar V () const
 Return const access to the total cell volume. More...
 
void movePoints ()
 Update for mesh motion. More...
 
void topoChange (const polyTopoChangeMap &)
 Update topology using the given map. More...
 
void mapMesh (const polyMeshMap &)
 Update from another mesh using the given map. More...
 
void distribute (const polyDistributionMap &)
 Redistribute or update using the given distribution map. More...
 
bool read (const dictionary &dict)
 Read coefficients dictionary. More...
 
- Public Member Functions inherited from polyCellSet
 polyCellSet (const polyMesh &mesh)
 Construct from mesh. Will select all. More...
 
 polyCellSet (const polyMesh &mesh, const dictionary &dict)
 Construct from mesh and dictionary. More...
 
 ~polyCellSet ()
 Destructor. More...
 
const selectionTypesselectionType () const
 Return const access to the cell selection type. More...
 
const wordcellSetName () const
 Return const access to the name of cellSet. More...
 
labelUList cells () const
 Return const access to the cell set. More...
 
label nCells () const
 Return the number of cells in the set. More...
 
bool all () const
 Return true if the set comprises all the cells. More...
 
label celli (const label i) const
 Return the cell index corresponding to the cell set index. More...
 
void movePoints ()
 Update for mesh motion. More...
 
void topoChange (const polyTopoChangeMap &)
 Update topology using the given map. More...
 
void mapMesh (const polyMeshMap &)
 Update from another mesh using the given map. More...
 
void distribute (const polyDistributionMap &)
 Redistribute or update using the given distribution map. More...
 
bool read (const dictionary &dict)
 Read coefficients dictionary. More...
 

Static Public Attributes

static const NamedEnum< operationType, 11 > operationTypeNames_
 Operation type names. More...
 
- Static Public Attributes inherited from functionObject
static bool postProcess
 Global post-processing mode switch. More...
 
- Static Public Attributes inherited from writeFile
static const word outputPrefix
 Directory prefix. More...
 
static label addChars = 8
 Additional characters for writing. More...
 
- Static Public Attributes inherited from polyCellSet
static const NamedEnum< selectionTypes, 4 > selectionTypeNames
 Word list of selection type names. More...
 

Protected Member Functions

void initialise (const dictionary &dict)
 Initialise, e.g. cell addressing. More...
 
template<class Type >
bool validField (const word &fieldName) const
 Return true if the field name is valid. More...
 
template<class Type >
tmp< Field< Type > > getFieldValues (const word &fieldName) const
 Insert field values into values list. More...
 
template<class Op >
void compareScalars (const scalarField &values, Result< scalar > &result, const Op &op) const
 Apply a comparison operation to the values, returning the limiting. More...
 
template<class Type , class ResultType >
bool processValues (const Field< Type > &values, const scalarField &weights, const scalarField &V, Result< ResultType > &result) const
 Apply the operation to the values, and return true if successful. More...
 
template<class Type >
bool processValues (const Field< Type > &values, const scalarField &weights, const scalarField &V, Result< Type > &result) const
 Apply Type -> Type operation to the values. Calls. More...
 
template<class Type >
bool processValues (const Field< Type > &values, const scalarField &weights, const scalarField &V, Result< scalar > &result) const
 Apply Type -> scalar operation to the values. More...
 
bool processValues (const Field< scalar > &values, const scalarField &weights, const scalarField &V, Result< scalar > &result) const
 Apply scalar -> scalar operation to the values. Calls. More...
 
template<class Type >
bool processValuesTypeType (const Field< Type > &values, const scalarField &weights, const scalarField &V, Result< Type > &result) const
 Apply a Type -> Type operation to the values. More...
 
template<class Type >
void writeFileHeaderLocation ()
 Output file header location information for a given type. More...
 
virtual void writeFileHeader (const label i)
 Output file header information. More...
 
template<>
void writeFileHeaderLocation ()
 
- Protected Member Functions inherited from fieldValue
template<class Type >
void combineFields (Field< Type > &field)
 Combine fields from all processor domains into single field. More...
 
template<class Type >
void combineFields (tmp< Field< Type >> &)
 Combine fields from all processor domains into single field. More...
 
- Protected Member Functions inherited from regionFunctionObject
template<class ObjectType >
bool foundObject (const word &fieldName) const
 Find field in the objectRegistry. More...
 
template<class ObjectType >
void cannotFindObject (const word &fieldName)
 Prints a warning message that fieldName cannot be found. More...
 
void cannotFindObject (const word &fieldName)
 Prints a warning message that fieldName cannot be found. More...
 
template<class ObjectType >
const ObjectType & lookupObject (const word &fieldName) const
 Lookup object from the objectRegistry. More...
 
template<class ObjectType >
ObjectType & lookupObjectRef (const word &fieldName)
 Lookup non-const object reference from the objectRegistry. More...
 
template<class ObjectType >
bool store (const tmp< ObjectType > &tfield)
 Store the given field in the objectRegistry. More...
 
template<class ObjectType >
bool store (const word &fieldName, const tmp< ObjectType > &tfield, bool cacheable=false)
 Store the given field in the objectRegistry under the given name. More...
 
bool writeObject (const word &fieldName)
 Write field if present in objectRegistry. More...
 
bool clearObject (const word &fieldName)
 Clear field from the objectRegistry if present. More...
 
- Protected Member Functions inherited from logFiles
virtual void createFiles ()
 Create the output file. More...
 
virtual void resetNames (const wordList &names)
 Reset the list of names from a wordList. More...
 
virtual void resetName (const word &name)
 Reset the list of names to a single name entry. More...
 
- Protected Member Functions inherited from fvCellSet
void writeFileHeader (const functionObjects::writeFile &wf, Ostream &file)
 Output file header information. More...
 

Protected Attributes

Switch writeLocation_
 Write the location if available for this operation - optional. More...
 
operationType operation_
 Operation to apply to values. More...
 
wordList weightFieldNames_
 Weight field names. More...
 
scalar scaleFactor_
 Scale factor - optional. More...
 
- Protected Attributes inherited from fieldValue
dictionary dict_
 Construction dictionary. More...
 
const word valueType_
 The name of the type of value (volFieldValue, or surfaceFieldValue) More...
 
wordList fields_
 List of field names to operate on. More...
 
Switch writeFields_
 Output field values flag. More...
 
dictionary resultDict_
 Results dictionary for external access of results. More...
 
- Protected Attributes inherited from fvMeshFunctionObject
const fvMeshmesh_
 Reference to the fvMesh. More...
 
- Protected Attributes inherited from regionFunctionObject
const objectRegistryobr_
 Reference to the region objectRegistry. More...
 
- Protected Attributes inherited from functionObject
const Timetime_
 Reference to time. More...
 
- Protected Attributes inherited from logFiles
wordList names_
 File names. More...
 
PtrList< OFstreamfilePtrs_
 File pointer. More...
 
- Protected Attributes inherited from writeFile
const objectRegistryfileObr_
 Reference to the region objectRegistry. More...
 
const word prefix_
 Prefix. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from fieldValue
static autoPtr< fieldValueNew (const word &name, const objectRegistry &obr, const dictionary &dict, const bool output=true)
 Return a reference to the selected fieldValue. More...
 
- Static Public Member Functions inherited from functionObject
static autoPtr< functionObjectNew (const word &name, const Time &, const dictionary &)
 Select from dictionary, based on its "type" entry. More...
 
- Public Attributes inherited from functionObject
Switch log
 Switch write log to Info. More...
 
Switch executeAtStart_
 Switch write log to Info. More...
 

Detailed Description

Provides a 'fvCellSet' specialisation of the fieldValue function object.

Given a list of user-specified fields and a 'fvCellSet', a number of operations can be performed, such as sums, averages and integrations.

Example of function object specification:

volFieldValue1
{
    type            volFieldValue;
    libs            ("libfieldFunctionObjects.so");

    log             true;
    writeControl    writeTime;
    writeFields     true;

    select          cellZone;
    cellZone        c0;
    operation       volAverage;

    weightField     alpha1;

    fields
    (
        p
        U
    );
}
Usage
Property Description Required Default value
type Type name: volFieldValue yes
log Write data to standard output no no
writeFields Write the region field values yes
writeLocation Write the location (if available) no no
select fvCellSet type: see below yes
name Name of fvCellSet if required no
operation Operation to perform yes
weightField Name of field to apply weighting no
weightFields Names of fields to apply weighting no
fields List of fields to operate on yes

Where select options are:

cellZone : requires a 'name' entry to specify the cellZone
all : all cells

The operation is one of:

none : No operation
sum : Sum
sumMag : Sum of component magnitudes
average : Ensemble average
volAverage : Volume weighted average
volIntegrate : Volume integral
min : Minimum
max : Maximum
minMag : Minimum magnitude
maxMag : Maximum magnitude
CoV : Coefficient of variation: standard deviation/mean
See also
Foam::functionObjects::fieldValues::fieldValue Foam::Foam::fvCellSet Foam::functionObject
Source files

Definition at line 229 of file volFieldValue.H.

Member Enumeration Documentation

◆ operationType

enum operationType
strong

Operation type enumeration.

Enumerator
none 
sum 
sumMag 
average 
volAverage 
volIntegrate 
min 
max 
minMag 
maxMag 
CoV 

Definition at line 240 of file volFieldValue.H.

Constructor & Destructor Documentation

◆ volFieldValue() [1/2]

volFieldValue ( const word name,
const Time runTime,
const dictionary dict 
)

Construct from name, Time and dictionary.

Definition at line 226 of file volFieldValue.C.

References fieldValue::dict(), and volFieldValue::read().

Here is the call graph for this function:

◆ volFieldValue() [2/2]

volFieldValue ( const word name,
const objectRegistry obr,
const dictionary dict 
)

Construct from name, objectRegistry and dictionary.

Definition at line 243 of file volFieldValue.C.

References fieldValue::dict(), and volFieldValue::read().

Here is the call graph for this function:

◆ ~volFieldValue()

~volFieldValue ( )
virtual

Destructor.

Definition at line 262 of file volFieldValue.C.

Member Function Documentation

◆ initialise()

◆ validField()

bool validField ( const word fieldName) const
protected

Return true if the field name is valid.

Definition at line 32 of file volFieldValueTemplates.C.

References objectRegistry::foundObject(), and regionFunctionObject::obr_.

Here is the call graph for this function:

◆ getFieldValues() [1/2]

tmp<Field<Type> > getFieldValues ( const word fieldName) const
protected

Insert field values into values list.

◆ compareScalars()

void compareScalars ( const scalarField values,
Result< scalar > &  result,
const Op op 
) const
protected

Apply a comparison operation to the values, returning the limiting.

value, its index and processor index

Definition at line 79 of file volFieldValueTemplates.C.

References b, fvMesh::C(), volFieldValue::Result< Type >::cc, volFieldValue::Result< Type >::celli, forAll, fvMeshFunctionObject::mesh_, UPstream::myProcNo(), UPstream::parRun(), volFieldValue::Result< Type >::proci, Foam::reduce(), and volFieldValue::Result< Type >::value.

Here is the call graph for this function:

◆ processValues() [1/4]

bool processValues ( const Field< Type > &  values,
const scalarField weights,
const scalarField V,
Result< ResultType > &  result 
) const
protected

Apply the operation to the values, and return true if successful.

Does nothing unless overloaded below.

Definition at line 112 of file volFieldValueTemplates.C.

◆ processValues() [2/4]

bool processValues ( const Field< Type > &  values,
const scalarField weights,
const scalarField V,
Result< Type > &  result 
) const
protected

Apply Type -> Type operation to the values. Calls.

processValuesTypeType.

Definition at line 125 of file volFieldValueTemplates.C.

◆ processValues() [3/4]

bool processValues ( const Field< Type > &  values,
const scalarField weights,
const scalarField V,
Result< scalar > &  result 
) const
protected

Apply Type -> scalar operation to the values.

Definition at line 138 of file volFieldValueTemplates.C.

References Foam::mag().

Here is the call graph for this function:

◆ processValues() [4/4]

bool processValues ( const Field< scalar > &  values,
const scalarField weights,
const scalarField V,
Result< scalar > &  result 
) const
protected

Apply scalar -> scalar operation to the values. Calls.

processValuesTypeType.

Definition at line 185 of file volFieldValue.C.

References Foam::mag(), Foam::max(), and Foam::min().

Here is the call graph for this function:

◆ processValuesTypeType()

bool processValuesTypeType ( const Field< Type > &  values,
const scalarField weights,
const scalarField V,
Result< Type > &  result 
) const
protected

◆ writeFileHeaderLocation() [1/2]

void writeFileHeaderLocation
protected

Output file header location information for a given type.

Definition at line 108 of file volFieldValue.C.

References Foam::file, UPstream::parRun(), and Foam::tab.

Here is the call graph for this function:

◆ writeFileHeader()

void writeFileHeader ( const label  i)
protectedvirtual

Output file header information.

Implements logFiles.

Definition at line 149 of file volFieldValue.C.

References Foam::endl(), Foam::file, Foam::FOR_ALL_FIELD_TYPES(), forAll, Foam::tab, fvCellSet::writeFileHeader(), and writeFileHeaderLocationFieldType.

Here is the call graph for this function:

◆ TypeName()

TypeName ( "volFieldValue"  )

Run-time type information.

◆ writeValues() [1/2]

bool writeValues ( const word fieldName,
const scalarField weights,
const scalarField V 
)

Templated helper function to output field values.

Definition at line 244 of file volFieldValueTemplates.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::FOR_ALL_FIELD_TYPES(), IOobject::NO_READ, IOobject::NO_WRITE, regIOobject::write(), and writeValuesFieldType.

Here is the call graph for this function:

◆ writeValues() [2/2]

bool writeValues ( const word fieldName,
const Field< Type > &  values,
const scalarField weights,
const scalarField V 
)

Templated helper function to output field values.

Definition at line 313 of file volFieldValueTemplates.C.

References Foam::endl(), Foam::file, Log, UPstream::master(), Foam::patchToPatchTools::NaN(), Foam::tab, VectorSpace< Form, Cmpt, Ncmpts >::uniform(), and Foam::Zero.

Here is the call graph for this function:

◆ filterField() [1/2]

tmp<Field<Type> > filterField ( const Field< Type > &  field) const

Filter a field according to cellIds.

◆ read()

bool read ( const dictionary dict)
virtual

Read from dictionary.

Reimplemented from fieldValue.

Definition at line 268 of file volFieldValue.C.

References dict, and fieldValue::read().

Referenced by volFieldValue::volFieldValue().

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

◆ write()

bool write ( )
virtual

Calculate and write.

Reimplemented from fieldValue.

Definition at line 282 of file volFieldValue.C.

References Foam::endl(), Foam::file, Foam::FOR_ALL_FIELD_TYPES(), forAll, Log, UPstream::master(), fvMeshFunctionObject::mesh_, fieldValue::write(), and writeValuesFieldType.

Here is the call graph for this function:

◆ writeFileHeaderLocation() [2/2]

void writeFileHeaderLocation ( )
protected

◆ getFieldValues() [2/2]

Foam::tmp<Foam::Field<Type> > getFieldValues ( const word fieldName) const

Definition at line 52 of file volFieldValueTemplates.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ filterField() [2/2]

Foam::tmp<Foam::Field<Type> > filterField ( const Field< Type > &  field) const

Definition at line 366 of file volFieldValueTemplates.C.

References cells.

Member Data Documentation

◆ operationTypeNames_

Operation type names.

Definition at line 256 of file volFieldValue.H.

Referenced by volFieldValue::initialise().

◆ writeLocation_

Switch writeLocation_
protected

Write the location if available for this operation - optional.

Definition at line 271 of file volFieldValue.H.

Referenced by volFieldValue::initialise().

◆ operation_

operationType operation_
protected

Operation to apply to values.

Definition at line 274 of file volFieldValue.H.

Referenced by volFieldValue::initialise().

◆ weightFieldNames_

wordList weightFieldNames_
protected

Weight field names.

Definition at line 277 of file volFieldValue.H.

Referenced by volFieldValue::initialise().

◆ scaleFactor_

scalar scaleFactor_
protected

Scale factor - optional.

Definition at line 280 of file volFieldValue.H.

Referenced by volFieldValue::initialise().


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