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") | |
fieldAverage (const word &name, const Time &runTime, const dictionary &) | |
fieldAverage (const fieldAverage &)=delete | |
void | operator= (const fieldAverage &)=delete |
virtual | ~fieldAverage ()=default |
virtual bool | read (const dictionary &) |
virtual bool | execute () |
virtual bool | write () |
![]() | |
TypeName ("fvMeshFunctionObject") | |
fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
virtual | ~fvMeshFunctionObject ()=default |
![]() | |
TypeName ("regionFunctionObject") | |
regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
virtual | ~regionFunctionObject ()=default |
template<class ObjectType > | |
const ObjectType * | lookupObjectPtr (const word &fieldName) const |
template<class ObjectType > | |
ObjectType * | lookupObjectRefPtr (const word &fieldName) const |
![]() | |
stateFunctionObject (const word &name, const Time &runTime) | |
virtual | ~stateFunctionObject ()=default |
dictionary & | propertyDict () |
bool | foundProperty (const word &entryName) const |
void | clearTrigger () |
label | getTrigger () const |
bool | setTrigger (const label triggeri, bool increaseOnly=true) |
bool | getDict (const word &entryName, dictionary &dict) const |
bool | getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const |
template<class Type > | |
Type | getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
template<class Type > | |
bool | getProperty (const word &entryName, Type &value) const |
template<class Type > | |
void | setProperty (const word &entryName, const Type &value) |
template<class Type > | |
Type | getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
template<class Type > | |
bool | getObjectProperty (const word &objectName, const word &entryName, Type &value) const |
template<class Type > | |
void | setObjectProperty (const word &objectName, const word &entryName, const Type &value) |
template<class Type > | |
void | setResult (const word &entryName, const Type &value) |
template<class Type > | |
void | setObjectResult (const word &objectName, const word &entryName, const Type &value) |
template<class Type > | |
Type | getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const |
template<class Type > | |
Type | getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
template<class Type > | |
bool | getObjectResult (const word &objectName, const word &entryName, Type &value) const |
word | resultType (const word &entryName) const |
word | objectResultType (const word &objectName, const word &entryName) const |
wordList | objectResultEntries () const |
wordList | objectResultEntries (const word &objectName) const |
void | writeResultEntries (Ostream &os) const |
void | writeResultEntries (const word &objectName, Ostream &os) const |
void | writeAllResultEntries (Ostream &os) const |
![]() | |
timeFunctionObject (const word &name, const Time &runTime) | |
virtual | ~timeFunctionObject ()=default |
const Time & | time () const |
objectRegistry & | storedObjects () |
const objectRegistry & | storedObjects () const |
![]() | |
declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict)) | |
functionObject (const word &name, const bool withNamePrefix=defaultUseNamePrefix) | |
autoPtr< functionObject > | clone () const |
virtual | ~functionObject ()=default |
virtual const word & | type () const =0 |
const word & | name () const noexcept |
bool | useNamePrefix () const noexcept |
bool | useNamePrefix (bool on) noexcept |
virtual bool | execute (const label subIndex) |
virtual bool | end () |
virtual bool | adjustTimeStep () |
virtual bool | filesModified () const |
virtual void | updateMesh (const mapPolyMesh &mpm) |
virtual void | movePoints (const polyMesh &mesh) |
Protected Member Functions | |
void | initialize () |
void | restart () |
template<class Type > | |
void | addMeanFieldType (fieldAverageItem &item) |
template<class Type > | |
void | addMeanField (fieldAverageItem &item) |
template<class Type1 , class Type2 > | |
void | addPrime2MeanFieldType (fieldAverageItem &item) |
template<class Type1 , class Type2 > | |
void | addPrime2MeanField (fieldAverageItem &item) |
virtual void | calcAverages () |
template<class Type > | |
void | calculateMeanFields () const |
template<class Type1 , class Type2 > | |
void | calculatePrime2MeanFields () const |
template<class Type1 , class Type2 > | |
void | addMeanSqrToPrime2MeanType (const fieldAverageItem &item) const |
template<class Type1 , class Type2 > | |
void | addMeanSqrToPrime2Mean () const |
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 |
template<class Type > | |
void | writeFieldType (const word &fieldName) const |
template<class Type > | |
void | writeFields () const |
void | writeAveragingProperties () |
void | readAveragingProperties () |
![]() | |
fvMeshFunctionObject (const fvMeshFunctionObject &)=delete | |
void | operator= (const fvMeshFunctionObject &)=delete |
![]() | |
virtual const objectRegistry & | obr () const |
template<class ObjectType > | |
bool | foundObject (const word &fieldName) const |
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 |
template<class ObjectType > | |
ObjectType & | lookupObjectRef (const word &fieldName) const |
template<class ObjectType > | |
bool | store (word &fieldName, const tmp< ObjectType > &tfield, bool cacheable=false) |
template<class ObjectType > | |
bool | storeInDb (const word &fieldName, const tmp< ObjectType > &tfield, const objectRegistry &obr) |
bool | writeObject (const word &fieldName) |
bool | clearObject (const word &fieldName) |
void | clearObjects (const wordList &objNames) |
regionFunctionObject (const regionFunctionObject &)=delete | |
void | operator= (const regionFunctionObject &)=delete |
![]() | |
const functionObjects::properties & | stateDict () const |
functionObjects::properties & | stateDict () |
stateFunctionObject (const stateFunctionObject &)=delete | |
void | operator= (const stateFunctionObject &)=delete |
![]() | |
void | clearOutputObjects (const wordList &objNames) |
timeFunctionObject (const timeFunctionObject &)=delete | |
void | operator= (const timeFunctionObject &)=delete |
![]() | |
word | scopedName (const word &name) const |
Protected Attributes | |
label | prevTimeIndex_ |
bool | initialised_ |
Switch | restartOnRestart_ |
Switch | restartOnOutput_ |
Switch | periodicRestart_ |
scalar | restartPeriod_ |
scalar | restartTime_ |
List< fieldAverageItem > | faItems_ |
List< label > | totalIter_ |
List< scalar > | totalTime_ |
label | periodIndex_ |
![]() | |
const fvMesh & | mesh_ |
![]() | |
word | subRegistryName_ |
const objectRegistry & | obr_ |
const objectRegistry * | obrPtr_ |
![]() | |
const Time & | time_ |
Additional Inherited Members | |
![]() | |
static autoPtr< functionObject > | New (const word &name, const Time &runTime, const dictionary &dict) |
![]() | |
bool | log |
![]() | |
static int | debug |
static bool | postProcess |
static bool | defaultUseNamePrefix |
static word | outputPrefix |
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
prime2Mean:
prime-squared mean
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 255 of file fieldAverage.H.
fieldAverage | ( | const word & | name, |
const Time & | runTime, | ||
const dictionary & | dict | ||
) |
Definition at line 264 of file fieldAverage.C.
References dict, and Foam::read().
|
delete |
|
virtualdefault |
|
protected |
Definition at line 41 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 |
Definition at line 97 of file fieldAverage.C.
References Foam::endl(), Log, and Foam::nl.
|
protected |
Definition at line 32 of file fieldAverageTemplates.C.
References fieldAverageItem::active(), Foam::endl(), fieldAverageItem::fieldName(), found, Log, fieldAverageItem::mean(), fieldAverageItem::meanFieldName(), startTime, and timeName.
|
protected |
Definition at line 90 of file fieldAverageTemplates.C.
References fieldAverageItem::mean().
|
protected |
Definition at line 179 of file fieldAverageTemplates.C.
References Foam::endl(), fieldAverageItem::fieldName(), found, Log, fieldAverageItem::meanFieldName(), Foam::nl, fieldAverageItem::prime2Mean(), fieldAverageItem::prime2MeanFieldName(), Foam::sqr(), startTime, and timeName.
|
protected |
Definition at line 234 of file fieldAverageTemplates.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, fieldAverageItem::fieldName(), fieldAverageItem::mean(), Foam::nl, and fieldAverageItem::prime2Mean().
|
protectedvirtual |
Definition at line 112 of file fieldAverage.C.
References Foam::endl(), forAll, Log, Foam::name(), Foam::nl, and Foam::type().
|
protected |
Definition at line 324 of file fieldAverageTemplates.C.
References fieldAverageItem::calculateMeanField().
|
protected |
Definition at line 340 of file fieldAverageTemplates.C.
References fieldAverageItem::calculatePrime2MeanField().
|
protected |
Definition at line 364 of file fieldAverageTemplates.C.
References fieldAverageItem::fieldName(), fieldAverageItem::meanFieldName(), fieldAverageItem::prime2MeanFieldName(), and Foam::sqr().
|
protected |
Definition at line 384 of file fieldAverageTemplates.C.
References fieldAverageItem::prime2Mean().
|
protected |
Definition at line 265 of file fieldAverageTemplates.C.
References fieldAverageItem::addToWindow(), DebugInfo, Foam::endl(), fieldAverageItem::fieldName(), Foam::name(), startTime, timeName, and fieldAverageItem::windowFieldName().
|
protected |
Definition at line 305 of file fieldAverageTemplates.C.
References fieldAverage::faItems_, and fieldAverageItem::storeWindowFields().
|
protected |
Definition at line 109 of file fieldAverageTemplates.C.
References DebugInfo, Foam::endl(), fieldAverageItem::fieldName(), fieldNames(), forAllConstIters(), Foam::name(), startTime, timeName, IOobject::typeHeaderOk(), WarningInFunction, and fieldAverageItem::windowFieldNames().
|
protected |
Definition at line 160 of file fieldAverageTemplates.C.
References fieldAverageItem::window().
|
protectedvirtual |
Definition at line 185 of file fieldAverage.C.
References Foam::endl(), and Log.
|
protected |
Definition at line 411 of file fieldAverageTemplates.C.
References f().
|
protected |
Definition at line 424 of file fieldAverageTemplates.C.
References fieldNames(), forAllConstIters(), fieldAverageItem::mean(), fieldAverageItem::meanFieldName(), fieldAverageItem::prime2Mean(), fieldAverageItem::prime2MeanFieldName(), fieldAverageItem::windowFieldNames(), and fieldAverageItem::writeWindowFields().
|
protected |
Definition at line 199 of file fieldAverage.C.
References propsDict().
|
protected |
Definition at line 210 of file fieldAverage.C.
References Foam::endl(), Foam::Info, and Foam::nl.
TypeName | ( | "fieldAverage" | ) |
|
delete |
|
virtual |
Reimplemented from regionFunctionObject.
Definition at line 287 of file fieldAverage.C.
References dict, Foam::endl(), Foam::Info, Foam::name(), Foam::nl, regionFunctionObject::read(), and Foam::type().
|
virtual |
Implements functionObject.
Definition at line 367 of file fieldAverage.C.
|
virtual |
Implements functionObject.
Definition at line 375 of file fieldAverage.C.
|
protected |
Definition at line 264 of file fieldAverage.H.
Referenced by fieldAverage::initialize().
|
protected |
Definition at line 267 of file fieldAverage.H.
Referenced by fieldAverage::initialize().
|
protected |
Definition at line 270 of file fieldAverage.H.
|
protected |
Definition at line 273 of file fieldAverage.H.
|
protected |
Definition at line 276 of file fieldAverage.H.
|
protected |
Definition at line 279 of file fieldAverage.H.
|
protected |
Definition at line 282 of file fieldAverage.H.
|
protected |
Definition at line 286 of file fieldAverage.H.
Referenced by fieldAverage::initialize(), and fieldAverage::storeWindowFields().
|
protected |
Definition at line 291 of file fieldAverage.H.
|
protected |
Definition at line 294 of file fieldAverage.H.
|
protected |
Definition at line 297 of file fieldAverage.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.