65 #ifndef Foam_hierarchGeomDecomp_H 66 #define Foam_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,
228 const CompactListList<label>& globalCellCells,
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...
virtual labelList decompose(const pointField &points, const scalarField &weights=scalarField::null()) const
Return for every coordinate the wanted processor number. using uniform or specified point weights...
List< labelList > labelListList
List of labelList.
Does hierarchical decomposition of points, selectable as hierarchical.
TypeName("hierarchical")
Runtime type information.
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.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
hierarchGeomDecomp(const hierarchGeomDecomp &)=delete
No copy construct.
virtual ~hierarchGeomDecomp()=default
Destructor.
Foam::word regionName(args.getOrDefault< word >("region", Foam::polyMesh::defaultRegion))
static const Field< scalar > & null()
Return nullObject reference Field.
void operator=(const hierarchGeomDecomp &)=delete
No copy assignment.
Mesh consisting of general polyhedral cells.
List< label > labelList
A List of labels.
virtual bool parallelAware() const
Hierarchical is aware of processor boundaries.