100 surfacesDict.
lookup(
"insidePoint") >> zoneInsidePoint_;
120 ) <<
"Illegal entry zoneInside "
124 <<
" since surface is not closed." <<
endl;
132 ) <<
"Unused entry zoneInside for faceZone "
134 <<
" since no cellZone specified."
150 const word& faceZoneName,
151 const word& cellZoneName,
153 const point& zoneInsidePoint,
157 faceZoneName_(faceZoneName),
158 cellZoneName_(cellZoneName),
159 zoneInside_(zoneInside),
160 zoneInsidePoint_(zoneInsidePoint),
167 faceZoneName_(
surfZone.faceZoneName()),
168 cellZoneName_(
surfZone.cellZoneName()),
170 zoneInsidePoint_(
surfZone.zoneInsidePoint()),
185 if (surfList[surfi].faceZoneName().empty())
187 anonymousSurfaces[i++] = surfi;
192 return anonymousSurfaces;
209 && surfList[surfi].faceZoneName().
size()
212 namedSurfaces[namedI++] = surfi;
217 return namedSurfaces;
236 && surfList[surfi].cellZoneName().
size()
241 && allGeometry[surfaces[surfi]].hasVolumeType()
244 closed[closedI++] = surfi;
268 && !allGeometry[surfaces[surfi]].hasVolumeType()
271 unclosed[unclosedI++] = surfi;
295 && surfList[surfi].cellZoneName().
size()
296 && allGeometry[surfaces[surfi]].hasVolumeType()
299 closed[closedI++] = surfi;
321 && surfList[surfi].cellZoneName().
size()
325 closed[closedI++] = surfi;
347 label surfi = namedSurfaces[i];
349 const word& cellZoneName = surfList[surfi].cellZoneName();
357 zonei = cellZones.
size();
372 surfaceToCellZone[surfi] = zonei;
382 for (
label proci = 1; proci < allCellZones.
size(); proci++)
384 if (allCellZones[proci] != allCellZones[0])
387 <<
"Zones not synchronised among processors." <<
nl
388 <<
" Processor0 has cellZones:" << allCellZones[0]
389 <<
" , processor" << proci
390 <<
" has cellZones:" << allCellZones[proci]
395 return surfaceToCellZone;
412 label surfi = namedSurfaces[i];
414 const word& faceZoneName = surfList[surfi].faceZoneName();
420 zonei = faceZones.
size();
436 surfaceToFaceZone[surfi] = zonei;
445 for (
label proci = 1; proci < allFaceZones.
size(); proci++)
447 if (allFaceZones[proci] != allFaceZones[0])
450 <<
"Zones not synchronised among processors." <<
nl
451 <<
" Processor0 has faceZones:" << allFaceZones[0]
452 <<
" , processor" << proci
453 <<
" has faceZones:" << allFaceZones[proci]
458 return surfaceToFaceZone;
#define forAll(list, i)
Loop across all elements in list.
void size(const label)
Override size to be inconsistent with allocated storage.
void setSize(const label)
Reset size of List.
label findZoneID(const word &zoneName) const
Find zone index given a name.
wordList names() const
Return a list of zone names.
Initialise the NamedEnum HashTable from the static list of names.
static void scatterList(const List< commsStruct > &comms, List< T > &Values, const int tag, const label comm)
Scatter data. Reverse of gatherList.
static void gatherList(const List< commsStruct > &comms, List< T > &Values, const int tag, const label comm)
Gather data but keep individual values separate.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
bool set(const label) const
Is element set.
void setSize(const label)
Reset size of PtrList. If extending the PtrList, new entries are.
static label nProcs(const label communicator=0)
Number of processes in parallel run.
static int myProcNo(const label communicator=0)
Number of this process (starting from masterNo() = 0)
label size() const
Return the number of elements in the UPtrList.
A list of keyword definitions, which are a keyword followed by any number of values (e....
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
bool readIfPresent(const word &, T &, bool recursive=false, bool patternMatch=true) const
Find an entry if present, and assign to T.
A subset of mesh faces organised as a primitive patch.
Mesh consisting of general polyhedral cells.
const meshFaceZones & faceZones() const
Return face zones.
const meshCellZones & cellZones() const
Return cell zones.
Base class of (analytical or triangulated) surface. Encapsulates all the search routines....
virtual bool hasVolumeType() const =0
Whether supports volume type below.
Container for searchableSurfaces.
A surface zone on a MeshedSurface.
static labelList getInsidePointNamedSurfaces(const PtrList< surfaceZonesInfo > &surfList)
Get indices of surfaces with a cellZone that have 'insidePoint'.
areaSelectionAlgo
Types of selection of area.
static const NamedEnum< faceZoneType, 3 > faceZoneTypeNames
static labelList getUnnamedSurfaces(const PtrList< surfaceZonesInfo > &surfList)
Get indices of unnamed surfaces (surfaces without faceZoneName)
faceZoneType
What to do with faceZone faces.
static labelList getNamedSurfaces(const PtrList< surfaceZonesInfo > &surfList)
Get indices of named surfaces (surfaces with faceZoneName)
static const NamedEnum< areaSelectionAlgo, 4 > areaSelectionAlgoNames
surfaceZonesInfo(const searchableSurface &surface, const dictionary &surfacesDict)
Construct from surfaces and dictionary.
static labelList addFaceZonesToMesh(const PtrList< surfaceZonesInfo > &surfList, const labelList &namedSurfaces, polyMesh &mesh)
static labelList getAllClosedNamedSurfaces(const PtrList< surfaceZonesInfo > &surfList, const searchableSurfaces &allGeometry, const labelList &surfaces)
Get indices of surfaces with a cellZone that are closed.
static labelList addCellZonesToMesh(const PtrList< surfaceZonesInfo > &surfList, const labelList &namedSurfaces, polyMesh &mesh)
static labelList getUnclosedNamedSurfaces(const PtrList< surfaceZonesInfo > &surfList, const searchableSurfaces &allGeometry, const labelList &surfaces)
Get indices of surfaces with a cellZone that are unclosed.
static labelList getClosedNamedSurfaces(const PtrList< surfaceZonesInfo > &surfList, const searchableSurfaces &allGeometry, const labelList &surfaces)
Get indices of surfaces with a cellZone that are closed and.
A class for handling words, derived from string.
static const word null
An empty word.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
#define IOWarningInFunction(ios)
Report an IO warning using Foam::Warning.
errorManipArg< error, int > exit(error &err, const int errNo=1)
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.
Ostream & endl(Ostream &os)
Add newline and flush stream.
List< bool > boolList
Bool container classes.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)