65#ifndef hierarchGeomDecomp_H
66#define hierarchGeomDecomp_H
77class hierarchGeomDecomp
85 static label findLower
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,
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Base for geometrical domain decomposition methods.
void checkDecompositionDirections(const Vector< label > &) const
Check that mesh directions are compatible with decomposition.
Does hierarchical decomposition of points, selectable as hierarchical.
hierarchGeomDecomp(const hierarchGeomDecomp &)=delete
No copy construct.
virtual labelList decompose(const labelListList &globalCellCells, const pointField &cc) const
Like decompose but with uniform weights on the cells.
virtual bool parallelAware() const
Hierarchical is aware of processor boundaries.
virtual labelList decompose(const polyMesh &mesh, const pointField &cc) const
Decompose with uniform weights.
TypeName("hierarchical")
Runtime type information.
virtual labelList decompose(const pointField &, const scalarField &weights) const
Return for every coordinate the wanted processor number.
virtual ~hierarchGeomDecomp()=default
Destructor.
void operator=(const hierarchGeomDecomp &)=delete
No copy assignment.
Mesh consisting of general polyhedral cells.
const Vector< label > & geometricD() const
Return the vector of geometric directions in mesh.
A class for handling words, derived from Foam::string.
Foam::word regionName(Foam::polyMesh::defaultRegion)
List< label > labelList
A List of labels.
vectorField pointField
pointField is a vectorField.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
List< labelList > labelListList
A List of labelList.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.