40 #ifndef Foam_metisLikeDecomp_H 41 #define Foam_metisLikeDecomp_H 100 const word& derivedType,
102 int select = selectionType::NULL_DICT
115 const word& derivedType,
118 int select = selectionType::NULL_DICT
A list of keyword definitions, which are a keyword followed by a number of values (eg...
List< bool > select(const label n, const labelUList &locations)
Construct a selection list of bools (all false) with the given pre-size, subsequently add specified l...
virtual ~metisLikeDecomp()=default
Destructor.
static const Field< vector > & null() noexcept
Return a null Field (reference to a nullObject). Behaves like an empty Field.
const dictionary & coeffsDict_
Coefficients for all derived methods.
void operator=(const metisLikeDecomp &)=delete
No copy assignment.
A class for handling words, derived from Foam::string.
metisLikeDecomp(const metisLikeDecomp &)=delete
No copy construct.
Abstract base class for domain decomposition.
Domain decomposition using METIS-like data structures.
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.
A packed storage of objects of type <T> using an offset table for access.
virtual label decomposeSerial(const labelList &adjncy, const labelList &xadj, const List< scalar > &cellWeights, labelList &decomp) const =0
Decomposition with metis-like parameters.
Foam::word regionName(args.getOrDefault< word >("region", Foam::polyMesh::defaultRegion))
virtual label decomposeGeneral(const labelList &adjncy, const labelList &xadj, const List< scalar > &cellWeights, labelList &decomp) const
Serial and/or collect/distribute for parallel operation.
Mesh consisting of general polyhedral cells.
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...