Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
metisLikeDecomp Class Referenceabstract

Domain decomposition using METIS-like data structures. More...

Inheritance diagram for metisLikeDecomp:
Inheritance graph
[legend]
Collaboration diagram for metisLikeDecomp:
Collaboration graph
[legend]

Public Member Functions

virtual ~metisLikeDecomp ()=default
 
virtual labelList decompose (const polyMesh &mesh, const pointField &points, const scalarField &pointWeights) const
 
virtual labelList decompose (const polyMesh &mesh, const labelList &agglom, const pointField &regionPoints, const scalarField &regionWeights) const
 
virtual labelList decompose (const labelListList &globalCellCells, const pointField &cellCentres, const scalarField &cellWeights) const
 
virtual labelList decompose (const pointField &points, const scalarField &pointWeights) const
 
virtual labelList decompose (const pointField &points) const
 
virtual labelList decompose (const polyMesh &mesh, const pointField &points, const scalarField &pointWeights) const=0
 
virtual labelList decompose (const polyMesh &mesh, const pointField &points) const
 
virtual labelList decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField &regionPoints, const scalarField &regionWeights) const
 
virtual labelList decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField &regionPoints) const
 
virtual labelList decompose (const labelListList &globalCellCells, const pointField &cc, const scalarField &cWeights) const=0
 
virtual labelList decompose (const labelListList &globalCellCells, const pointField &cc) const
 
virtual labelList decompose (const polyMesh &mesh, const scalarField &cellWeights, const boolList &blockedFace, const PtrList< labelList > &specifiedProcessorFaces, const labelList &specifiedProcessor, const List< labelPair > &explicitConnections) const
 
labelList decompose (const polyMesh &mesh, const scalarField &cWeights) const
 
- Public Member Functions inherited from decompositionMethod
 TypeName ("decompositionMethod")
 
 declareRunTimeSelectionTable (autoPtr, decompositionMethod, dictionary,(const dictionary &decompDict, const word &regionName),(decompDict, regionName))
 
 decompositionMethod (const dictionary &decompDict, const word &regionName="")
 
virtual ~decompositionMethod ()=default
 
label nDomains () const noexcept
 
virtual bool parallelAware () const =0
 
virtual labelList decompose (const pointField &points, const scalarField &pointWeights) const
 
virtual labelList decompose (const pointField &points) const
 
virtual labelList decompose (const polyMesh &mesh, const pointField &points) const
 
virtual labelList decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField &regionPoints) const
 
virtual labelList decompose (const labelListList &globalCellCells, const pointField &cc) const
 
void setConstraints (const polyMesh &mesh, boolList &blockedFace, PtrList< labelList > &specifiedProcessorFaces, labelList &specifiedProcessor, List< labelPair > &explicitConnections) const
 
void applyConstraints (const polyMesh &mesh, const boolList &blockedFace, const PtrList< labelList > &specifiedProcessorFaces, const labelList &specifiedProcessor, const List< labelPair > &explicitConnections, labelList &finalDecomp) const
 
virtual labelList decompose (const polyMesh &mesh, const scalarField &cellWeights, const boolList &blockedFace, const PtrList< labelList > &specifiedProcessorFaces, const labelList &specifiedProcessor, const List< labelPair > &explicitConnections) const
 
labelList decompose (const polyMesh &mesh, const scalarField &cWeights) const
 

Protected Member Functions

virtual label decomposeGeneral (const labelList &adjncy, const labelList &xadj, const List< scalar > &cellWeights, labelList &decomp) const
 
virtual label decomposeSerial (const labelList &adjncy, const labelList &xadj, const List< scalar > &cellWeights, labelList &decomp) const =0
 
 metisLikeDecomp (const metisLikeDecomp &)=delete
 
void operator= (const metisLikeDecomp &)=delete
 
 metisLikeDecomp (const word &derivedType, const dictionary &decompDict, int select=selectionType::NULL_DICT)
 
 metisLikeDecomp (const word &derivedType, const dictionary &decompDict, const word &regionName, int select=selectionType::NULL_DICT)
 
- Protected Member Functions inherited from decompositionMethod
const dictionaryfindCoeffsDict (const word &coeffsName, int select=selectionType::DEFAULT) const
 

Protected Attributes

const dictionarycoeffsDict_
 
- Protected Attributes inherited from decompositionMethod
const dictionarydecompDict_
 
const dictionarydecompRegionDict_
 
label nDomains_
 
PtrList< decompositionConstraintconstraints_
 

Additional Inherited Members

- Static Public Member Functions inherited from decompositionMethod
static label nDomains (const dictionary &decompDict, const word &regionName="")
 
static const dictionaryoptionalRegionDict (const dictionary &decompDict, const word &regionName)
 
