Go to the documentation of this file.
112 #ifndef functionObjects_fluxSummary_H
113 #define functionObjects_fluxSummary_H
128 namespace functionObjects
137 public fvMeshFunctionObject,
210 const word& fieldName
216 const word& surfName,
225 const word& surfName,
246 const word& faceZoneName,
258 const word& cellZoneName,
276 const word& zoneName,
322 virtual bool write();
List< word > zoneNames_
Region (zone/surface) names.
void initialiseCellZoneAndDirection(const word &cellZoneName, const vector &refDir, DynamicList< word > &names, DynamicList< vector > &dir, DynamicList< labelList > &faceID, DynamicList< labelList > &facePatchID, DynamicList< boolList > &faceFlip) const
Initialise face set from cell zone and direction.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
List< boolList > faceFlip_
Face flip map signs.
A class for handling words, derived from Foam::string.
void initialiseFaceZoneAndDirection(const word &faceZoneName, const vector &refDir, DynamicList< word > &names, DynamicList< vector > &dir, DynamicList< labelList > &faceID, DynamicList< labelList > &facePatchID, DynamicList< boolList > &faceFlip) const
Initialise face set from face zone and direction.
scalar scaleFactor_
Factor to scale results.
bool surfaceModeWrite()
Specialized write for surfaces.
List< labelList > faceID_
Face IDs.
bool isSurfaceMode() const
Check if surface mode instead of zone mode.
A functionObject surface.
word checkFlowType(const dimensionSet &fieldDims, const word &fieldName) const
Check flowType (mass or volume)
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
Specialization of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
bool needsUpdate_
Track if the surface needs an update.
virtual bool execute()
Execute, currently does nothing.
scalar totalArea(const label idx) const
Calculate the total area for the surface or derived faceZone.
static const Enum< modeType > modeTypeNames_
Face mode names.
word phiName_
Name of flux field.
virtual void writeFileHeader(const word &zoneName, const scalar area, const vector &refDir, Ostream &os) const
Output file header information.
fluxSummary(const word &name, const Time &runTime, const dictionary &dict)
Construct from Time and dictionary.
void initialiseSurface(const word &surfName, DynamicList< word > &names, DynamicList< vector > &dir, DynamicList< boolList > &faceFlip) const
Initialise for given surface name.
void initialiseFaceZone(const word &faceZoneName, DynamicList< word > &names, DynamicList< vector > &dir, DynamicList< labelList > &faceID, DynamicList< labelList > &facePatchID, DynamicList< boolList > &faceFlip) const
Initialise face set from face zone.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
A surface with prescribed direction.
modeType mode_
Mode for face determination/to generate faces to test.
scalar tolerance_
Tolerance applied when matching face normals.
virtual bool write()
Write the fluxSummary.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
OBJstream os(runTime.globalPath()/outputName)
void initialiseSurfaceAndDirection(const word &surfName, const vector &refDir, DynamicList< word > &names, DynamicList< vector > &dir, DynamicList< boolList > &faceFlip) const
Initialise for given surface name and direction.
TypeName("fluxSummary")
Runtime type information.
List< vector > zoneDirections_
Region (zone/surface) directions.
const word & name() const noexcept
Return the name of this functionObject.
void operator=(const fluxSummary &)=delete
No copy assignment.
virtual bool read(const dictionary &dict)
Read the field fluxSummary data.
const wordList area
Standard area field types (scalar, vector, tensor, etc)
Base class for writing single files from the function objects.
PtrList< OFstream > filePtrs_
Output file per face zone.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Computes the volumetric- or mass-flux information across selections of face zones.
Face zone with prescribed direction.
List< word > names(const UPtrList< T > &list, const UnaryMatchPredicate &matcher)
List< labelList > facePatchID_
Face patch IDs.
bool update()
Initialise - after read(), before write()
Cell zone with prescribed direction.
virtual ~fluxSummary()=default
Destructor.