121 ) <<
"Illegal entry zoneInside "
125 <<
" since surface is not closed." <<
endl;
133 ) <<
"Unused entry zoneInside for faceZone "
135 <<
" since no cellZone specified."
151 const word& faceZoneName,
152 const word& cellZoneName,
154 const point& zoneInsidePoint,
158 faceZoneName_(faceZoneName),
159 cellZoneName_(cellZoneName),
160 zoneInside_(zoneInside),
161 zoneInsidePoint_(zoneInsidePoint),
168 faceZoneName_(
surfZone.faceZoneName()),
169 cellZoneName_(
surfZone.cellZoneName()),
171 zoneInsidePoint_(
surfZone.zoneInsidePoint()),
186 if (surfList[surfi].faceZoneName().empty())
188 anonymousSurfaces[i++] = surfi;
193 return anonymousSurfaces;
210 && surfList[surfi].faceZoneName().
size()
213 namedSurfaces[namedI++] = surfi;
218 return namedSurfaces;
237 && surfList[surfi].cellZoneName().
size()
242 && allGeometry[surfaces[surfi]].hasVolumeType()
245 closed[closedI++] = surfi;
269 && !allGeometry[surfaces[surfi]].hasVolumeType()
272 unclosed[unclosedI++] = surfi;
296 && surfList[surfi].cellZoneName().
size()
297 && allGeometry[surfaces[surfi]].hasVolumeType()
300 closed[closedI++] = surfi;
322 && surfList[surfi].cellZoneName().
size()
326 closed[closedI++] = surfi;
348 label surfi = namedSurfaces[i];
350 const word& cellZoneName = surfList[surfi].cellZoneName();
358 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();
435 surfaceToFaceZone[surfi] = zonei;
444 for (
label proci = 1; proci < allFaceZones.
size(); proci++)
446 if (allFaceZones[proci] != allFaceZones[0])
449 <<
"Zones not synchronised among processors." <<
nl
450 <<
" Processor0 has faceZones:" << allFaceZones[0]
451 <<
" , processor" << proci
452 <<
" has faceZones:" << allFaceZones[proci]
457 return surfaceToFaceZone;
#define forAll(list, i)
Loop across all elements in list.
wordList toc() const
Return the table of contents.
void size(const label)
Override size to be inconsistent with allocated storage.
void setSize(const label)
Reset size of List.
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.
autoPtr< T > set(const label, const word &key, T *)
Set element to pointer provided and return old element.
label findIndex(const word &key) const
Return the index of the given the key or -1 if not found.
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 cellZoneList & cellZones() const
Return cell zones.
const faceZoneList & faceZones() const
Return face 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.
const dimensionSet dimLength
List< bool > boolList
Bool container classes.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)