static autoPtr< decompositionMethodNew (const dictionary &decompDict, const word &regionName="")
 
static void calcCellCells (const polyMesh &mesh, const labelList &agglom, const label nLocalCoarse, const bool global, CompactListList< label > &cellCells)
 
static void calcCellCells (const polyMesh &mesh, const labelList &agglom, const label nLocalCoarse, const bool parallel, CompactListList< label > &cellCells, CompactListList< scalar > &cellCellWeights)
 
- Protected Types inherited from decompositionMethod
enum  selectionType { DEFAULT = 0, EXACT = 1, MANDATORY = 2, NULL_DICT = 4 }
 
- Static Protected Member Functions inherited from decompositionMethod
static const dictionaryfindCoeffsDict (const dictionary &dict, const word &coeffsName, int select=selectionType::DEFAULT)
 

Detailed Description

Domain decomposition using METIS-like data structures.

When run in parallel will collect the entire graph on to the master, decompose and send back.

Source files

Definition at line 47 of file metisLikeDecomp.H.

Constructor & Destructor Documentation

◆ metisLikeDecomp() [1/3]

metisLikeDecomp ( const metisLikeDecomp )
protecteddelete

◆ metisLikeDecomp() [2/3]

metisLikeDecomp ( const word derivedType,
const dictionary decompDict,
int  select = selectionType::NULL_DICT 
)
inlineprotected

Definition at line 91 of file metisLikeDecomp.H.

◆ metisLikeDecomp() [3/3]

metisLikeDecomp ( const word derivedType,
const dictionary decompDict,
const word regionName,
int  select = selectionType::NULL_DICT 
)
protected

Definition at line 151 of file metisLikeDecomp.C.

◆ ~metisLikeDecomp()

virtual ~metisLikeDecomp ( )
virtualdefault

Member Function Documentation

◆ decomposeGeneral()

Foam::label decomposeGeneral ( const labelList adjncy,
const labelList xadj,
const List< scalar > &  cellWeights,
labelList decomp 
) const
protectedvirtual

◆ decomposeSerial()

virtual label decomposeSerial ( const labelList adjncy,
const labelList xadj,
const List< scalar > &  cellWeights,
labelList decomp 
) const
protectedpure virtual

Implemented in scotchDecomp, kahipDecomp, and metisDecomp.

◆ operator=()

void operator= ( const metisLikeDecomp )
protecteddelete

◆ decompose() [1/13]

Foam::labelList decompose ( const polyMesh mesh,
const pointField points,
const scalarField pointWeights 
) const
virtual

Implements decompositionMethod.

Reimplemented in scotchDecomp.

Definition at line 166 of file metisLikeDecomp.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::identity(), CompactListList::m(), mesh, Foam::nl, CompactListList::offsets(), and points.

Here is the call graph for this function:

◆ decompose() [2/13]

Foam::labelList decompose ( const polyMesh mesh,
const labelList agglom,
const pointField regionPoints,
const scalarField regionWeights 
) const
virtual

Reimplemented from decompositionMethod.

Reimplemented in scotchDecomp.

Definition at line 201 of file metisLikeDecomp.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, CompactListList::m(), mesh, and CompactListList::offsets().

Here is the call graph for this function:

◆ decompose() [3/13]

Foam::labelList decompose ( const labelListList globalCellCells,
const pointField cellCentres,
const scalarField cellWeights 
) const
virtual

Implements decompositionMethod.

Reimplemented in scotchDecomp.

Definition at line 248 of file metisLikeDecomp.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, CompactListList::m(), and CompactListList::offsets().

Here is the call graph for this function:

◆ decompose() [4/13]

Foam::labelList decompose

Definition at line 1318 of file decompositionMethod.C.

◆ decompose() [5/13]

Foam::labelList decompose

Definition at line 1329 of file decompositionMethod.C.

◆ decompose() [6/13]

virtual labelList decompose

◆ decompose() [7/13]

Foam::labelList decompose

Definition at line 377 of file decompositionMethod.C.

◆ decompose() [8/13]

Foam::labelList decompose

Definition at line 389 of file decompositionMethod.C.

◆ decompose() [9/13]

Foam::labelList decompose

Definition at line 430 of file decompositionMethod.C.

◆ decompose() [10/13]

virtual labelList decompose

◆ decompose() [11/13]

Foam::labelList decompose

Definition at line 449 of file decompositionMethod.C.

◆ decompose() [12/13]

Foam::labelList decompose

Definition at line 860 of file decompositionMethod.C.

◆ decompose() [13/13]

Foam::labelList decompose

Definition at line 1264 of file decompositionMethod.C.

Member Data Documentation

◆ coeffsDict_

const dictionary& coeffsDict_
protected

Definition at line 56 of file metisLikeDecomp.H.


The documentation for this class was generated from the following files: