layerAverage Class Reference

This function object writes graphs of cell values, volume-averaged in the layers of cells in the mesh. More...

Inheritance diagram for layerAverage:
Collaboration diagram for layerAverage:

Public Member Functions

 TypeName ("layerAverage")
 Runtime type information. More...
 
 layerAverage (const word &name, const Time &runTime, const dictionary &dict)
 Construct from Time and dictionary. More...
 
 layerAverage (const layerAverage &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~layerAverage ()
 Destructor. More...
 
virtual bool read (const dictionary &)
 Read the field average data. More...
 
virtual wordList fields () const
 Return the list of fields required. More...
 
virtual bool execute ()
 Do nothing. More...
 
virtual bool write ()
 Calculate and write the graphs. More...
 
virtual void movePoints (const polyMesh &)
 Update for mesh point-motion. More...
 
virtual void topoChange (const polyTopoChangeMap &)
 Update topology using the given map. More...
 
virtual void mapMesh (const polyMeshMap &)
 Update from another mesh using the given map. More...
 
virtual void distribute (const polyDistributionMap &)
 Redistribute or update using the given distribution map. More...
 
void operator= (const layerAverage &)=delete
 Disallow default bitwise assignment. More...
 
template<class T >
Foam::tmp< Foam::Field< T > > sum (const VolInternalField< T > &cellField) const
 
template<class T >
Foam::tmp< Foam::Field< T > > average (const tmp< VolInternalField< scalar >> &cellWeight, const tmp< Field< scalar >> &layerWeight, const VolInternalField< T > &cellField) const
 
- 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)
 Construct from the region objectRegistry. More...
 
 fvMeshFunctionObject (const fvMeshFunctionObject &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~fvMeshFunctionObject ()
 Destructor. More...
 
const fvMeshmesh () const
 Return a reference to the mesh. 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)
 Construct from the region objectRegistry. 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 objectRegistryFunctionObject
 TypeName ("objectRegistryFunctionObject")
 Runtime type information. More...
 
 objectRegistryFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict)
 Construct from an objectRegistry and dictionary. More...
 
 objectRegistryFunctionObject (const word &name, const objectRegistry &obr)
 Construct from an objectRegistry. More...
 
 objectRegistryFunctionObject (const objectRegistryFunctionObject &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~objectRegistryFunctionObject ()
 Destructor. More...
 
void operator= (const objectRegistryFunctionObject &)=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, const Time &runTime)
 Construct from components. More...
 
 functionObject (const word &name, const Time &runTime, const dictionary &dict)
 Construct from dictionary. 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 timeToNextAction ()
 Called by Time::adjustTimeStep(). Allows the functionObject to. More...
 
virtual scalar maxDeltaT () const
 Return the maximum time-step for stable operation. More...
 
void operator= (const functionObject &)=delete
 Disallow default bitwise assignment. More...
 

Additional Inherited Members

- 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 execute at start time. More...
 
- Static Public Attributes inherited from functionObject
static bool postProcess
 Global post-processing mode switch. More...
 
- Protected Member Functions inherited from objectRegistryFunctionObject
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...
 
void cannotFindObjects (const wordList &fieldNames)
 Prints a warning message that fieldNames 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 >
ObjectType & store (const tmp< ObjectType > &tfield)
 Store the given field in the objectRegistry. More...
 
template<class ObjectType >
ObjectType & 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 Attributes inherited from fvMeshFunctionObject
const fvMeshmesh_
 Reference to the fvMesh. More...
 
- Protected Attributes inherited from objectRegistryFunctionObject
const objectRegistryobr_
 Reference to the objectRegistry. More...
 
- Protected Attributes inherited from functionObject
const Timetime_
 Reference to time. More...
 

Detailed Description

This function object writes graphs of cell values, volume-averaged in the layers of cells in the mesh.

The layers are defined by a set of patches or zones. Between these patches and/or zones the mesh must be perfectly layered; i.e., every cell must be a prism for which the base polygon is topologically similar to the corresponding face on the patch or zone. If the mesh is not layered in this way, then consider using the cutLayerAverage function instead.

Patches can be used to define the start of the layers and hence the beginning of the graph. E.g.:

          Patch
         <--||    1    |    2    |    3    | ...
            ||---------+---------+---------+----
         <--||    1    |    2    |    3    | ...
            ||---------+---------+---------+----
         <--||    1    |    2    |    3    | ...

