#include <parMetisDecomp/parMetisDecomp.H>
Definition at line 46 of file parMetisDecomp.H.
Public Member Functions | |
TypeName ("parMetis") | |
Runtime type information.
| |
parMetisDecomp (const dictionary &decompositionDict, const polyMesh &mesh) | |
Construct given the decomposition dictionary and mesh.
| |
~parMetisDecomp () | |
virtual bool | parallelAware () const |
parMetis handles Foam processor boundaries
| |
virtual labelList | decompose (const pointField &points, const scalarField &pointWeights) |
Return for every coordinate the wanted processor number. Use the.
| |
virtual labelList | decompose (const labelList &cellToRegion, const pointField ®ionPoints, const scalarField ®ionWeights) |
Return for every coordinate the wanted processor number. Gets.
| |
virtual labelList | decompose (const labelList &cellToRegion, const pointField ®ionPoints) |
Same but with uniform weights.
| |
virtual labelList | decompose (const labelListList &globalCellCells, const pointField &cc, const scalarField &cWeights) |
Return for every coordinate the wanted processor number. Explicitly.
| |
Static Public Member Functions | |
static void | calcMetisDistributedCSR (const polyMesh &, List< int > &adjncy, List< int > &xadj) |
Helper to convert mesh connectivity into distributed CSR.
|
parMetisDecomp | ( | const dictionary & | decompositionDict, |
const polyMesh & | mesh | ||
) |
Construct given the decomposition dictionary and mesh.
Definition at line 362 of file parMetisDecomp.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorIn, Pstream::nProcs(), and dlLibraryTable::open().
~parMetisDecomp | ( | ) | [inline]
|
Definition at line 100 of file parMetisDecomp.H.
TypeName | ( | "parMetis" | ) |
Runtime type information.
virtual bool parallelAware | ( | ) | const [inline, virtual]
|
parMetis handles Foam processor boundaries
Implements decompositionMethod.
Definition at line 107 of file parMetisDecomp.H.
Foam::labelList decompose | ( | const pointField & | points, |
const scalarField & | pointWeights | ||
) | [virtual]
|
Return for every coordinate the wanted processor number. Use the.
mesh connectivity (if needed) Weights get normalised so the minimum value is 1 before truncation to an integer so the weights should be multiples of the minimum value. The overall sum of weights might otherwise overflow.
Implements decompositionMethod.
Definition at line 387 of file parMetisDecomp.C.
References IOobject::AUTO_WRITE, polyPatch::coupled(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorIn, forAll, Foam::gMin(), Foam::Info, IOobject::MUST_READ, Foam::nl, Pstream::nProcs(), IOobject::objectPath(), patches, dictionary::readIfPresent(), List< Type >::setSize(), List< Type >::size(), List< T >::size(), polyPatch::start(), dictionary::subDict(), List< Type >::transfer(), and WarningIn.
Foam::labelList decompose | ( | const labelList & | cellToRegion, |
const pointField & | regionPoints, | ||
const scalarField & | regionWeights | ||
) | [virtual]
|
Return for every coordinate the wanted processor number. Gets.
passed agglomeration map (from fine to coarse cells) and coarse cell location. Can be overridden by decomposers that provide this functionality natively. See note on weights above.
Reimplemented from decompositionMethod.
Definition at line 624 of file parMetisDecomp.C.
References List< T >::append(), polyPatch::coupled(), Foam::exit(), Foam::FatalError, FatalErrorIn, Foam::findIndex(), forAll, patches, List< T >::setSize(), List< T >::size(), polyPatch::start(), syncTools::swapBoundaryFaceList(), and List< T >::transfer().
virtual labelList decompose | ( | const labelList & | cellToRegion, |
const pointField & | regionPoints | ||
) | [inline, virtual]
|
Same but with uniform weights.
Reimplemented from decompositionMethod.
Definition at line 137 of file parMetisDecomp.H.
References List< T >::size().
Foam::labelList decompose | ( | const labelListList & | globalCellCells, |
const pointField & | cc, | ||
const scalarField & | cWeights | ||
) | [virtual]
|
Return for every coordinate the wanted processor number. Explicitly.
provided mesh connectivity. The connectivity is equal to mesh.cellCells() except for
Implements decompositionMethod.
Definition at line 758 of file parMetisDecomp.C.
References scotchDecomp::calcCSR(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorIn, forAll, Foam::gMin(), Foam::Info, Foam::nl, Pstream::nProcs(), dictionary::readIfPresent(), List< Type >::setSize(), List< T >::size(), dictionary::subDict(), and WarningIn.
void calcMetisDistributedCSR | ( | const polyMesh & | mesh, |
List< int > & | adjncy, | ||
List< int > & | xadj | ||
) | [static]
|
Helper to convert mesh connectivity into distributed CSR.
Definition at line 887 of file parMetisDecomp.C.
References polyMesh::boundaryMesh(), List< T >::clear(), polyPatch::coupled(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), forAll, primitiveMesh::nCells(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), patches, List< T >::setSize(), polyPatch::start(), and syncTools::swapBoundaryFaceList().