Computes ensemble- and/or time-based field averages, with optional windowing, for a user-specified selection of volumetric and/or surface fields. More...
Public Member Functions | |
TypeName ("fieldAverage") | |
Runtime type information. More... | |
fieldAverage (const word &name, const Time &runTime, const dictionary &) | |
Construct from Time and dictionary. More... | |
fieldAverage (const fieldAverage &)=delete | |
No copy construct. More... | |
void | operator= (const fieldAverage &)=delete |
No copy assignment. More... | |
virtual | ~fieldAverage ()=default |
Destructor. More... | |
virtual bool | read (const dictionary &) |
Read the field average data. More... | |
virtual bool | execute () |
Calculate the field averages. More... | |
virtual bool | write () |
Write the field averages. More... | |
Public Member Functions inherited from fvMeshFunctionObject | |
TypeName ("fvMeshFunctionObject") | |
Runtime type information. More... | |
fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
Construct from the region objectRegistry and dictionary. More... | |
virtual | ~fvMeshFunctionObject ()=default |
Destructor. More... | |
Public Member Functions inherited from regionFunctionObject | |
TypeName ("regionFunctionObject") | |
Runtime type information. More... | |
regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
Construct from the region objectRegistry and dictionary. More... | |
virtual | ~regionFunctionObject ()=default |
Destructor. More... | |
virtual bool | read (const dictionary &dict) |
Read optional controls. More... | |
template<class ObjectType > | |
const ObjectType * | lookupObjectPtr (const word &fieldName) const |
Deprecated(2018-10) More... | |
template<class ObjectType > | |
ObjectType * | lookupObjectRefPtr (const word &fieldName) const |
Deprecated(2018-10) More... | |
Public Member Functions inherited from stateFunctionObject | |
stateFunctionObject (const word &name, const Time &runTime) | |
Construct from components. More... | |
virtual | ~stateFunctionObject ()=default |
Destructor. More... | |
dictionary & | propertyDict () |
Return access to the property dictionary. More... | |
bool | foundProperty (const word &entryName) const |
Return true if the property exists. More... | |
void | clearTrigger () |
Remove the trigger index from the properties. More... | |
label | getTrigger () const |
Get the current trigger index. More... | |
bool | setTrigger (const label triggeri) |
Set new trigger index. More... | |
bool | getDict (const word &entryName, dictionary &dict) const |
Set dictionary, return true if set. More... | |
bool | getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const |
Set dictionary from named object, return true if set. More... | |
template<class Type > | |
Type | getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve generic property. More... | |
template<class Type > | |
bool | getProperty (const word &entryName, Type &value) const |
Set generic property, return true if set. More... | |
template<class Type > | |
void | setProperty (const word &entryName, const Type &value) |
Add generic property. More... | |
template<class Type > | |
Type | getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve generic property from named object. More... | |
template<class Type > | |
bool | getObjectProperty (const word &objectName, const word &entryName, Type &value) const |
Set generic property from named object, return true if set. More... | |
template<class Type > | |
void | setObjectProperty (const word &objectName, const word &entryName, const Type &value) |
Add generic property from named object. More... | |
template<class Type > | |
void | setResult (const word &entryName, const Type &value) |
Add result. More... | |
template<class Type > | |
void | setObjectResult (const word &objectName, const word &entryName, const Type &value) |
Add result from named object. More... | |
template<class Type > | |
Type | getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve result. More... | |
template<class Type > | |
Type | getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve result from named object. More... | |
template<class Type > | |
bool | getObjectResult (const word &objectName, const word &entryName, Type &value) const |
Set result from named object, return true if set. More... | |
word | resultType (const word &entryName) const |
Retrieve the result type. More... | |
word | objectResultType (const word &objectName, const word &entryName) const |
Return the type of result. More... | |
wordList | objectResultEntries () const |
Retrieve the result entries. More... | |
wordList | objectResultEntries (const word &objectName) const |
Return result entries for named object. More... | |
void | writeResultEntries (Ostream &os) const |
Write the results entries for all objects to stream. More... | |
void | writeResultEntries (const word &objectName, Ostream &os) const |
Write the results entries for named object to stream. More... | |
void | writeAllResultEntries (Ostream &os) const |
Write the results entries for all objects to stream. More... | |
Public Member Functions inherited from timeFunctionObject | |
timeFunctionObject (const word &name, const Time &runTime) | |
Construct from Time. More... | |
virtual | ~timeFunctionObject ()=default |
Destructor. More... | |
const Time & | time () const |
Return time database. More... | |
objectRegistry & | storedObjects () |
const objectRegistry & | storedObjects () const |
Public Member Functions inherited from functionObject | |
declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict)) | |
functionObject (const word &name, const bool withNamePrefix=defaultUseNamePrefix) | |
Construct from components. More... | |
autoPtr< functionObject > | clone () const |
Return clone. More... | |
virtual | ~functionObject ()=default |
Destructor. More... | |
virtual const word & | type () const =0 |
Runtime type information. More... | |
const word & | name () const noexcept |
Return the name of this functionObject. More... | |
bool | useNamePrefix () const noexcept |
Return the flag for adding a scoping name prefix. More... | |
bool | useNamePrefix (bool on) noexcept |
Modify the flag for adding a scoping name prefix. More... | |
virtual bool | read (const dictionary &dict) |
Read and set the function object if its data have changed. More... | |
virtual bool | execute ()=0 |
Called at each ++ or += of the time-loop. More... | |
virtual bool | execute (const label subIndex) |
Execute using the specified subIndex. More... | |
virtual bool | write ()=0 |
Called at each ++ or += of the time-loop. More... | |
virtual bool | end () |
Called when Time::run() determines that the time-loop exits. More... | |
virtual bool | adjustTimeStep () |
Called at the end of Time::adjustDeltaT() if adjustTime is true. More... | |
virtual bool | filesModified () const |
Did any file get changed during execution? More... | |
virtual void | updateMesh (const mapPolyMesh &mpm) |
Update for changes of mesh. More... | |
virtual void | movePoints (const polyMesh &mesh) |
Update for changes of mesh. More... | |
Protected Member Functions | |
void | initialize () |
Reset lists (clear existing values) and initialize averaging. More... | |
void | restart () |
Restart averaging for restartOnOutput. More... | |
template<class Type > | |
void | addMeanFieldType (fieldAverageItem &item) |
Add mean average field to database. More... | |
template<class Type > | |
void | addMeanField (fieldAverageItem &item) |
Add mean average field to database. More... | |
template<class Type1 , class Type2 > | |
void | addPrime2MeanFieldType (fieldAverageItem &item) |
Add prime-squared average field to database. More... | |
template<class Type1 , class Type2 > | |
void | addPrime2MeanField (fieldAverageItem &item) |
Add prime-squared average field to database. More... | |
virtual void | calcAverages () |
Main calculation routine. More... | |
template<class Type > | |
void | calculateMeanFields () const |
Calculate mean average fields. More... | |
template<class Type1 , class Type2 > | |
void | calculatePrime2MeanFields () const |
Calculate prime-squared average fields. More... | |
template<class Type1 , class Type2 > | |
void | addMeanSqrToPrime2MeanType (const fieldAverageItem &item) const |
Add mean-squared field value to prime-squared mean field. More... | |
template<class Type1 , class Type2 > | |
void | addMeanSqrToPrime2Mean () const |
Add mean-squared field value to prime-squared mean field. More... | |
template<class Type > | |
void | storeWindowFieldType (fieldAverageItem &item) |
template<class Type > | |
void | storeWindowFields () |
template<class Type > | |
void | restoreWindowFieldsType (const fieldAverageItem &item) |
template<class Type > | |
void | restoreWindowFields (const fieldAverageItem &item) |
virtual void | writeAverages () const |
Write averages. More... | |
template<class Type > | |
void | writeFieldType (const word &fieldName) const |
Write fields. More... | |
template<class Type > | |
void | writeFields () const |
Write fields. More... | |
void | writeAveragingProperties () |
Write averaging properties - steps and time. More... | |
void | readAveragingProperties () |
Read averaging properties - steps and time. More... | |
Protected Member Functions inherited from fvMeshFunctionObject | |
fvMeshFunctionObject (const fvMeshFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const fvMeshFunctionObject &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from regionFunctionObject | |
virtual const objectRegistry & | obr () const |
The region or sub-region registry being used. More... | |
template<class ObjectType > | |
bool | foundObject (const word &fieldName) const |
Find object (eg, a field) in the (sub) objectRegistry. More... | |
template<class ObjectType > | |
const ObjectType * | cfindObject (const word &fieldName) const |
template<class ObjectType > | |
const ObjectType * | findObject (const word &fieldName) const |
template<class ObjectType > | |
ObjectType * | findObject (const word &fieldName) |
template<class ObjectType > | |
ObjectType * | getObjectPtr (const word &fieldName) const |
template<class ObjectType > | |
const ObjectType & | lookupObject (const word &fieldName) const |
Lookup and return object (eg, a field) from the (sub) objectRegistry. More... | |
template<class ObjectType > | |
ObjectType & | lookupObjectRef (const word &fieldName) const |
Lookup and return object (eg, a field) from the (sub) objectRegistry. More... | |
template<class ObjectType > | |
bool | store (word &fieldName, const tmp< ObjectType > &tfield, bool cacheable=false) |
Store the field in the (sub) objectRegistry under the given name. More... | |
template<class ObjectType > | |
bool | storeInDb (const word &fieldName, const tmp< ObjectType > &tfield, const objectRegistry &obr) |
Store the field in an optional objectRegistry under the given name. More... | |
bool | writeObject (const word &fieldName) |
Write field if present in the (sub) objectRegistry. More... | |
bool | clearObject (const word &fieldName) |
Clear field from the (sub) objectRegistry if present. More... | |
void | clearObjects (const wordList &objNames) |
Clear fields from the (sub) objectRegistry if present. More... | |
regionFunctionObject (const regionFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const regionFunctionObject &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from stateFunctionObject | |
const functionObjects::properties & | stateDict () const |
Return a const reference to the state dictionary. More... | |
functionObjects::properties & | stateDict () |
Return non-const access to the state dictionary. More... | |
stateFunctionObject (const stateFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const stateFunctionObject &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from timeFunctionObject | |
void | clearOutputObjects (const wordList &objNames) |
Remove specified items from "functionObjectObjects". More... | |
timeFunctionObject (const timeFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const timeFunctionObject &)=delete |
No copy assignment. More... | |
Protected Member Functions inherited from functionObject | |
word | scopedName (const word &name) const |
Return a scoped (prefixed) name. More... | |
Protected Attributes | |
label | prevTimeIndex_ |
Time at last call, prevents repeated averaging. More... | |
bool | initialised_ |
Initialised flag. More... | |
Switch | restartOnRestart_ |
Restart the averaging process on restart. More... | |
Switch | restartOnOutput_ |
Restart the averaging process on output. More... | |
Switch | periodicRestart_ |
Periodically restart the averaging process. More... | |
scalar | restartPeriod_ |
Restart period. More... | |
scalar | restartTime_ |
Specific restart time. More... | |
List< fieldAverageItem > | faItems_ |
List of field average items, describing what averages to be. More... | |
List< label > | totalIter_ |
Iteration steps counter. More... | |
List< scalar > | totalTime_ |
Total time counter. More... | |
label | periodIndex_ |
Index for periodic restart. More... | |
Protected Attributes inherited from fvMeshFunctionObject | |
const fvMesh & | mesh_ |
Reference to the fvMesh. More... | |
Protected Attributes inherited from regionFunctionObject | |
word | subRegistryName_ |
Name for alternative object registry. More... | |
const objectRegistry & | obr_ |
Reference to the region objectRegistry. More... | |
const objectRegistry * | obrPtr_ |
Pointer to alternative (eg, sub-region) objectRegistry. More... | |
Protected Attributes inherited from timeFunctionObject | |
const Time & | time_ |
Reference to the time database. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from functionObject | |
static autoPtr< functionObject > | New (const word &name, const Time &runTime, const dictionary &dict) |
Select from dictionary, based on its "type" entry. More... | |
Public Attributes inherited from functionObject | |
bool | log |
Flag to write log into Info. More... | |
Static Public Attributes inherited from functionObject | |
static int | debug |
Flag to execute debug content. More... | |
static bool | postProcess |
Global post-processing mode switch. More... | |
static bool | defaultUseNamePrefix |
Global default for useNamePrefix. More... | |
static word | outputPrefix |
Directory prefix. More... | |
Computes ensemble- and/or time-based field averages, with optional windowing, for a user-specified selection of volumetric and/or surface fields.
Fields are entered as a list of sub-dictionaries, which indicate the type of averages to perform, and can be updated during the calculation. The current options include:
mean:
arithmetic mean \[ \overline{x} = \frac{1}{N}\displaystyle\sum\limits_{i=0}^N x_i \]
prime2Mean:
prime-squared mean \[ \overline{x'}^2 = \frac{1}{N}\displaystyle\sum\limits_{i=0}^N (x_i - \overline{x})^2 \]
base:
average over 'time', or 'iteration' (N
in the above)window:
optional averaging window, specified in 'base' unitsAverage field names are constructed by concatenating the base field with the averaging type, e.g. when averaging field 'U', the name of resultant fields becomes:
UMean
UPrime2Mean
Information regarding the number of averaging steps, and total averaging time are written on a per-field basis to the "<functionObject name>Properties"
dictionary, located in <time>/uniform
.
When restarting form a previous calculation, the averaging is continuous or may be restarted using the restartOnRestart
option.
The averaging process may be restarted after each calculation output time using the restartOnOutput
option or restarted periodically using the periodicRestart
option and setting restartPeriod
to the required averaging period.
With the subRegion
option, also supports fields on function object surface output (e.g., sampledSurfaces
).
Operands:
Operand | Type | Location |
---|---|---|
input | {vol,surface}<Type>Field(s) | $FOAM_CASE/<time>/<inpField>s |
output file | - | - |
output field | {vol,surface}<Type>Field(s) | $FOAM_CASE/<time>/<outField>s |
where <Type>=Scalar/Vector/SphericalTensor/SymmTensor/Tensor
.
system/controlDict.functions
: fieldAverage1 { // Mandatory entries (unmodifiable) type fieldAverage; libs (fieldFunctionObjects); // Mandatory entries (runtime modifiable) fields ( <field1> { // Optional (inherited) entries ... } ... <fieldN> { ... } ); // Optional entries (runtime modifiable) restartOnRestart false; restartOnOutput false; periodicRestart false; restartPeriod 0.002; // Optional (inherited) entries ... }
where the entries mean:
Property | Description | Type | Req'd | Dflt |
---|---|---|---|---|
type | Type name: fieldAverage | word | yes | - |
libs | Library name: fieldFunctionObjects | word | yes | - |
fields | Names of the operand fields and averaging options | dict | yes | - |
restartOnRestart | Restart the averaging on restart | bool | no | false |
restartOnOutput | Restart the averaging on output | bool | no | false |
periodicRestart | Periodically restart the averaging | bool | no | false |
restartPeriod | Periodic restart period | scalar | conditional | - |
restartTime | One-shot reset of the averaging | scalar | no | GREAT |
subRegion | Name for alternative objectRegistry | word | no | "" |
The inherited entries are elaborated in:
Usage by the postProcess
utility is not available.
Definition at line 259 of file fieldAverage.H.
fieldAverage | ( | const word & | name, |
const Time & | runTime, | ||
const dictionary & | dict | ||
) |
Construct from Time and dictionary.
Definition at line 270 of file fieldAverage.C.
References dict, and fieldAverage::read().
|
delete |
No copy construct.
|
virtualdefault |
Destructor.
|
protected |
Reset lists (clear existing values) and initialize averaging.
Check requested field averages are valid, populate field lists
Definition at line 48 of file fieldAverage.C.
References Foam::endl(), fieldAverage::faItems_, fieldAverage::initialised_, Log, functionObject::name(), Foam::nl, regionFunctionObject::obr(), fieldAverage::prevTimeIndex_, functionObject::type(), and WarningInFunction.
|
protected |
Restart averaging for restartOnOutput.
Definition at line 104 of file fieldAverage.C.
References Foam::endl(), Log, and Foam::nl.
|
protected |
Add mean average field to database.
Definition at line 38 of file fieldAverageTemplates.C.
References fieldAverageItem::active(), Foam::endl(), fieldAverageItem::fieldName(), found, Log, fieldAverageItem::mean(), fieldAverageItem::meanFieldName(), IOobject::NO_READ, IOobject::NO_WRITE, regionFunctionObject::obr(), IOobject::READ_IF_PRESENT, fieldAverage::restartOnOutput_, startTime, regIOobject::store(), timeFunctionObject::time(), and timeName.
|
protected |
Add mean average field to database.
Definition at line 96 of file fieldAverageTemplates.C.
References fieldAverageItem::mean().
|
protected |
Add prime-squared average field to database.
Definition at line 185 of file fieldAverageTemplates.C.
References Foam::endl(), fieldAverageItem::fieldName(), found, Log, fieldAverageItem::meanFieldName(), Foam::nl, IOobject::NO_READ, IOobject::NO_WRITE, fieldAverageItem::prime2Mean(), fieldAverageItem::prime2MeanFieldName(), IOobject::READ_IF_PRESENT, Foam::sqr(), startTime, and timeName.
|
protected |
Add prime-squared average field to database.
Definition at line 240 of file fieldAverageTemplates.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, fieldAverageItem::fieldName(), fieldAverageItem::mean(), Foam::nl, and fieldAverageItem::prime2Mean().
|
protectedvirtual |
Main calculation routine.
Definition at line 119 of file fieldAverage.C.
References Foam::endl(), forAll, Log, Foam::name(), Foam::nl, and Foam::type().
|
protected |
Calculate mean average fields.
Definition at line 331 of file fieldAverageTemplates.C.
|
protected |
Calculate prime-squared average fields.
Definition at line 347 of file fieldAverageTemplates.C.
|
protected |
Add mean-squared field value to prime-squared mean field.
Definition at line 370 of file fieldAverageTemplates.C.
References fieldAverageItem::fieldName(), fieldAverageItem::meanFieldName(), fieldAverageItem::prime2MeanFieldName(), and Foam::sqr().
|
protected |
Add mean-squared field value to prime-squared mean field.
Definition at line 391 of file fieldAverageTemplates.C.
|
protected |
Definition at line 271 of file fieldAverageTemplates.C.
References fieldAverageItem::addToWindow(), DebugInfo, Foam::endl(), fieldAverageItem::fieldName(), Foam::name(), IOobject::NO_READ, IOobject::NO_WRITE, IOobject::READ_IF_PRESENT, startTime, timeName, and fieldAverageItem::windowFieldName().
|
protected |
Definition at line 312 of file fieldAverageTemplates.C.
|
protected |
Definition at line 115 of file fieldAverageTemplates.C.
References DebugInfo, Foam::endl(), fieldAverageItem::fieldName(), forAllConstIters, io(), IOobject::MUST_READ, Foam::name(), IOobject::NO_WRITE, startTime, timeName, WarningInFunction, and fieldAverageItem::windowFieldNames().
|
protected |
Definition at line 166 of file fieldAverageTemplates.C.
References fieldAverageItem::window().
|
protectedvirtual |
Write averages.
Definition at line 192 of file fieldAverage.C.
References Foam::endl(), and Log.
|
protected |
Write fields.
Definition at line 417 of file fieldAverageTemplates.C.
References f(), and fieldAverage::writeFieldType().
Referenced by fieldAverage::writeFieldType().
|
protected |
Write fields.
Definition at line 431 of file fieldAverageTemplates.C.
References forAllConstIters.
Referenced by ReactingCloud< CloudType >::writeFields(), ReactingHeterogeneousCloud< CloudType >::writeFields(), ReactingMultiphaseCloud< CloudType >::writeFields(), DSMCParcel< ParcelType >::writeFields(), injectedParticle::writeFields(), molecule::writeFields(), solidParticle::writeFields(), streamLineParticle::writeFields(), wallBoundedStreamLineParticle::writeFields(), CollidingParcel< ParcelType >::writeFields(), KinematicParcel< ParcelType >::writeFields(), MPPICParcel< ParcelType >::writeFields(), ReactingHeterogeneousParcel< ParcelType >::writeFields(), ReactingMultiphaseParcel< ParcelType >::writeFields(), ReactingParcel< ParcelType >::writeFields(), ThermoParcel< ParcelType >::writeFields(), SprayParcel< ParcelType >::writeFields(), and wallBoundedParticle::writeFields().
|
protected |
Write averaging properties - steps and time.
Definition at line 206 of file fieldAverage.C.
References propsDict().
|
protected |
Read averaging properties - steps and time.
Definition at line 217 of file fieldAverage.C.
References Foam::endl(), Foam::Info, and Foam::nl.
TypeName | ( | "fieldAverage" | ) |
Runtime type information.
|
delete |
No copy assignment.
|
virtual |
Read the field average data.
Reimplemented from regionFunctionObject.
Definition at line 294 of file fieldAverage.C.
References dict, Foam::endl(), Foam::Info, Foam::name(), Foam::nl, kEpsilonLopesdaCosta< BasicTurbulenceModel >::read(), and Foam::type().
Referenced by fieldAverage::fieldAverage().
|
virtual |
Calculate the field averages.
Implements functionObject.
Definition at line 374 of file fieldAverage.C.
|
virtual |
|
protected |
Time at last call, prevents repeated averaging.
Definition at line 268 of file fieldAverage.H.
Referenced by fieldAverage::initialize().
|
protected |
Initialised flag.
Definition at line 271 of file fieldAverage.H.
Referenced by fieldAverage::initialize().
|
protected |
Restart the averaging process on restart.
Definition at line 274 of file fieldAverage.H.
|
protected |
Restart the averaging process on output.
Definition at line 277 of file fieldAverage.H.
Referenced by fieldAverage::addMeanFieldType().
|
protected |
Periodically restart the averaging process.
Definition at line 280 of file fieldAverage.H.
|
protected |
Restart period.
Definition at line 283 of file fieldAverage.H.
|
protected |
Specific restart time.
Definition at line 286 of file fieldAverage.H.
|
protected |
List of field average items, describing what averages to be.
calculated and output
Definition at line 290 of file fieldAverage.H.
Referenced by fieldAverage::initialize().
|
protected |
Iteration steps counter.
Definition at line 295 of file fieldAverage.H.
|
protected |
Total time counter.
Definition at line 298 of file fieldAverage.H.
|
protected |
Index for periodic restart.
Definition at line 301 of file fieldAverage.H.