Zones can define either the start or the end of the layers, depending on the zones' orientations. Layers will be enumerated in the same way as for a patch; i.e., they will number outwards in a direction opposite to the zone's normal direction. If two zones (or a zone and a patch) overlap then the one in front (relative to the zones' orientations) defines the start of the layers and the one behind defines the end of the layers. If two zones overlap and have opposing orientations then an error will be generated.

          Zone A                         Zone B
... |    <--||    1    |    2    |    3 <--||       | ...
----+-------||---------+---------+---------||-------+----
... |    <--||    1    |    2    |    3 <--||       | ...
----+-------||---------+---------+---------||-------+----
... |    <--||    1    |    2    |    3 <--||       | ...

Example of function object specification:

layerAverage1
{
    type            layerAverage;
    libs            ("libfieldFunctionObjects.so");

    writeControl    writeTime;

    setFormat       raw;

    patches         (bottom);
    zones           (quarterPlane threeQuartersPlane);

    axis            y;

    symmetric       true;

    fields          (pMean pPrime2Mean UMean UPrime2Mean k);
}
Usage
Property Description Required Default value
type Type name: layerAverage yes
setFormat Output plotting format yes
patch Patch that layers extrude from no
patches Patches that layers extrude from no ()
zones Face zones that the layers extrude from no ()
axis Component of the position to plot against yes
symmetric Is the geometry symmetric around the centre layer? no false
fields Fields to average and plot yes
weightField Field with which to weight the average no none
weightFields Fields with which to weight the average no ()
See also
Foam::functionObjects::cutLayerAverage
Source files

Definition at line 185 of file layerAverage.H.

Constructor & Destructor Documentation

◆ layerAverage() [1/2]

layerAverage ( const word name,
const Time runTime,
const dictionary dict 
)

Construct from Time and dictionary.

Definition at line 218 of file layerAverage.C.

References dict, and layerAverage::read().

Here is the call graph for this function:

◆ layerAverage() [2/2]

layerAverage ( const layerAverage )
delete

Disallow default bitwise copy construction.

◆ ~layerAverage()

~layerAverage ( )
virtual

Destructor.

Definition at line 233 of file layerAverage.C.

Member Function Documentation

◆ TypeName()

TypeName ( "layerAverage"  )

Runtime type information.

◆ read()

bool read ( const dictionary dict)
virtual

Read the field average data.

Reimplemented from objectRegistryFunctionObject.

Definition at line 239 of file layerAverage.C.

References coordSet::axisTypeNames_, coordSet::DEFAULT, dict, Foam::endl(), Foam::findStrings(), Foam::Info, Foam::name(), setWriter::New(), Foam::nl, Foam::type(), and WarningInFunction.

Referenced by layerAverage::layerAverage().

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

◆ fields()

Foam::wordList fields ( ) const
virtual

Return the list of fields required.

Implements functionObject.

Definition at line 287 of file layerAverage.C.

References List< T >::append().

Here is the call graph for this function:

◆ execute()

bool execute ( )
virtual

Do nothing.

Implements functionObject.

Definition at line 295 of file layerAverage.C.

◆ write()

◆ movePoints()

void movePoints ( const polyMesh mesh)
virtual

Update for mesh point-motion.

Reimplemented from functionObject.

Definition at line 399 of file layerAverage.C.

References Foam::Info, mesh, Foam::name(), Foam::nl, and Foam::type().

Here is the call graph for this function:

◆ topoChange()

void topoChange ( const polyTopoChangeMap map)
virtual

Update topology using the given map.

Reimplemented from functionObject.

Definition at line 409 of file layerAverage.C.

References Foam::Info, polyTopoChangeMap::mesh(), Foam::name(), Foam::nl, and Foam::type().

Here is the call graph for this function:

◆ mapMesh()

void mapMesh ( const polyMeshMap map)
virtual

Update from another mesh using the given map.

Reimplemented from functionObject.

Definition at line 422 of file layerAverage.C.

References Foam::Info, polyMeshMap::mesh(), Foam::name(), Foam::nl, and Foam::type().

Here is the call graph for this function:

◆ distribute()

void distribute ( const polyDistributionMap map)
virtual

Redistribute or update using the given distribution map.

Reimplemented from functionObject.

Definition at line 432 of file layerAverage.C.

References Foam::Info, polyDistributionMap::mesh(), Foam::name(), Foam::nl, and Foam::type().

Here is the call graph for this function:

◆ operator=()

void operator= ( const layerAverage )
delete

Disallow default bitwise assignment.

◆ sum()

Foam::tmp<Foam::Field<T> > sum ( const VolInternalField< T > &  cellField) const

Definition at line 39 of file layerAverageTemplates.C.

References forAll, Pstream::listCombineGather(), Pstream::listCombineScatter(), tmp< T >::ref(), and Foam::Zero.

Here is the call graph for this function:

◆ average()

Foam::tmp<Foam::Field<T> > average ( const tmp< VolInternalField< scalar >> &  cellWeight,
const tmp< Field< scalar >> &  layerWeight,
const VolInternalField< T > &  cellField 
) const

Definition at line 63 of file layerAverageTemplates.C.

References Foam::cmptMultiply(), tmp< T >::ref(), List< T >::setSize(), and Foam::T().

Here is the call graph for this function:

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