45 if (
dict.readIfPresent(
"patches", matcher) && !matcher.
empty())
49 IDs_ =
mesh.boundaryMesh().indices(matcher);
54 for (
const label patchi : IDs_)
56 names_[
count] =
mesh.boundaryMesh()[patchi].name();
60 else if (
dict.readIfPresent(
"faceZones", matcher))
66 BBs_.resize(IDs_.
size());
70 for (
const label zonei : IDs_)
75 auto& bb = BBs_[
count];
80 const auto& faces =
mesh.faces();
82 for (
const label facei : fz)
84 bb.add(
points, faces[facei]);
94 <<
"No matching patches or face zones found: " 106 isPatch_(phc.isPatch_),
void size(const label n)
Older name for setAddressableSize.
errorManipArg< error, int > exit(error &err, const int errNo=1)
void resize(const label len)
Adjust allocated size of list.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
constexpr char nl
The newline '\n' character (0x0a)
bool empty() const noexcept
True if List is empty (ie, size() is zero)
unsigned int count(const UList< bool > &bools, const bool val=true)
Count number of 'true' entries.
labelList indices(const wordRe &matcher, const bool useGroups=true) const
Return (sorted) zone indices for all matches.
A List of wordRe with additional matching capabilities.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
const word & name() const noexcept
The zone name.
Mesh consisting of general polyhedral cells.
A subset of mesh faces organised as a primitive patch.
FlatOutput::OutputAdaptor< Container, Delimiters > flatOutput(const Container &obj, Delimiters delim)
Global flatOutput() function with specified output delimiters.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...