156 #ifndef surfaceFieldValue_functionObject_H
157 #define surfaceFieldValue_functionObject_H
167 class generatedFaceZone;
168 class sampledSurface;
171 namespace functionObjects
173 namespace fieldValues
180 class surfaceFieldValue
233 void setFaceZoneFaces();
236 void setPatchesFaces();
239 void setSampledSurfaceFaces();
242 void combineMeshGeometry
249 void combineSurfaceGeometry
334 template<
class Type,
class ResultType>
447 const word& fieldName,
472 virtual bool write();
Pre-declare SubField and related Field type.
Generic GeometricField class.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
const word & name() const
Return the name of this functionObject.
const dictionary & dict() const
Return the reference to the construction dictionary.
surfaceFieldValue(const word &name, const Time &runTime, const dictionary &dict)
Construct from name, Time and dictionary.
void writeValues(const word &fieldName, const Field< Type > &values, const scalarField &signs, const scalarField &weights, const vectorField &Sf)
Templated helper function to output field values.
TypeName("surfaceFieldValue")
Run-time type information.
void changeMesh()
Update the surface following mesh change.
label nFaces_
Global number of faces.
static const NamedEnum< selectionTypes, 4 > selectionTypeNames
Selection type names.
const bool writeArea_
Optionally write the area of the surface.
tmp< Field< Type > > getFieldValues(const word &fieldName) const
Return field values by looking up field name.
autoPtr< sampledSurface > surfacePtr_
Underlying sampledSurface.
wordReList patchNames_
The name(s) of the patches.
virtual void topoChange(const polyTopoChangeMap &)
Update topology using the given map.
void moveMesh()
Update the surface following mesh motion.
virtual void distribute(const polyDistributionMap &)
Redistribute or update using the given distribution map.
static const NamedEnum< operationType, 15 > operationTypeNames_
Operation type names.
operationType operation_
Operation to apply to values.
bool processValuesTypeType(const Field< Type > &values, const scalarField &signs, const scalarField &weights, const vectorField &Sf, Type &result) const
Apply a Type -> Type operation to the values.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
selectionTypes selectionType_
Selection type.
virtual void writeFileHeader(const label i)
Output file header information.
wordList weightFieldNames_
Weight field names - optional.
virtual void movePoints(const polyMesh &)
Update for mesh point-motion.
bool validField(const word &fieldName) const
Return true if the field name is valid.
string selectionName_
Name of face selection (patch, faceZone, etc.)
const bool writeNFaces_
Optionally write the number of faces in the surface.
autoPtr< generatedFaceZone > faceZonePtr_
The face-zone.
autoPtr< surfaceWriter > surfaceWriterPtr_
Surface writer.
bool processValues(const Field< Type > &values, const scalarField &signs, const scalarField &weights, const vectorField &Sf, ResultType &result) const
Apply the operation to the values, and return true if successful.
labelList faceId_
Local list of face IDs.
labelList facePatchId_
Local list of patch ID per face.
tmp< Field< Type > > filterField(const SurfaceField< Type > &field) const
Filter a surface field according to faceIds.
virtual bool write()
Calculate and write.
labelList faceSign_
List of +1/-1 representing face flip map.
virtual ~surfaceFieldValue()
Destructor.
scalar area_
Area of the surface.
virtual bool read(const dictionary &)
Read from dictionary.
selectionTypes
Selection type enumeration.
operationType
Operation type enumeration.
Registry of regIOobjects.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information.
Mesh consisting of general polyhedral cells.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
A class for managing temporary objects.
A class for handling words, derived from string.
List< word > wordList
A List of words.
List< label > labelList
A List of labels.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
vectorField pointField
pointField is a vectorField.
List< wordRe > wordReList
A List of wordRe (word or regular expression)