diff --git a/src/functionObjects/field/fieldAverage/fieldAverage.H b/src/functionObjects/field/fieldAverage/fieldAverage.H index 6985a21670..6d6a748d34 100644 --- a/src/functionObjects/field/fieldAverage/fieldAverage.H +++ b/src/functionObjects/field/fieldAverage/fieldAverage.H @@ -32,7 +32,9 @@ Group Description Calculates average quantities for a user-specified selection of volumetric and surface fields. - With the %subRegion option, also supports fields on a surfMesh. + With the %subRegion option, also supports fields on functionObject + surface output (eg, sampledSurfaces). + 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 @@ -104,15 +106,15 @@ Usage Where the entries comprise: \table - 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 | - restartTime | One-shot reset of the averaging | no | great - fields | list of fields and averaging options | yes | - subRegion | name of a sub-region such as a surface name | no | + 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 | + restartTime | One-shot reset of the averaging | no | great + fields | list of fields and averaging options | yes | + subRegion | Name for alternative objectRegistry | no | "" \endtable diff --git a/src/functionObjects/field/fieldAverage/fieldAverageTemplates.C b/src/functionObjects/field/fieldAverage/fieldAverageTemplates.C index 6b7fe6e1be..edfa9628e1 100644 --- a/src/functionObjects/field/fieldAverage/fieldAverageTemplates.C +++ b/src/functionObjects/field/fieldAverage/fieldAverageTemplates.C @@ -28,7 +28,7 @@ License #include "fieldAverageItem.H" #include "volFields.H" #include "surfaceFields.H" -#include "surfFields.H" +#include "polySurfaceFields.H" #include "OFstream.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -99,7 +99,7 @@ void Foam::functionObjects::fieldAverage::addMeanField { typedef GeometricField VolFieldType; typedef GeometricField SurfaceFieldType; - typedef DimensionedField SurfFieldType; + typedef DimensionedField SurfFieldType; if (item.mean()) { @@ -169,7 +169,7 @@ void Foam::functionObjects::fieldAverage::restoreWindowFields { typedef GeometricField VolFieldType; typedef GeometricField SurfaceFieldType; - typedef DimensionedField SurfFieldType; + typedef DimensionedField SurfFieldType; if (item.window() > 0) { @@ -243,11 +243,11 @@ void Foam::functionObjects::fieldAverage::addPrime2MeanField { typedef GeometricField VolFieldType1; typedef GeometricField SurfaceFieldType1; - typedef DimensionedField SurfFieldType1; + typedef DimensionedField SurfFieldType1; typedef GeometricField VolFieldType2; typedef GeometricField SurfaceFieldType2; - typedef DimensionedField SurfFieldType2; + typedef DimensionedField SurfFieldType2; if (item.prime2Mean()) { @@ -312,7 +312,7 @@ void Foam::functionObjects::fieldAverage::storeWindowFields() { typedef GeometricField VolFieldType; typedef GeometricField SurfaceFieldType; - typedef DimensionedField SurfFieldType; + typedef DimensionedField SurfFieldType; for (fieldAverageItem& item : faItems_) { @@ -331,7 +331,7 @@ void Foam::functionObjects::fieldAverage::calculateMeanFields() const { typedef GeometricField VolFieldType; typedef GeometricField SurfaceFieldType; - typedef DimensionedField SurfFieldType; + typedef DimensionedField SurfFieldType; for (const fieldAverageItem& item : faItems_) { @@ -347,11 +347,11 @@ void Foam::functionObjects::fieldAverage::calculatePrime2MeanFields() const { typedef GeometricField VolFieldType1; typedef GeometricField SurfaceFieldType1; - typedef DimensionedField SurfFieldType1; + typedef DimensionedField SurfFieldType1; typedef GeometricField VolFieldType2; typedef GeometricField SurfaceFieldType2; - typedef DimensionedField SurfFieldType2; + typedef DimensionedField SurfFieldType2; for (const fieldAverageItem& item : faItems_) { @@ -391,11 +391,11 @@ void Foam::functionObjects::fieldAverage::addMeanSqrToPrime2Mean() const { typedef GeometricField VolFieldType1; typedef GeometricField SurfaceFieldType1; - typedef DimensionedField SurfFieldType1; + typedef DimensionedField SurfFieldType1; typedef GeometricField VolFieldType2; typedef GeometricField SurfaceFieldType2; - typedef DimensionedField SurfFieldType2; + typedef DimensionedField SurfFieldType2; for (const fieldAverageItem& item : faItems_) { @@ -431,7 +431,7 @@ void Foam::functionObjects::fieldAverage::writeFields() const { typedef GeometricField VolFieldType; typedef GeometricField SurfaceFieldType; - typedef DimensionedField SurfFieldType; + typedef DimensionedField SurfFieldType; for (const fieldAverageItem& item : faItems_) { diff --git a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C index 056b00a0c5..65225a544a 100644 --- a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C +++ b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C @@ -60,7 +60,7 @@ Foam::functionObjects::fieldValues::surfaceFieldValue::regionTypeNames_ ({ { regionTypes::stFaceZone, "faceZone" }, { regionTypes::stPatch, "patch" }, - { regionTypes::stSurface, "surface" }, + { regionTypes::stObject, "functionObjectSurface" }, { regionTypes::stSampled, "sampledSurface" }, }); @@ -118,9 +118,9 @@ Foam::functionObjects::fieldValues::surfaceFieldValue::postOperationTypeNames_ const Foam::objectRegistry& Foam::functionObjects::fieldValues::surfaceFieldValue::obr() const { - if (stSurface == regionType_) + if (stObject == regionType_) { - return mesh_.lookupObject(regionName_); + return storedObjects().lookupObject(regionName_); } return mesh_; @@ -368,9 +368,9 @@ combineSurfaceGeometry pointField& points ) const { - if (stSurface == regionType_) + if (stObject == regionType_) { - const surfMesh& s = dynamicCast(obr()); + const polySurface& s = dynamicCast(obr()); if (Pstream::parRun()) { @@ -436,9 +436,9 @@ Foam::functionObjects::fieldValues::surfaceFieldValue::totalArea() const { scalar totalArea = 0; - if (stSurface == regionType_) + if (stObject == regionType_) { - const surfMesh& s = dynamicCast(obr()); + const polySurface& s = dynamicCast(obr()); totalArea = gSum(s.magSf()); } @@ -505,9 +505,9 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::update() setPatchFaces(); break; } - case stSurface: + case stObject: { - const surfMesh& s = dynamicCast(obr()); + const polySurface& s = dynamicCast(obr()); nFaces_ = returnReduce(s.size(), sumOp