65 #ifndef hierarchGeomDecomp_H 66 #define hierarchGeomDecomp_H 77 class hierarchGeomDecomp
87 const UList<scalar>& list,
94 static void calculateSortedWeightedSizes
99 const label globalCurrentSize,
109 static bool findBinary
113 const label leftIndex,
114 const scalar leftValue,
116 const scalar wantedSize,
124 static bool findBinary
129 const label leftIndex,
130 const scalar leftValue,
132 const scalar wantedSize,
145 const label prevMult,
159 const label prevMult,
229 const polyMesh&
mesh,
label findLower(const ListType &input, const T &val, const label start, const ComparePredicate &comp)
Binary search to find the index of the last element in a sorted list that is less than value...
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Does hierarchical decomposition of points, selectable as hierarchical.
TypeName("hierarchical")
Runtime type information.
Foam::word regionName(Foam::polyMesh::defaultRegion)
void checkDecompositionDirections(const Vector< label > &) const
Check that mesh directions are compatible with decomposition.
vectorField pointField
pointField is a vectorField.
A class for handling words, derived from Foam::string.
hierarchGeomDecomp(const hierarchGeomDecomp &)=delete
No copy construct.
virtual ~hierarchGeomDecomp()=default
Destructor.
void operator=(const hierarchGeomDecomp &)=delete
No copy assignment.
virtual labelList decompose(const pointField &, const scalarField &weights) const
Return for every coordinate the wanted processor number.
Mesh consisting of general polyhedral cells.
List< label > labelList
A List of labels.
virtual bool parallelAware() const
Hierarchical is aware of processor boundaries.