35 #ifndef NEKTAR_SPATIALDOMAINS_MESHPARTITIONSCOTCH_H
36 #define NEKTAR_SPATIALDOMAINS_MESHPARTITIONSCOTCH_H
49 namespace SpatialDomains
59 std::map<int, MeshEntity> element,
63 session, comm, meshDim, element, compMap);
74 std::map<int, MeshEntity> element,
92 const SCOTCH_Num *
const n,
93 const SCOTCH_Num *
const xadj,
94 const SCOTCH_Num *
const adjncy,
95 const SCOTCH_Num *
const vwgt,
96 const SCOTCH_Num *
const vsize,
97 const SCOTCH_Num *
const wgtflag,
98 const SCOTCH_Num *
const numflag,
99 const SCOTCH_Num *
const nparts,
100 SCOTCH_Num *
const volume,
101 SCOTCH_Num *
const part);
104 const SCOTCH_Num *
const n,
105 const SCOTCH_Num *
const xadj,
106 const SCOTCH_Num *
const adjncy,
107 const SCOTCH_Num *
const vwgt,
108 const SCOTCH_Num *
const adjwgt,
109 const SCOTCH_Num *
const numflag,
110 const SCOTCH_Num *
const nparts,
111 SCOTCH_Num *
const part,
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
static MeshPartitionSharedPtr create(const LibUtilities::SessionReaderSharedPtr session, LibUtilities::CommSharedPtr comm, int meshDim, std::map< int, MeshEntity > element, CompositeDescriptor compMap)
Creates an instance of this class.
virtual ~MeshPartitionScotch()
static std::string className
Name of class.
MeshPartitionScotch(const LibUtilities::SessionReaderSharedPtr session, LibUtilities::CommSharedPtr comm, int meshDim, std::map< int, MeshEntity > element, CompositeDescriptor compMap)
virtual void PartitionGraphImpl(int &nVerts, int &nVertConds, Nektar::Array< Nektar::OneD, int > &xadj, Nektar::Array< Nektar::OneD, int > &adjcy, Nektar::Array< Nektar::OneD, int > &vertWgt, Nektar::Array< Nektar::OneD, int > &vertSize, Nektar::Array< Nektar::OneD, int > &edgeWgt, int &nparts, int &volume, Nektar::Array< Nektar::OneD, int > &part)
int PartGraph2(const SCOTCH_Num *const n, const SCOTCH_Num *const xadj, const SCOTCH_Num *const adjncy, const SCOTCH_Num *const vwgt, const SCOTCH_Num *const adjwgt, const SCOTCH_Num *const numflag, const SCOTCH_Num *const nparts, SCOTCH_Num *const part, SCOTCH_Num flagval, double kbalval)
static std::string cmdSwitch
void PartGraphVKway(const SCOTCH_Num *const n, const SCOTCH_Num *const xadj, const SCOTCH_Num *const adjncy, const SCOTCH_Num *const vwgt, const SCOTCH_Num *const vsize, const SCOTCH_Num *const wgtflag, const SCOTCH_Num *const numflag, const SCOTCH_Num *const nparts, SCOTCH_Num *const volume, SCOTCH_Num *const part)
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.
std::map< int, std::pair< LibUtilities::ShapeType, std::vector< int > > > CompositeDescriptor
std::shared_ptr< MeshPartition > MeshPartitionSharedPtr
The above copyright notice and this permission notice shall be included.