A face
regionType variant of the fieldValues
function object.
More...
Public Types | |
enum | regionTypes { stFaceZone = 0x01, stPatch = 0x02, stObject = 0x11, stSampled = 0x12 } |
Region type enumeration. More... | |
enum | operationVariant { typeBase = 0, typeScalar = 0x100, typeWeighted = 0x200, typeAbsolute = 0x400 } |
Bitmask values for operation variants. More... | |
enum | operationType { opNone = 0, opMin, opMax, opSum, opSumMag, opSumDirection, opSumDirectionBalance, opAverage, opAreaAverage, opAreaIntegrate, opCoV, opAreaNormalAverage = typeScalar, opAreaNormalIntegrate, opUniformity, opWeightedSum = (opSum | typeWeighted), opWeightedAverage = (opAverage | typeWeighted), opWeightedAreaAverage = (opAreaAverage | typeWeighted), opWeightedAreaIntegrate = (opAreaIntegrate | typeWeighted), opWeightedUniformity = (opUniformity | typeWeighted), opAbsWeightedSum = (opWeightedSum | typeAbsolute), opAbsWeightedAverage = (opWeightedAverage | typeAbsolute), opAbsWeightedAreaAverage = (opWeightedAreaAverage | typeAbsolute), opAbsWeightedAreaIntegrate, opAbsWeightedUniformity } |
Operation type enumeration. More... | |
enum | postOperationType { postOpNone, postOpMag, postOpSqrt } |
Post-operation type enumeration. More... | |
Public Member Functions | |
TypeName ("surfaceFieldValue") | |
Declare type-name, virtual type (with debug switch) More... | |
surfaceFieldValue (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from name, Time and dictionary. More... | |
surfaceFieldValue (const word &name, const objectRegistry &obr, const dictionary &dict) | |
Construct from name, objectRegistry and dictionary. More... | |
surfaceFieldValue (const surfaceFieldValue &)=delete | |
No copy construct. More... | |
void | operator= (const surfaceFieldValue &)=delete |
No copy assignment. More... | |
virtual | ~surfaceFieldValue () |
Destructor. More... | |
regionTypes | regionType () const noexcept |
Return the region type. More... | |
fileName | outputDir () const |
Return the output directory. More... | |
virtual bool | read (const dictionary &dict) |
Read from dictionary. More... | |
virtual bool | write () |
Calculate and write. 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... | |
template<> | |
Foam::scalar | processValues (const Field< scalar > &values, const vectorField &Sf, const scalarField &weightField) const |
template<> | |
Foam::vector | processValues (const Field< vector > &values, const vectorField &Sf, const scalarField &weightField) const |
template<> | |
Foam::tmp< Foam::scalarField > | weightingFactor (const Field< scalar > &weightField, const bool useMag) |
template<> | |
Foam::tmp< Foam::scalarField > | weightingFactor (const Field< scalar > &weightField, const vectorField &Sf, const bool useMag) |
template<> | |
Foam::tmp< Foam::scalarField > | areaWeightingFactor (const Field< scalar > &weightField, const vectorField &Sf, const bool useMag) |
template<> | |
Foam::tmp< Foam::scalarField > | weightingFactor (const Field< vector > &weightField, const vectorField &Sf, const bool useMag) |
template<> | |
Foam::tmp< Foam::scalarField > | areaWeightingFactor (const Field< vector > &weightField, const vectorField &Sf, const bool useMag) |
template<> | |
scalar | processValues (const Field< scalar > &values, const vectorField &Sf, const scalarField &weightField) const |
Specialisation for scalar fields. More... | |
template<> | |
vector | processValues (const Field< vector > &values, const vectorField &Sf, const scalarField &weightField) const |
Specialisation for vector fields. More... | |
template<> | |
tmp< scalarField > | weightingFactor (const Field< scalar > &weightField, const bool useMag) |
Specialisation for scalar - pass through. More... | |
template<> | |
tmp< scalarField > | weightingFactor (const Field< scalar > &weightField, const vectorField &Sf, const bool useMag) |
Specialisation for scalar - pass through. More... | |
template<> | |
tmp< scalarField > | areaWeightingFactor (const Field< scalar > &weightField, const vectorField &Sf, const bool useMag) |
Specialisation for scalar - scalar * Area. More... | |
template<> | |
tmp< scalarField > | weightingFactor (const Field< vector > &weightField, const vectorField &Sf, const bool useMag) |
Specialisation for vector - vector (dot) unit-normal. More... | |
template<> | |
tmp< scalarField > | areaWeightingFactor (const Field< vector > &weightField, const vectorField &Sf, const bool useMag) |
Specialisation for vector - vector (dot) Area. More... | |
template<class WeightType > | |
Foam::tmp< Foam::scalarField > | weightingFactor (const Field< WeightType > &weightField, const bool useMag) |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | getFieldValues (const word &fieldName, const bool mandatory) const |
template<class WeightType > | |
Foam::label | writeAll (const vectorField &Sf, const Field< WeightType > &weightField, const pointField &points, const faceList &faces) |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | filterField (const GeometricField< Type, fvPatchField, volMesh > &field) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | filterField (const GeometricField< Type, fvsPatchField, surfaceMesh > &field) const |
![]() | |
TypeName ("fieldValue") | |
Run-time type information. More... | |
declareRunTimeSelectionTable (autoPtr, fieldValue, runTime,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict)) | |
fieldValue (const word &name, const Time &runTime, const dictionary &dict, const word &valueType) | |
Construct from Time and dictionary. More... | |
fieldValue (const word &name, const objectRegistry &obr, const dictionary &dict, const word &valueType) | |
Construct from objectRegistry and dictionary. More... | |
virtual | ~fieldValue ()=default |
Destructor. More... | |
const dictionary & | dict () const noexcept |
Return the reference to the construction dictionary. More... | |
const word & | regionName () const noexcept |
Return the region name. More... | |
const wordList & | fields () const noexcept |
Return the list of field names. More... | |
bool | writeFields () const noexcept |
Return the output field values flag. More... | |
virtual bool | execute () |
Execute. More... | |
![]() | |
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... | |
![]() | |
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... | |
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... | |
![]() | |
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, bool increaseOnly=true) |
Set the trigger index. Normally only if greater than current. 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... | |
![]() | |
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 |
![]() | |
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 | execute (const label subIndex) |
Execute using the specified subIndex. 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... | |
![]() | |
writeFile (const objectRegistry &obr, const fileName &prefix, const word &name="undefined", const bool writeToFile=true) | |
Construct from objectRegistry, prefix, fileName. More... | |
writeFile (const objectRegistry &obr, const fileName &prefix, const word &name, const dictionary &dict, const bool writeToFile=true) | |
writeFile (const writeFile &wf) | |
Construct copy. More... | |
virtual | ~writeFile ()=default |
Destructor. More... | |
virtual OFstream & | file () |
Return access to the file (if only 1) More... | |
virtual bool | writeToFile () const |
Flag to allow writing to file. More... | |
virtual bool | canWriteHeader () const |
Flag to allow writing the header. More... | |
virtual label | charWidth () const |
Return width of character stream output. More... | |
virtual void | writeCommented (Ostream &os, const string &str) const |
Write a commented string to stream. More... | |
virtual void | writeTabbed (Ostream &os, const string &str) const |
Write a tabbed string to stream. More... | |
virtual void | writeHeader (Ostream &os, const string &str) const |
Write a commented header to stream. More... | |
virtual void | writeCurrentTime (Ostream &os) const |
Write the current time to stream. More... | |
virtual void | writeBreak (Ostream &os) const |
Write a break marker to the stream. More... | |
template<class Type > | |
void | writeHeaderValue (Ostream &os, const string &property, const Type &value) const |
Write a (commented) header property and value pair. More... | |
Static Public Attributes | |
static const Enum< regionTypes > | regionTypeNames_ |
Region type names. More... | |
static const Enum< operationType > | operationTypeNames_ |
Operation type names. More... | |
static const Enum< postOperationType > | postOperationTypeNames_ |
Operation type names. More... | |
![]() | |
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... | |
![]() | |
static label | addChars = 8 |
Additional characters for writing. More... | |
Protected Member Functions | |
const objectRegistry & | obr () const |
The volume mesh or surface registry being used. More... | |
bool | withSurfaceFields () const |
Can the surface definition sample surface-fields? More... | |
bool | withTopologicalMerge () const noexcept |
Can use mesh topological merge? More... | |
const labelList & | faceId () const noexcept |
Return the local list of face IDs. More... | |
const labelList & | facePatch () const noexcept |
Return the local list of patch ID per face. More... | |
const boolList & | faceFlip () const noexcept |
Return the local true/false list representing the face flip map. More... | |
bool | usesSf () const noexcept |
True if the operation needs a surface Sf. More... | |
bool | is_magOp () const noexcept |
True if the operation variant uses mag. More... | |
bool | is_weightedOp () const noexcept |
True if the operation variant uses a weight-field. More... | |
template<class WeightType > | |
bool | canWeight (const Field< WeightType > &fld) const |
True if field is non-empty on any processor. More... | |
bool | update () |
Update the surface and surface information as required. More... | |
template<class Type > | |
bool | validField (const word &fieldName) const |
Return true if the field name is known and a valid type. More... | |
template<class Type > | |
tmp< Field< Type > > | getFieldValues (const word &fieldName, const bool mandatory=false) const |
Return field values by looking up field name. More... | |
template<class Type , class WeightType > | |
Type | processSameTypeValues (const Field< Type > &values, const vectorField &Sf, const Field< WeightType > &weightField) const |
Apply the 'operation' to the values. Operation must preserve Type. More... | |
template<class Type , class WeightType > | |
Type | processValues (const Field< Type > &values, const vectorField &Sf, const Field< WeightType > &weightField) const |
Apply the 'operation' to the values. Wrapper around. More... | |
template<class Type > | |
tmp< Field< Type > > | filterField (const GeometricField< Type, fvsPatchField, surfaceMesh > &field) const |
Filter a surface field according to faceIds. More... | |
template<class Type > | |
tmp< Field< Type > > | filterField (const GeometricField< Type, fvPatchField, volMesh > &field) const |
Filter a volume field according to faceIds. More... | |
template<class WeightType > | |
label | writeAll (const vectorField &Sf, const Field< WeightType > &weightField, const pointField &points, const faceList &faces) |
Templated helper function to output field values. More... | |
template<class Type , class WeightType > | |
bool | writeValues (const word &fieldName, const vectorField &Sf, const Field< WeightType > &weightField, const pointField &points, const faceList &faces) |
Templated helper function to output field values. More... | |
virtual void | writeFileHeader (Ostream &os) |
Output file header information. More... | |
![]() | |
template<class Type > | |
void | combineFields (Field< Type > &field) |
Combine fields from all processor domains into single field. More... | |
template<class Type > | |
void | combineFields (tmp< Field< Type >> &) |
Combine fields from all processor domains into single field. More... | |
![]() | |
fvMeshFunctionObject (const fvMeshFunctionObject &)=delete | |
No copy construct. More... | |
void | operator= (const fvMeshFunctionObject &)=delete |
No copy assignment. 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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
word | scopedName (const word &name) const |
Return a scoped (prefixed) name. More... | |
![]() | |
void | initStream (Ostream &os) const |
Initialise the output stream for writing. More... | |
fileName | baseFileDir () const |
Return the base directory for output. More... | |
fileName | baseTimeDir () const |
Return the base directory for the current time value. More... | |
virtual autoPtr< OFstream > | createFile (const word &name, scalar timeValue) const |
Return autoPtr to a new file for a given time. More... | |
virtual autoPtr< OFstream > | createFile (const word &name) const |
Return autoPtr to a new file using the simulation start time. More... | |
virtual void | resetFile (const word &name) |
Reset internal file pointer to new file with new name. More... | |
Omanip< int > | valueWidth (const label offset=0) const |
Return the value width when writing to stream with optional offset. More... | |
void | operator= (const writeFile &)=delete |
No copy assignment. More... | |
Static Protected Member Functions | |
template<class WeightType > | |
static tmp< scalarField > | weightingFactor (const Field< WeightType > &weightField, const bool useMag) |
Weighting factor. More... | |
template<class WeightType > | |
static tmp< scalarField > | weightingFactor (const Field< WeightType > &weightField, const vectorField &Sf, const bool useMag) |
Weighting factor, weight field projected onto unit-normal. More... | |
template<class WeightType > | |
static tmp< scalarField > | areaWeightingFactor (const Field< WeightType > &weightField, const vectorField &Sf, const bool useMag) |
Weighting factor, weight field with area factor. More... | |
Protected Attributes | |
regionTypes | regionType_ |
Region type. More... | |
operationType | operation_ |
Operation to apply to values. More... | |
postOperationType | postOperation_ |
Optional post-evaluation operation. More... | |
bool | needsUpdate_ |
Track if the surface needs an update. More... | |
bool | writeArea_ |
Optionally write the area of the surfaceFieldValue. More... | |
wordRes | selectionNames_ |
Extended selections. More... | |
wordList | weightFieldNames_ |
Weight field name(s) - optional. More... | |
scalar | totalArea_ |
Total area of the surfaceFieldValue. More... | |
label | nFaces_ |
Global number of faces. More... | |
labelList | faceId_ |
Local list of face IDs. More... | |
labelList | facePatchId_ |
Local list of patch ID per face. More... | |
boolList | faceFlip_ |
List representing the face flip map. More... | |
autoPtr< sampledSurface > | sampledPtr_ |
The sampledSurface (when operating on sampledSurface) More... | |
autoPtr< surfaceWriter > | surfaceWriterPtr_ |
Surface writer. More... | |
![]() | |
bool | writeFields_ |
Flag to output field values. More... | |
word | regionName_ |
Name of region (patch, zone, etc.) More... | |
scalar | scaleFactor_ |
Scaling factor. More... | |
dictionary | dict_ |
Construction dictionary. More... | |
wordList | fields_ |
Names of operand fields. More... | |
![]() | |
const fvMesh & | mesh_ |
Reference to the fvMesh. More... | |
![]() | |
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... | |
![]() | |
const Time & | time_ |
Reference to the time database. More... | |
![]() | |
const objectRegistry & | fileObr_ |
Reference to the region objectRegistry. More... | |
const fileName | prefix_ |
Prefix. More... | |
word | fileName_ |
Name of file. More... | |
autoPtr< OFstream > | filePtr_ |
File pointer. More... | |
label | writePrecision_ |
Write precision. More... | |
bool | writeToFile_ |
Flag to enable/disable writing to file. More... | |
bool | updateHeader_ |
bool | writtenHeader_ |
Flag to identify whether the header has been written. More... | |
bool | useUserTime_ |
scalar | startTime_ |
Start time value. More... | |
Additional Inherited Members | |
![]() | |
static autoPtr< fieldValue > | New (const word &name, const Time &runTime, const dictionary &dict, const bool output=true) |
Return a reference to the selected fieldValue. More... | |
![]() | |
static autoPtr< functionObject > | New (const word &name, const Time &runTime, const dictionary &dict) |
Select from dictionary, based on its "type" entry. More... | |
![]() | |
bool | log |
Flag to write log into Info. More... | |
A face
regionType variant of the fieldValues
function object.
Given a list of user-specified fields and a selection of mesh (or general surface) faces, a number of operations can be performed, such as sums, averages and integrations.
For example, to calculate the volumetric or mass flux across a patch, apply the sum
operator to the flux field (typically phi
).
surfaceFieldValuePatch1 { // Mandatory entries (unmodifiable) type surfaceFieldValue; libs (fieldFunctionObjects); // Mandatory entries (runtime modifiable) fields (<field1> <field2> ... <fieldN>); operation <operationType>; regionType patch; name <patch>; // Optional entries (runtime modifiable) names (<patch-name> <patch-regex>); postOperation none; weightField alpha1; scaleFactor 1.0; writeArea false; surfaceFormat none; // Optional (inherited) entries ... } surfaceFieldValueFaceZone1 { // Mandatory entries (unmodifiable) type surfaceFieldValue; libs (fieldFunctionObjects); // Mandatory entries (runtime modifiable) fields (<field1> <field2> ... <fieldN>); operation <operationType>; regionType faceZone; name <faceZone>; // Optional entries (runtime modifiable) names (<zone-name> <zone-regex>); postOperation none; weightFields (rho U); scaleFactor 1.0; writeArea false; surfaceFormat none; // Optional (inherited) entries ... }
where the entries mean:
Property | Description | Type | Reqd | Dflt |
---|---|---|---|---|
type | Type name: surfaceFieldValue | word | yes | - |
libs | Libraries: fieldFunctionObjects | wordList | yes | - |
regionType | Face regionType: see below | word | yes | - |
fields | Names of operand fields | wordList | yes | - |
name | Name of the regionType | word | yes | - |
names | Extended selection | word/regex list | no | - |
operation | Operation type: see below | word | yes | - |
postOperation | Post-operation type: see below | word | no | none |
weightField | Name of field to apply weighting | word | maybe | |
weightFields | Names of fields to apply weighting | wordList | maybe | |
scaleFactor | Output value scaling factor | scalar | no | 1.0 |
writeArea | Write the surface area | bool | no | false |
surfaceFormat | Output value format | word | conditional on writeFields | none |
The inherited entries are elaborated in:
Options for the regionType
entry:
faceZone | : | The name entry specifies a faceZone. Supports names |
patch | : | The name entry specifies a patch. Supports names |
functionObjectSurface | : | The name entry specifies a polySurface |
sampledSurface | : | A sampledSurfaceDict sub-dictionary and name |
Options for the operation
entry:
none | : | no operation |
min | : | minimum |
max | : | maximum |
sum | : | sum |
sumMag | : | sum of component magnitudes |
sumDirection | : | sum values that are positive in given direction |
sumDirectionBalance | : | sum of balance of values in given direction |
average | : | ensemble average |
areaAverage | : | area-weighted average |
areaIntegrate | : | area integral |
CoV | : | coefficient of variation: standard deviation/mean |
areaNormalAverage | : | area-weighted average in face normal direction |
areaNormalIntegrate | : | area-weighted integral in face normal directon |
uniformity | : | uniformity index |
weightedSum | : | weighted sum |
weightedAverage | : | weighted average |
weightedAreaAverage | : | weighted area average |
weightedAreaIntegrate | : | weighted area integral |
weightedUniformity | : | weighted uniformity index |
absWeightedSum | : | sum using absolute weighting |
absWeightedAverage | : | average using absolute weighting |
absWeightedAreaAverage | : | area average using absolute weighting |
absWeightedAreaIntegrate | : | area integral using absolute weighting |
absWeightedUniformity | : | uniformity index using absolute weighting |
Options for the postOperation
entry:
none | : | No additional operation after calculation |
mag | : | Component-wise mag() after normal operation |
sqrt | : | Component-wise sqrt() after normal operation |
Usage by the postProcess
utility is not available.
areaNormalAverage
and areaNormalIntegrate
operations are written as the first component of a field with the same rank as the input field.functionObjectSurface:
sampledSurface:
cell
sampledSurface
is logically only in one cell so sampling will be wrong when they are larger than cells. This can only happen for sampling on a triSurfaceMesh
Uniformity:
\[ UI(\phi) = 1 - \frac{1}{2 \overline{\phi} A} \int{\left| W \phi \cdot \hat{n} - \bar{W} \bar{\phi}\right| d\vec{A}} \,,\; \bar{\phi} = \frac{\int{W \phi \cdot d\vec{A}}}{\int{W \cdot d\vec{A}}} \]
A velocity uniformity index is calculated with no weighting (W=1) and \( \phi = \vec{U} \).
A scalar concentration uniformity index is calculated with either \( \rho \vec U \) or \( \vec U \) for weighting and \( \phi = conc \).
Definition at line 452 of file surfaceFieldValue.H.
enum regionTypes |
Region type enumeration.
Enumerator | |
---|---|
stFaceZone | Calculate with faceZone(s) |
stPatch | Calculate with patch(es) |
stObject | Calculate with function object surface. |
stSampled | Sample onto surface and calculate. |
Definition at line 461 of file surfaceFieldValue.H.
enum operationVariant |
Bitmask values for operation variants.
Enumerator | |
---|---|
typeBase | Base operation. |
typeScalar | Operation returns a scalar. |
typeWeighted | Operation using weighting. |
typeAbsolute | Operation using mag (eg, for weighting) |
Definition at line 473 of file surfaceFieldValue.H.
enum operationType |
Operation type enumeration.
Definition at line 482 of file surfaceFieldValue.H.
enum postOperationType |
Post-operation type enumeration.
Enumerator | |
---|---|
postOpNone | No additional operation after calculation. |
postOpMag | Component-wise mag after normal operation. |
postOpSqrt | Component-wise sqrt after normal operation. |
Definition at line 554 of file surfaceFieldValue.H.
surfaceFieldValue | ( | const word & | name, |
const Time & | runTime, | ||
const dictionary & | dict | ||
) |
Construct from name, Time and dictionary.
Definition at line 977 of file surfaceFieldValue.C.
References dict, and Foam::read().
surfaceFieldValue | ( | const word & | name, |
const objectRegistry & | obr, | ||
const dictionary & | dict | ||
) |
Construct from name, objectRegistry and dictionary.
Definition at line 1011 of file surfaceFieldValue.C.
References dict, and Foam::read().
|
delete |
No copy construct.
|
virtual |
Destructor.
Definition at line 1047 of file surfaceFieldValue.C.
|
staticprotected |
Weighting factor.
Possibly applies mag() depending on the operation type.
|
staticprotected |
Weighting factor, weight field projected onto unit-normal.
Possibly applies mag() depending on the operation type. Reverts to 'one' if the weight field is unavailable.
|
staticprotected |
Weighting factor, weight field with area factor.
Possibly applies mag() depending on the operation type. Reverts to mag(Sf) if the weight field is unavailable.
|
protectedvirtual |
The volume mesh or surface registry being used.
Reimplemented from regionFunctionObject.
Definition at line 120 of file surfaceFieldValue.C.
References objectRegistry::lookupObject(), fvMeshFunctionObject::mesh_, fieldValue::regionName_, surfaceFieldValue::regionType_, surfaceFieldValue::stObject, and timeFunctionObject::storedObjects().
|
inlineprotected |
Can the surface definition sample surface-fields?
Definition at line 35 of file surfaceFieldValueI.H.
References surfaceFieldValue::regionType_, surfaceFieldValue::sampledPtr_, surfaceFieldValue::stFaceZone, and surfaceFieldValue::stPatch.
|
inlineprotectednoexcept |
Can use mesh topological merge?
Definition at line 47 of file surfaceFieldValueI.H.
|
inlineprotectednoexcept |
Return the local list of face IDs.
Definition at line 54 of file surfaceFieldValueI.H.
|
inlineprotectednoexcept |
Return the local list of patch ID per face.
Definition at line 62 of file surfaceFieldValueI.H.
|
inlineprotectednoexcept |
Return the local true/false list representing the face flip map.
Definition at line 70 of file surfaceFieldValueI.H.
|
protectednoexcept |
True if the operation needs a surface Sf.
Definition at line 546 of file surfaceFieldValue.C.
|
inlineprotectednoexcept |
True if the operation variant uses mag.
Definition at line 80 of file surfaceFieldValueI.H.
|
inlineprotectednoexcept |
True if the operation variant uses a weight-field.
Definition at line 89 of file surfaceFieldValueI.H.
True if field is non-empty on any processor.
Definition at line 58 of file surfaceFieldValueTemplates.C.
References fld, and Foam::returnReduce().
|
protected |
Update the surface and surface information as required.
Do nothing (and return false) if no update was required
Definition at line 566 of file surfaceFieldValue.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Log, Foam::name(), Foam::nl, Foam::returnReduce(), s, and Foam::type().
Return true if the field name is known and a valid type.
Definition at line 69 of file surfaceFieldValueTemplates.C.
|
protected |
Return field values by looking up field name.
|
protected |
Apply the 'operation' to the values. Operation must preserve Type.
Definition at line 140 of file surfaceFieldValueTemplates.C.
References Foam::cmptMag(), Foam::component(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::gMax(), Foam::gMin(), Foam::gSum(), Foam::mag(), n, Foam::returnReduce(), Foam::setComponent(), Foam::sqr(), Foam::sqrt(), Foam::HashTableOps::values(), and Foam::Zero.
|
protected |
Apply the 'operation' to the values. Wrapper around.
processSameTypeValues. See also template specialisation below.
Definition at line 318 of file surfaceFieldValueTemplates.C.
References Foam::HashTableOps::values().
|
protected |
Filter a surface field according to faceIds.
|
protected |
Filter a volume field according to faceIds.
|
protected |
Templated helper function to output field values.
|
protected |
Templated helper function to output field values.
Definition at line 411 of file surfaceFieldValueTemplates.C.
References Foam::component(), Foam::endl(), Log, Foam::mag(), outputName(), propsDict(), Foam::setComponent(), Foam::sqrt(), Foam::tab, and Foam::HashTableOps::values().
|
protectedvirtual |
Output file header information.
Definition at line 627 of file surfaceFieldValue.C.
References Foam::endl(), Foam::flatOutput(), Foam::nl, os(), and Foam::tab.
TypeName | ( | "surfaceFieldValue" | ) |
Declare type-name, virtual type (with debug switch)
|
delete |
No copy assignment.
|
inlinenoexcept |
Return the region type.
Definition at line 97 of file surfaceFieldValueI.H.
|
inline |
Return the output directory.
Definition at line 105 of file surfaceFieldValueI.H.
References Foam::name().
|
virtual |
Read from dictionary.
Reimplemented from fieldValue.
Definition at line 1054 of file surfaceFieldValue.C.
References Foam::expressions::patchExpr::debug, dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::flatOutput(), Foam::Info, keyType::LITERAL, Foam::name(), surfaceWriter::New(), sampledSurface::New(), Foam::nl, fieldValue::read(), and Foam::type().
|
virtual |
Calculate and write.
Reimplemented from fieldValue.
Definition at line 1231 of file surfaceFieldValue.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, Foam::flatOutput(), Log, UPstream::master(), Foam::nl, points, Foam::returnReduce(), s, Foam::tab, update(), and fieldValue::write().
|
virtual |
Update for changes of mesh.
Reimplemented from functionObject.
Definition at line 1376 of file surfaceFieldValue.C.
|
virtual |
Update for changes of mesh.
Reimplemented from functionObject.
Definition at line 1385 of file surfaceFieldValue.C.
Foam::scalar processValues | ( | const Field< scalar > & | values, |
const vectorField & | Sf, | ||
const scalarField & | weightField | ||
) | const |
Definition at line 674 of file surfaceFieldValue.C.
References Foam::gSum(), Foam::mag(), Foam::max(), Foam::min(), n, Foam::neg(), Foam::pos0(), and Foam::HashTableOps::values().
Foam::vector processValues | ( | const Field< vector > & | values, |
const vectorField & | Sf, | ||
const scalarField & | weightField | ||
) | const |
Definition at line 748 of file surfaceFieldValue.C.
References Foam::gSum(), Foam::mag(), Foam::max(), Foam::min(), n, Vector< Cmpt >::normalise(), Foam::pos0(), and Foam::HashTableOps::values().
Foam::tmp<Foam::scalarField> weightingFactor | ( | const Field< scalar > & | weightField, |
const bool | useMag | ||
) |
Definition at line 836 of file surfaceFieldValue.C.
References Foam::mag().
Foam::tmp<Foam::scalarField> weightingFactor | ( | const Field< scalar > & | weightField, |
const vectorField & | Sf, | ||
const bool | useMag | ||
) |
if (returnReduce(weightField.empty(), andOp<bool>())) { // No weight field - revert to unweighted form? return tmp<scalarField>::New(Sf.size(), scalar(1)); }
Definition at line 854 of file surfaceFieldValue.C.
References Foam::mag().
Foam::tmp<Foam::scalarField> areaWeightingFactor | ( | const Field< scalar > & | weightField, |
const vectorField & | Sf, | ||
const bool | useMag | ||
) |
if (returnReduce(weightField.empty(), andOp<bool>())) { // No weight field - revert to unweighted form return mag(Sf); }
Definition at line 882 of file surfaceFieldValue.C.
References Foam::mag().
Foam::tmp<Foam::scalarField> weightingFactor | ( | const Field< vector > & | weightField, |
const vectorField & | Sf, | ||
const bool | useMag | ||
) |
if (returnReduce(weightField.empty(), andOp<bool>())) { // No weight field - revert to unweighted form return tmp<scalarField>::New(Sf.size(), scalar(1)); }
Definition at line 909 of file surfaceFieldValue.C.
References Foam::mag(), tmp< T >::New(), and Foam::normalised().
Foam::tmp<Foam::scalarField> areaWeightingFactor | ( | const Field< vector > & | weightField, |
const vectorField & | Sf, | ||
const bool | useMag | ||
) |
if (returnReduce(weightField.empty(), andOp<bool>())) { // No weight field - revert to unweighted form return mag(Sf); }
Definition at line 950 of file surfaceFieldValue.C.
References Foam::mag().
scalar processValues | ( | const Field< scalar > & | values, |
const vectorField & | Sf, | ||
const scalarField & | weightField | ||
) | const |
Specialisation for scalar fields.
vector processValues | ( | const Field< vector > & | values, |
const vectorField & | Sf, | ||
const scalarField & | weightField | ||
) | const |
Specialisation for vector fields.
tmp<scalarField> weightingFactor | ( | const Field< scalar > & | weightField, |
const bool | useMag | ||
) |
Specialisation for scalar - pass through.
tmp<scalarField> weightingFactor | ( | const Field< scalar > & | weightField, |
const vectorField & | Sf, | ||
const bool | useMag | ||
) |
Specialisation for scalar - pass through.
tmp<scalarField> areaWeightingFactor | ( | const Field< scalar > & | weightField, |
const vectorField & | Sf, | ||
const bool | useMag | ||
) |
Specialisation for scalar - scalar * Area.
tmp<scalarField> weightingFactor | ( | const Field< vector > & | weightField, |
const vectorField & | Sf, | ||
const bool | useMag | ||
) |
Specialisation for vector - vector (dot) unit-normal.
tmp<scalarField> areaWeightingFactor | ( | const Field< vector > & | weightField, |
const vectorField & | Sf, | ||
const bool | useMag | ||
) |
Specialisation for vector - vector (dot) Area.
Foam::tmp<Foam::scalarField> weightingFactor | ( | const Field< WeightType > & | weightField, |
const bool | useMag | ||
) |
Definition at line 43 of file surfaceFieldValueTemplates.C.
References Foam::mag().
Foam::tmp<Foam::Field<Type> > getFieldValues | ( | const word & | fieldName, |
const bool | mandatory | ||
) | const |
Definition at line 89 of file surfaceFieldValueTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, fld, Foam::New(), and Foam::nl.
Foam::label writeAll | ( | const vectorField & | Sf, |
const Field< WeightType > & | weightField, | ||
const pointField & | points, | ||
const faceList & | faces | ||
) |
Definition at line 330 of file surfaceFieldValueTemplates.C.
References Foam::endl(), points, WarningInFunction, and writer< Type >::write().
Foam::tmp<Foam::Field<Type> > filterField | ( | const GeometricField< Type, fvPatchField, volMesh > & | field | ) | const |
Definition at line 540 of file surfaceFieldValueTemplates.C.
References field(), forAll, Foam::New(), and Foam::HashTableOps::values().
Foam::tmp<Foam::Field<Type> > filterField | ( | const GeometricField< Type, fvsPatchField, surfaceMesh > & | field | ) | const |
Definition at line 576 of file surfaceFieldValueTemplates.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), field(), forAll, Foam::New(), Foam::Pout, and Foam::HashTableOps::values().
|
static |
Region type names.
Definition at line 470 of file surfaceFieldValue.H.
|
static |
Operation type names.
Definition at line 550 of file surfaceFieldValue.H.
|
static |
Operation type names.
Definition at line 562 of file surfaceFieldValue.H.
|
protected |
Region type.
Definition at line 598 of file surfaceFieldValue.H.
Referenced by surfaceFieldValue::obr(), and surfaceFieldValue::withSurfaceFields().
|
protected |
Operation to apply to values.
Definition at line 601 of file surfaceFieldValue.H.
|
protected |
Optional post-evaluation operation.
Definition at line 604 of file surfaceFieldValue.H.
|
protected |
Track if the surface needs an update.
Definition at line 607 of file surfaceFieldValue.H.
|
protected |
Optionally write the area of the surfaceFieldValue.
Definition at line 610 of file surfaceFieldValue.H.
|
protected |
Extended selections.
Definition at line 613 of file surfaceFieldValue.H.
|
protected |
Weight field name(s) - optional.
Definition at line 616 of file surfaceFieldValue.H.
|
protected |
Total area of the surfaceFieldValue.
Definition at line 619 of file surfaceFieldValue.H.
|
protected |
Global number of faces.
Definition at line 622 of file surfaceFieldValue.H.
|
protected |
Local list of face IDs.
Definition at line 628 of file surfaceFieldValue.H.
|
protected |
Local list of patch ID per face.
Definition at line 631 of file surfaceFieldValue.H.
|
protected |
List representing the face flip map.
(false: use as-is, true: negate)
Definition at line 635 of file surfaceFieldValue.H.
|
protected |
The sampledSurface (when operating on sampledSurface)
Definition at line 641 of file surfaceFieldValue.H.
Referenced by surfaceFieldValue::withSurfaceFields().
|
protected |
Surface writer.
Definition at line 644 of file surfaceFieldValue.H.