Calculates average quantities for a user-specified selection of volumetric and 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... | |
virtual | ~fieldAverage () |
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 () |
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 () |
Destructor. More... | |
Public Member Functions inherited from 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... | |
virtual | ~functionObject () |
Destructor. More... | |
const word & | name () const |
Return the name of this functionObject. More... | |
virtual bool | end () |
Called when Time::run() determines that the time-loop exits. More... | |
virtual bool | setTimeStep () |
Called by Time::setDeltaT(). Allows the function object to override. More... | |
virtual scalar | timeToNextWrite () |
Called by Time::adjustTimeStep(). Allows the function object 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... | |
Protected Member Functions | |
void | resetFields () |
Checkout fields (causes deletion) from the database. More... | |
void | initialize () |
Reset lists (clear existing values) and initialize averaging. More... | |
void | restart () |
Restart averaging for restartOnOutput. More... | |
template<class Type > | |
void | addMeanFieldType (const label fieldi) |
Add mean average field to database. More... | |
template<class Type > | |
void | addMeanField (const label fieldi) |
Add mean average field to database. More... | |
template<class Type1 , class Type2 > | |
void | addPrime2MeanFieldType (const label fieldi) |
Add prime-squared average field to database. More... | |
template<class Type1 , class Type2 > | |
void | addPrime2MeanField (const label fieldi) |
Add prime-squared average field to database. More... | |
virtual void | calcAverages () |
Main calculation routine. More... | |
template<class Type > | |
void | calculateMeanFieldType (const label fieldi) const |
Calculate mean average fields. More... | |
template<class Type > | |
void | calculateMeanFields () const |
Calculate mean average fields. More... | |
template<class Type1 , class Type2 > | |
void | calculatePrime2MeanFieldType (const label fieldi) const |
Calculate prime-squared 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 label fieldi) 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... | |
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 () const |
Write averaging properties - steps and time. More... | |
void | readAveragingProperties () |
Read averaging properties - steps and time. More... | |
fieldAverage (const fieldAverage &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const fieldAverage &) |
Disallow default bitwise assignment. 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 > | |
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 (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 Attributes | |
label | prevTimeIndex_ |
Time at last call, prevents repeated averaging. 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... | |
bool | initialised_ |
Initialised flag. 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 | |
const Time & | time_ |
Reference to the Time. More... | |
const objectRegistry & | obr_ |
Reference to the region objectRegistry. More... | |
Additional Inherited Members | |
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... | |
Static Public Attributes inherited from functionObject | |
static int | debug |
static bool | postProcess |
Global post-processing mode switch. More... | |
Calculates average quantities for a user-specified selection of volumetric and 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 meanprime2Mean:
prime-squared meanbase:
average over 'time', or 'iteration'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 resultant fields are:
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.
Example of function object specification:
fieldAverage1 { type fieldAverage; libs ("libfieldFunctionObjects.so"); writeControl writeTime; restartOnRestart false; restartOnOutput false; periodicRestart false; restartPeriod 0.002; fields ( U { mean on; prime2Mean on; base time; window 10.0; windowName w1; } p { mean on; prime2Mean on; base time; } ); }
Property | Description | Required | Default |
---|---|---|---|
type | type name: fieldAverage | yes | |
restartOnRestart | Restart the averaging on restart | no | no |
restartOnOutput | Restart the averaging on output | no | no |
periodicRestart | Periodically restart the averaging | no | no |
restartPeriod | Periodic restart period | conditional | |
fields | list of fields and averaging options | yes |
prime2Mean
option, the mean
option must be selected.Definition at line 170 of file fieldAverage.H.
|
protected |
Disallow default bitwise copy construct.
Referenced by fieldAverage::readAveragingProperties().
fieldAverage | ( | const word & | name, |
const Time & | runTime, | ||
const dictionary & | dict | ||
) |
Construct from Time and dictionary.
Definition at line 283 of file fieldAverage.C.
References Foam::read().
|
virtual |
Destructor.
Definition at line 307 of file fieldAverage.C.
|
protected |
Checkout fields (causes deletion) from the database.
and reset lists
Definition at line 45 of file fieldAverage.C.
References forAll.
|
protected |
Reset lists (clear existing values) and initialize averaging.
Check requested field averages are valid, populate field lists
Definition at line 68 of file fieldAverage.C.
References forAll.
|
protected |
Restart averaging for restartOnOutput.
Definition at line 117 of file fieldAverage.C.
References Foam::endl(), Log, and Foam::nl.
|
protected |
Add mean average field to database.
Definition at line 34 of file fieldAverageTemplates.C.
References Foam::endl(), fieldAverage::faItems_, HashTable< T, Key, Hash >::found(), objectRegistry::foundObject(), Log, objectRegistry::lookupObject(), IOobject::NO_READ, IOobject::NO_WRITE, regionFunctionObject::obr_, IOobject::READ_IF_PRESENT, fieldAverage::restartOnOutput_, Time::startTime(), regIOobject::store(), objectRegistry::time(), Time::timeName(), and dimensioned< Type >::value().
|
protected |
Add mean average field to database.
Definition at line 78 of file fieldAverageTemplates.C.
References fieldAverage::addPrime2MeanFieldType(), fieldAverage::faItems_, objectRegistry::foundObject(), and regionFunctionObject::obr_.
|
protected |
Add prime-squared average field to database.
Definition at line 104 of file fieldAverageTemplates.C.
References fieldAverage::faItems_, HashTable< T, Key, Hash >::found(), objectRegistry::foundObject(), Log, objectRegistry::lookupObject(), Foam::nl, IOobject::NO_READ, IOobject::NO_WRITE, regionFunctionObject::obr_, IOobject::READ_IF_PRESENT, fieldAverage::restartOnOutput_, Foam::sqr(), Time::startTime(), regIOobject::store(), objectRegistry::time(), Time::timeName(), and dimensioned< Type >::value().
Referenced by fieldAverage::addMeanField().
|
protected |
Add prime-squared average field to database.
Definition at line 152 of file fieldAverageTemplates.C.
References fieldAverage::calculateMeanFieldType(), Foam::exit(), fieldAverage::faItems_, Foam::FatalError, FatalErrorInFunction, objectRegistry::foundObject(), Foam::nl, and regionFunctionObject::obr_.
|
protectedvirtual |
Main calculation routine.
Definition at line 129 of file fieldAverage.C.
References Foam::endl(), forAll, Log, Foam::name(), Foam::nl, and Foam::type().
|
protected |
Calculate mean average fields.
Definition at line 189 of file fieldAverageTemplates.C.
References beta(), TimeState::deltaTValue(), fieldAverage::faItems_, objectRegistry::foundObject(), objectRegistry::lookupObject(), objectRegistry::lookupObjectRef(), regionFunctionObject::obr_, objectRegistry::time(), fieldAverage::totalIter_, and fieldAverage::totalTime_.
Referenced by fieldAverage::addPrime2MeanField().
|
protected |
Calculate mean average fields.
Definition at line 229 of file fieldAverageTemplates.C.
References fieldAverage::calculatePrime2MeanFieldType(), fieldAverage::faItems_, and forAll.
|
protected |
Calculate prime-squared average fields.
Definition at line 247 of file fieldAverageTemplates.C.
References beta(), TimeState::deltaTValue(), fieldAverage::faItems_, objectRegistry::foundObject(), objectRegistry::lookupObject(), objectRegistry::lookupObjectRef(), regionFunctionObject::obr_, Foam::sqr(), objectRegistry::time(), fieldAverage::totalIter_, and fieldAverage::totalTime_.
Referenced by fieldAverage::calculateMeanFields().
|
protected |
Calculate prime-squared average fields.
Definition at line 292 of file fieldAverageTemplates.C.
References fieldAverage::addMeanSqrToPrime2MeanType(), fieldAverage::faItems_, and forAll.
|
protected |
Add mean-squared field value to prime-squared mean field.
Definition at line 316 of file fieldAverageTemplates.C.
References fieldAverage::faItems_, objectRegistry::foundObject(), objectRegistry::lookupObject(), objectRegistry::lookupObjectRef(), regionFunctionObject::obr_, and Foam::sqr().
Referenced by fieldAverage::calculatePrime2MeanFields().
|
protected |
Add mean-squared field value to prime-squared mean field.
Definition at line 336 of file fieldAverageTemplates.C.
References fieldAverage::faItems_, forAll, and fieldAverage::writeFieldType().
|
protectedvirtual |
Write averages.
Definition at line 179 of file fieldAverage.C.
References Foam::endl(), and Log.
|
protected |
Write fields.
Definition at line 357 of file fieldAverageTemplates.C.
References f(), objectRegistry::foundObject(), objectRegistry::lookupObject(), and regionFunctionObject::obr_.
Referenced by fieldAverage::addMeanSqrToPrime2Mean().
|
protected |
Write fields.
Definition at line 370 of file fieldAverageTemplates.C.
References fieldAverage::faItems_, and forAll.
|
protected |
Write averaging properties - steps and time.
Definition at line 193 of file fieldAverage.C.
References dictionary::add(), Foam::endl(), forAll, Log, Foam::name(), IOobject::NO_READ, IOobject::NO_WRITE, propsDict(), and dictionary::subDict().
|
protected |
Read averaging properties - steps and time.
Definition at line 223 of file fieldAverage.C.
References fieldAverage::fieldAverage(), forAll, dictionary::found(), Foam::Info, Foam::log(), Log, IOobject::MUST_READ_IF_MODIFIED, Foam::name(), Foam::nl, IOobject::NO_WRITE, propsDict(), Foam::readLabel(), Foam::readScalar(), dictionary::subDict(), and IOobject::typeHeaderOk().
|
protected |
Disallow default bitwise assignment.
TypeName | ( | "fieldAverage" | ) |
Runtime type information.
|
virtual |
Read the field average data.
Reimplemented from regionFunctionObject.
Definition at line 313 of file fieldAverage.C.
References Foam::endl(), Log, dictionary::lookup(), Foam::name(), Foam::nl, regionFunctionObject::read(), dictionary::readIfPresent(), and Foam::type().
|
virtual |
Calculate the field averages.
Implements functionObject.
Definition at line 339 of file fieldAverage.C.
|
virtual |
|
protected |
Time at last call, prevents repeated averaging.
Definition at line 179 of file fieldAverage.H.
|
protected |
Restart the averaging process on restart.
Definition at line 182 of file fieldAverage.H.
|
protected |
Restart the averaging process on output.
Definition at line 185 of file fieldAverage.H.
Referenced by fieldAverage::addMeanFieldType(), and fieldAverage::addPrime2MeanFieldType().
|
protected |
Periodically restart the averaging process.
Definition at line 188 of file fieldAverage.H.
|
protected |
Restart period.
Definition at line 191 of file fieldAverage.H.
|
protected |
Initialised flag.
Definition at line 194 of file fieldAverage.H.
|
protected |
List of field average items, describing what averages to be.
calculated and output
Definition at line 198 of file fieldAverage.H.
Referenced by fieldAverage::addMeanField(), fieldAverage::addMeanFieldType(), fieldAverage::addMeanSqrToPrime2Mean(), fieldAverage::addMeanSqrToPrime2MeanType(), fieldAverage::addPrime2MeanField(), fieldAverage::addPrime2MeanFieldType(), fieldAverage::calculateMeanFields(), fieldAverage::calculateMeanFieldType(), fieldAverage::calculatePrime2MeanFields(), fieldAverage::calculatePrime2MeanFieldType(), and fieldAverage::writeFields().
Iteration steps counter.
Definition at line 203 of file fieldAverage.H.
Referenced by fieldAverage::calculateMeanFieldType(), and fieldAverage::calculatePrime2MeanFieldType().
|
protected |
Total time counter.
Definition at line 206 of file fieldAverage.H.
Referenced by fieldAverage::calculateMeanFieldType(), and fieldAverage::calculatePrime2MeanFieldType().
|
protected |
Index for periodic restart.
Definition at line 209 of file fieldAverage.H.