Provides a 'volRegion' specialisation of the fieldValue function object. More...
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 dictionary & | dict () const |
Return the reference to the construction dictionary. More... | |
const word & | regionName () const |
Return the region name. More... | |
const wordList & | fields () const |
Return the list of field names. More... | |
const Switch & | writeFields () const |
Return the output field values flag. More... | |
const dictionary & | resultDict () 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 word & | type () 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< functionObject > | clone () const |
Return clone. More... | |
functionObject (const functionObject &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~functionObject () |
Destructor. More... | |
const word & | name () 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 wordList & | names () const |
Return const access to the names. More... | |
PtrList< OFstream > & | files () |
Return access to the files. More... | |
OFstream & | file () |
Return access to the file (if only 1) More... | |
OFstream & | file (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 regionTypes & | regionType () const |
Return the region type. More... | |
const labelList & | cellIDs () 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 fvMesh & | mesh_ |
Reference to the fvMesh. More... | |
Protected Attributes inherited from regionFunctionObject | |
const Time & | time_ |
Reference to the Time. More... | |
const objectRegistry & | obr_ |
Reference to the region objectRegistry. More... | |
Protected Attributes inherited from logFiles | |
wordList | names_ |
File names. More... | |
PtrList< OFstream > | filePtrs_ |
File pointer. More... | |
Protected Attributes inherited from writeFile | |
const objectRegistry & | fileObr_ |
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< fieldValue > | New (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< functionObject > | New (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... | |
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 ); }
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 |
Definition at line 229 of file volFieldValue.H.
|
strong |
Operation type enumeration.
Enumerator | |
---|---|
none | |
sum | |
sumMag | |
average | |
volAverage | |
volIntegrate | |
min | |
max | |
minMag | |
maxMag | |
CoV |
Definition at line 240 of file volFieldValue.H.
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().
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().
|
virtual |
Destructor.
Definition at line 253 of file volFieldValue.C.
References volFieldValue::read().
|
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().
|
protected |
Return true if the field name is valid.
Definition at line 33 of file volFieldValueTemplates.C.
References volFieldValue::getFieldValues().
Insert field values into values list.
Referenced by volFieldValue::validField().
|
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().
|
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().
|
protected |
Apply Type -> Type operation to the values. Calls.
processValuesTypeType.
Definition at line 120 of file volFieldValueTemplates.C.
References volFieldValue::processValues().
|
protected |
Apply Type -> scalar operation to the values.
Definition at line 133 of file volFieldValueTemplates.C.
References volFieldValue::processValuesTypeType().
|
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().
|
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().
|
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().
|
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 >().
TypeName | ( | "volFieldValue" | ) |
Run-time type information.
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().
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 308 of file volFieldValueTemplates.C.
References volFieldValue::Result< Type >::cc, volFieldValue::Result< Type >::celli, Foam::endl(), Foam::file, volFieldValue::filterField(), Log, volFieldValue::Result< Type >::proci, Foam::tab, volFieldValue::Result< Type >::value, and Foam::Zero.
Filter a field according to cellIds.
Referenced by volFieldValue::writeValues().
|
virtual |
Read from dictionary.
Reimplemented from fieldValue.
Definition at line 260 of file volFieldValue.C.
References fieldValue::read().
Referenced by volFieldValue::~volFieldValue().
|
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.
|
protected |
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().
Foam::tmp<Foam::Field<Type> > filterField | ( | const Field< Type > & | field | ) | const |
Definition at line 361 of file volFieldValueTemplates.C.
References field(), and Foam::isNull().
|
static |
Operation type names.
Definition at line 256 of file volFieldValue.H.
Referenced by NamedEnum< compressibleField, 8 >::names().
|
protected |
Write the location if available for this operation - optional.
Definition at line 263 of file volFieldValue.H.
|
protected |
Operation to apply to values.
Definition at line 274 of file volFieldValue.H.
|
protected |
Weight field names.
Definition at line 277 of file volFieldValue.H.
|
protected |
Scale factor - optional.
Definition at line 280 of file volFieldValue.H.