All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
volFieldValue Class Reference

Provides a 'volRegion' 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  operationType {
  none, sum, sumMag, average,
  volAverage, volIntegrate, min, max,
  minMag, maxMag, CoV
}
 Operation type enumeration. More...
 
- Public Types inherited from volRegion
enum  regionTypes { vrtCellZone, vrtAll }
 Region type enumeration. 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...
 
const wordregionName () const
 Return the region name. More...
 
const wordListfields () const
 Return the list of field names. 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)
 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 timeToNextWrite ()
 Called by Time::adjustTimeStep(). Allows the functionObject to. 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...
 
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 volRegion
 TypeName ("volRegion")
 Run-time type information. More...
 
 volRegion (const fvMesh &mesh, const dictionary &dict)
 Construct from fvMesh and dictionary. More...
 
virtual ~volRegion ()
 Destructor. More...
 
bool read (const dictionary &)
 Read from dictionary. More...
 
const regionTypesregionType () const
 Return the region type. More...
 
const labelListcellIDs () const
 Return the local list of cell IDs. More...
 
label nCells () const
 Return the number of cells in the region. More...
 
scalar V () const
 Return total volume of the region. 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 volRegion
static const NamedEnum< regionTypes, 2 > regionTypeNames_
 Region 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 Type , class Op >
void opMag (const Field< Type > &values, Result< scalar > &result, const Op &op) const
 Apply a comparison operation (min/max) to the field magnitude,. 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 volRegion
void writeFileHeader (const 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...
 
word regionName_
 Name of region (patch, zone, etc.) 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 Timetime_
 Reference to the Time. More...
 
const objectRegistryobr_
 Reference to the region objectRegistry. 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...
 
- Protected Attributes inherited from volRegion
regionTypes regionType_
 Region type. More...
 
word regionName_
 Region name (patch, zone, etc.) More...
 
label regionID_
 Region ID (patch ID, zone ID, etc.) 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 'volRegion' specialisation of the fieldValue function object.

Given a list of user-specified fields and a 'volRegion', 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;

    regionType      cellZone;
    name            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
regionType volRegion type: see below yes
name Name of volRegion 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 regionType is defined by

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::functionObjects::volRegion 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 218 of file volFieldValue.C.

References Foam::read().

Referenced by volFieldValue::processValues().

Here is the call graph for this function:
Here is the caller 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 235 of file volFieldValue.C.

References Foam::read().

Here is the call graph for this function:

◆ ~volFieldValue()

~volFieldValue ( )
virtual

Destructor.

Definition at line 253 of file volFieldValue.C.

References volFieldValue::read().

Here is the call graph for this function:

Member Function Documentation

◆ initialise()

void initialise ( const dictionary dict)
protected

Initialise, e.g. cell addressing.

Definition at line 77 of file volFieldValue.C.

References Foam::endl(), dictionary::found(), Foam::Info, dictionary::lookup(), Foam::name(), Foam::nl, dictionary::readIfPresent(), and volFieldValue::writeFileHeaderLocation().

Referenced by NamedEnum< compressibleField, 8 >::names().

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

◆ validField()

bool validField ( const word fieldName) const
protected

Return true if the field name is valid.

Definition at line 33 of file volFieldValueTemplates.C.

References volFieldValue::getFieldValues().

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.

Referenced by volFieldValue::validField().

Here is the caller graph for this function:

◆ opMag()

void opMag ( const Field< Type > &  values,
Result< scalar > &  result,
const Op op 
) const
protected

Apply a comparison operation (min/max) to the field magnitude,.

returning the limiting value, its index and processor index

Definition at line 72 of file volFieldValueTemplates.C.

References Foam::constant::physicoChemical::b, volFieldValue::Result< Type >::cc, volFieldValue::Result< Type >::celli, forAll, Foam::isNull(), Foam::mag(), volFieldValue::processValues(), volFieldValue::Result< Type >::proci, Foam::reduce(), and volFieldValue::Result< Type >::value.

Referenced by volFieldValue::getFieldValues().

Here is the call graph for this function:
Here is the caller 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 107 of file volFieldValueTemplates.C.

Referenced by volFieldValue::opMag(), volFieldValue::processValues(), and volFieldValue::writeFileHeader().

Here is the caller graph for this function:

◆ 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 120 of file volFieldValueTemplates.C.

References volFieldValue::processValues().

Here is the call graph for this function:

◆ 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 133 of file volFieldValueTemplates.C.

References volFieldValue::processValuesTypeType().

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::max(), Foam::min(), and volFieldValue::volFieldValue().

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

Apply a Type -> Type operation to the values.

Definition at line 162 of file volFieldValueTemplates.C.

References Foam::fvc::average(), Foam::cmptMag(), Foam::component(), Field< Type >::component(), Foam::gMax(), Foam::gMin(), Foam::gSum(), Foam::max(), Foam::min(), Foam::setComponent(), Foam::sqr(), Foam::sqrt(), Foam::sum(), Foam::sumMag(), volFieldValue::Result< Type >::value, and volFieldValue::writeValues().

Referenced by volFieldValue::processValues().

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

◆ 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.

Referenced by volFieldValue::initialise().

Here is the call graph for this function:
Here is the caller 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, FOR_ALL_FIELD_TYPES, forAll, volFieldValue::processValues(), Foam::tab, volRegion::writeFileHeader(), and writeFileHeaderLocationFieldType.

Referenced by Foam::functionObjects::fieldValues::volFieldValue::writeFileHeaderLocation< Foam::scalar >().

Here is the call graph for this function:
Here is the caller 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 239 of file volFieldValueTemplates.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, FOR_ALL_FIELD_TYPES, Foam::vtkWriteOps::write(), and writeValuesFieldType.

Referenced by volFieldValue::processValuesTypeType().

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

◆ writeValues() [2/2]

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

◆ filterField() [1/2]

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

Filter a field according to cellIds.

Referenced by volFieldValue::writeValues().

Here is the caller graph for this function:

◆ read()

bool read ( const dictionary dict)
virtual

Read from dictionary.

Reimplemented from fieldValue.

Definition at line 260 of file volFieldValue.C.

References 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 273 of file volFieldValue.C.

References Foam::endl(), Foam::file, FOR_ALL_FIELD_TYPES, forAll, Foam::isNull(), 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 51 of file volFieldValueTemplates.C.

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

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 361 of file volFieldValueTemplates.C.

References field(), and Foam::isNull().

Here is the call graph for this function:

Member Data Documentation

◆ operationTypeNames_

Operation type names.

Definition at line 256 of file volFieldValue.H.

Referenced by NamedEnum< compressibleField, 8 >::names().

◆ writeLocation_

Switch writeLocation_
protected

Write the location if available for this operation - optional.

Definition at line 263 of file volFieldValue.H.

◆ operation_

operationType operation_
protected

Operation to apply to values.

Definition at line 274 of file volFieldValue.H.

◆ weightFieldNames_

wordList weightFieldNames_
protected

Weight field names.

Definition at line 277 of file volFieldValue.H.

◆ scaleFactor_

scalar scaleFactor_
protected

Scale factor - optional.

Definition at line 280 of file volFieldValue.H.


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