38 #ifndef decompositionMethod_H 39 #define decompositionMethod_H 61 bool constraintCompat(
const word& modelType)
const;
64 void readConstraints();
117 const word& coeffsName,
118 int select = selectionType::DEFAULT
135 const word& coeffsName,
136 int select = selectionType::DEFAULT
312 const label nLocalCoarse,
324 const label nLocalCoarse,
selectionType
Selection type when handling the coefficients dictionary.
declareRunTimeSelectionTable(autoPtr, decompositionMethod, dictionary,(const dictionary &decompDict, const word ®ionName),(decompDict, regionName))
virtual bool parallelAware() const =0
Is method parallel aware?
A list of keyword definitions, which are a keyword followed by a number of values (eg...
label nDomains_
Number of domains for the decomposition.
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 labelList decompose(const pointField &points, const scalarField &pointWeights) const
Return the wanted processor number for every coordinate.
void setConstraints(const polyMesh &mesh, boolList &blockedFace, PtrList< labelList > &specifiedProcessorFaces, labelList &specifiedProcessor, List< labelPair > &explicitConnections) const
Helper: extract constraints:
PtrList< decompositionConstraint > constraints_
Optional constraints.
static void calcCellCells(const polyMesh &mesh, const labelList &agglom, const label nLocalCoarse, const bool global, CompactListList< label > &cellCells)
Helper: determine (local or global) cellCells from mesh.
void applyConstraints(const polyMesh &mesh, const boolList &blockedFace, const PtrList< labelList > &specifiedProcessorFaces, const labelList &specifiedProcessor, const List< labelPair > &explicitConnections, labelList &finalDecomp) const
Helper: apply constraints to a decomposition.
Foam::word regionName(Foam::polyMesh::defaultRegion)
const dictionary & decompRegionDict_
Region-specific decomposition dictionary information.
A class for handling words, derived from Foam::string.
TypeName("decompositionMethod")
Runtime type information.
Abstract base class for domain decomposition.
static const dictionary & findCoeffsDict(const dictionary &dict, const word &coeffsName, int select=selectionType::DEFAULT)
Locate coeffsName dictionary or the fallback "coeffs" dictionary within an enclosing dictionary...
label nDomains() const noexcept
Number of domains.
A packed storage unstructured matrix of objects of type <T> using an offset table for access...
Fatal if dictionary could not be found.
static autoPtr< decompositionMethod > New(const dictionary &decompDict, const word ®ionName="")
Return a reference to the selected decomposition method, optionally region-specific.
virtual ~decompositionMethod()=default
Destructor.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
static const dictionary & optionalRegionDict(const dictionary &decompDict, const word ®ionName)
Return an optional region-specific dictionary from "regions" sub-dictionary, or dictionary::null on f...
const dictionary & decompDict_
Top-level decomposition dictionary (eg, decomposeParDict)
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
No fallback to "coeffs" if main name not found.