62 const bool triangulate
66 selectionNames_(zoneNames),
67 triangulate_(triangulate),
81 triangulate_(
dict.getOrDefault(
"triangulate", false)),
120 facePatchId_.clear();
136 for (
const label zonei :
zoneIDs())
145 <<
" No matching face zone(s): "
147 <<
" Known face zones: "
154 faceId_.resize(numFaces);
155 facePatchId_.resize(numFaces);
159 meshFaceIds.
resize(numFaces);
165 const label zonei =
zoneIDs()[idx];
168 for (
const label meshFacei : fZone)
172 label facePatchId = -1;
175 if (!
mesh().isInternalFace(meshFacei))
180 if (isA<emptyPolyPatch>(pp))
186 const auto* procPatch = isA<processorPolyPatch>(pp);
187 if (procPatch && !procPatch->owner())
193 const auto* cpp = isA<coupledPolyPatch>(pp);
206 faceId_[numFaces] =
faceId;
207 facePatchId_[numFaces] = facePatchId;
208 meshFaceIds[numFaces] = meshFacei;
216 facePatchId_.resize(numFaces);
217 meshFaceIds.
resize(numFaces);
230 needsUpdate_ =
false;
258 return sampleOnFaces(sampler);
267 return sampleOnFaces(sampler);
276 return sampleOnFaces(sampler);
285 return sampleOnFaces(sampler);
294 return sampleOnFaces(sampler);
309 return sampleOnFaces(sField);
318 return sampleOnFaces(sField);
327 return sampleOnFaces(sField);
336 return sampleOnFaces(sField);
345 return sampleOnFaces(sField);
354 return sampleOnPoints(interpolator);
363 return sampleOnPoints(interpolator);
372 return sampleOnPoints(interpolator);
381 return sampleOnPoints(interpolator);
390 return sampleOnPoints(interpolator);
396 os <<
"faceZone: " <<
name() <<
" :"
401 os <<
" faces:" << faces().size()
Macros for easy insertion into run-time selection tables.
#define addNamedToRunTimeSelectionTable(baseType, thisType, argNames, lookupName)
Add to construction table with 'lookupName' as the key.
Minimal example by using system/controlDict.functions:
A List with indirect addressing.
const Addr & addressing() const noexcept
The list addressing.
void resize(const label len)
Adjust allocated size of list.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of faces which address into the list of points.
const Field< point_type > & localPoints() const
Return pointField of points in patch.
const List< face_type > & localFaces() const
Return patch faces addressing into local point list.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
void size(const label n)
Older name for setAddressableSize.
label size() const noexcept
The number of elements in the list.
labelList indices(const wordRe &matcher, const bool useGroups=true) const
Return (sorted) zone indices for all matches.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A subset of mesh faces organised as a primitive patch.
Abstract base class for volume field interpolation.
scalar print()
Print to screen.
label whichPatch(const label faceIndex) const
Return patch index for a given face label.
Mesh consisting of general polyhedral cells.
const faceZoneMesh & faceZones() const noexcept
Return face zone mesh.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
A patch is a list of labels that address the faces in the global face list.
label whichFace(const label l) const
Return label of face in patch from global face label.
A sampledSurface defined by a faceZone or faceZones.
const labelList & zoneIDs() const
The selected face zones (sorted)
virtual bool expire()
Mark the surface as needing an update.
virtual bool needsUpdate() const
Does the surface need an update?
virtual bool withSurfaceFields() const
Can it sample surface-fields?
virtual bool update()
Update the surface as required.
An abstract class for surfaces with sampling.
virtual void clearGeom() const
Additional cleanup when clearing the geometry.
bool interpolate() const noexcept
Same as isPointData()
A class for managing temporary objects.
A List of wordRe with additional matching capabilities.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
OBJstream os(runTime.globalPath()/outputName)
const labelIOList & zoneIDs
#define WarningInFunction
Report a warning using Foam::Warning.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
List< label > labelList
A List of labels.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
FlatOutput::OutputAdaptor< Container, Delimiters > flatOutput(const Container &obj, Delimiters delim)
Global flatOutput() function with specified output delimiters.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
UIndirectList< label > labelUIndList
UIndirectList of labels.
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.