Nektar++
|
#include <MeshPartitionPtScotch.h>
Public Member Functions | |
MeshPartitionPtScotch (const LibUtilities::SessionReaderSharedPtr session, LibUtilities::CommSharedPtr comm, int meshDim, std::map< int, MeshEntity > element, CompositeDescriptor compMap) | |
~MeshPartitionPtScotch () override | |
Public Member Functions inherited from Nektar::SpatialDomains::MeshPartition | |
MeshPartition (const LibUtilities::SessionReaderSharedPtr session, LibUtilities::CommSharedPtr comm, int meshDim, std::map< int, MeshEntity > element, CompositeDescriptor compMap) | |
virtual | ~MeshPartition () |
void | PartitionMesh (int nParts, bool shared=false, bool overlapping=false, int nLocal=0) |
void | PrintPartInfo (std::ostream &out) |
void | GetElementIDs (const int procid, std::vector< unsigned int > &tmp) |
Static Public Member Functions | |
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. More... | |
Static Public Attributes | |
static std::string | className |
Name of class. More... | |
static std::string | cmdSwitch |
Protected Member Functions | |
void | v_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) final |
Protected Member Functions inherited from Nektar::SpatialDomains::MeshPartition | |
void | ReadExpansions () |
void | ReadConditions () |
void | WeightElements () |
void | CreateGraph () |
void | PartitionGraph (int nParts, bool overlapping=false) |
Partition the graph. More... | |
void | CheckPartitions (int nParts, Array< OneD, int > &pPart) |
int | CalculateElementWeight (LibUtilities::ShapeType elmtType, bool bndWeight, int na, int nb, int nc) |
int | CalculateEdgeWeight (LibUtilities::ShapeType elmtType, int na, int nb, int nc) |
virtual void | v_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)=0 |
Additional Inherited Members | |
Protected Types inherited from Nektar::SpatialDomains::MeshPartition | |
typedef std::vector< unsigned int > | MultiWeight |
typedef boost::adjacency_list< boost::setS, boost::vecS, boost::undirectedS, GraphVertexProperties, boost::property< boost::edge_index_t, unsigned int, GraphEdgeProperties > > | BoostGraph |
typedef boost::graph_traits< BoostGraph >::vertex_descriptor | BoostVertex |
typedef boost::graph_traits< BoostGraph >::edge_descriptor | BoostEdge |
typedef boost::graph_traits< BoostGraph >::edge_iterator | BoostEdgeIterator |
typedef boost::graph_traits< BoostGraph >::vertex_iterator | BoostVertexIterator |
typedef boost::graph_traits< BoostGraph >::adjacency_iterator | BoostAdjacencyIterator |
typedef std::vector< unsigned int > | NumModes |
typedef std::map< std::string, NumModes > | NummodesPerField |
Protected Attributes inherited from Nektar::SpatialDomains::MeshPartition | |
LibUtilities::SessionReaderSharedPtr | m_session |
LibUtilities::CommSharedPtr | m_comm |
int | m_dim |
int | m_numFields |
std::map< int, MeshEntity > | m_elements |
std::map< int, MeshEntity > | m_ghostElmts |
CompositeDescriptor | m_compMap |
std::map< int, NummodesPerField > | m_expansions |
std::map< int, LibUtilities::ShapeType > | m_shape |
std::map< std::string, int > | m_fieldNameToId |
std::map< int, MultiWeight > | m_vertWeights |
std::map< int, MultiWeight > | m_vertBndWeights |
std::map< int, MultiWeight > | m_edgeWeights |
BoostGraph | m_graph |
std::map< int, std::vector< unsigned int > > | m_localPartition |
bool | m_weightingRequired |
bool | m_weightBnd |
bool | m_weightDofs |
bool | m_shared |
bool | m_parallel |
Definition at line 43 of file MeshPartitionPtScotch.h.
Nektar::SpatialDomains::MeshPartitionPtScotch::MeshPartitionPtScotch | ( | const LibUtilities::SessionReaderSharedPtr | session, |
LibUtilities::CommSharedPtr | comm, | ||
int | meshDim, | ||
std::map< int, MeshEntity > | element, | ||
CompositeDescriptor | compMap | ||
) |
Definition at line 59 of file MeshPartitionPtScotch.cpp.
References Nektar::SpatialDomains::MeshPartition::m_parallel.
|
override |
Definition at line 68 of file MeshPartitionPtScotch.cpp.
|
inlinestatic |
Creates an instance of this class.
Definition at line 47 of file MeshPartitionPtScotch.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
finalprotectedvirtual |
Implements Nektar::SpatialDomains::MeshPartition.
Definition at line 72 of file MeshPartitionPtScotch.cpp.
References ASSERTL0, Nektar::SpatialDomains::MeshPartition::m_comm, and SCOTCH_CALL.
|
static |
Name of class.
Definition at line 57 of file MeshPartitionPtScotch.h.
|
static |
Definition at line 58 of file MeshPartitionPtScotch.h.