40#ifndef Foam_metisLikeDecomp_H
41#define Foam_metisLikeDecomp_H
100 const word& derivedType,
115 const word& derivedType,
A packed storage of objects of type <T> using an offset table for access.
static const Field< vector > & null() noexcept
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
decompositionMethod(const label numDomains)
Construct with specified number of domains, no coefficients or constraints.
virtual labelList decompose(const pointField &points, const scalarField &pointWeights=scalarField::null()) const
Return the wanted processor number for every coordinate, using uniform or specified point weights.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const dictionary & coeffsDict_
Coefficients for all derived methods.
metisLikeDecomp(const metisLikeDecomp &)=delete
No copy construct.
virtual label decomposeSerial(const labelList &adjncy, const labelList &xadj, const List< scalar > &cellWeights, labelList &decomp) const =0
Decomposition with metis-like parameters.
virtual labelList decompose(const polyMesh &mesh, const pointField &points=pointField::null(), const scalarField &pointWeights=scalarField::null()) const
Return for every coordinate the wanted processor number.
virtual ~metisLikeDecomp()=default
Destructor.
metisLikeDecomp(const word &derivedType, const dictionary &decompDict, int select=selectionType::NULL_DICT)
Construct for derived type name and decomposition dictionary.
virtual label decomposeGeneral(const labelList &adjncy, const labelList &xadj, const List< scalar > &cellWeights, labelList &decomp) const
Serial and/or collect/distribute for parallel operation.
void operator=(const metisLikeDecomp &)=delete
No copy assignment.
Mesh consisting of general polyhedral cells.
A class for handling words, derived from Foam::string.
Foam::word regionName(args.getOrDefault< word >("region", Foam::polyMesh::defaultRegion))
List< labelList > labelListList
List of labelList.
List< label > labelList
A List of labels.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
vectorField pointField
pointField is a vectorField.