Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | List of all members
Nektar::LibUtilities::MeshPartitionMetis Class Reference

#include <MeshPartitionMetis.h>

Inheritance diagram for Nektar::LibUtilities::MeshPartitionMetis:
Inheritance graph
[legend]
Collaboration diagram for Nektar::LibUtilities::MeshPartitionMetis:
Collaboration graph
[legend]

Public Member Functions

 MeshPartitionMetis (const SessionReaderSharedPtr &pSession)
 
virtual ~MeshPartitionMetis ()
 
- Public Member Functions inherited from Nektar::LibUtilities::MeshPartition
 MeshPartition (const SessionReaderSharedPtr &pSession)
 
virtual ~MeshPartition ()
 
void PartitionMesh (int nParts, bool shared=false, bool overlapping=false)
 
void WriteLocalPartition (SessionReaderSharedPtr &pSession)
 
void WriteAllPartitions (SessionReaderSharedPtr &pSession)
 
void PrintPartInfo (std::ostream &out)
 
void GetCompositeOrdering (CompositeOrdering &composites)
 
void GetBndRegionOrdering (BndRegionOrdering &composites)
 
void GetElementIDs (const int procid, std::vector< unsigned int > &tmp)
 

Static Public Member Functions

static MeshPartitionSharedPtr create (const SessionReaderSharedPtr &pSession)
 Creates an instance of this class. More...
 

Static Public Attributes

static std::string className
 Name of class. More...
 
static std::string cmdSwitch = SessionReader::RegisterCmdLineFlag("use-metis","","Use METIS for mesh partitioning.")
 

Private Member Functions

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, int &nparts, int &volume, Nektar::Array< Nektar::OneD, int > &part)
 

Detailed Description

Definition at line 47 of file MeshPartitionMetis.h.

Constructor & Destructor Documentation

Nektar::LibUtilities::MeshPartitionMetis::MeshPartitionMetis ( const SessionReaderSharedPtr pSession)

Definition at line 55 of file MeshPartitionMetis.cpp.

56  : MeshPartition(pSession)
57  {
58 
59  }
MeshPartition(const SessionReaderSharedPtr &pSession)
Nektar::LibUtilities::MeshPartitionMetis::~MeshPartitionMetis ( )
virtual

Definition at line 61 of file MeshPartitionMetis.cpp.

62  {
63 
64  }

Member Function Documentation

static MeshPartitionSharedPtr Nektar::LibUtilities::MeshPartitionMetis::create ( const SessionReaderSharedPtr pSession)
inlinestatic

Creates an instance of this class.

Definition at line 51 of file MeshPartitionMetis.h.

References Nektar::MemoryManager< DataType >::AllocateSharedPtr().

52  {
54  }
static boost::shared_ptr< DataType > AllocateSharedPtr()
Allocate a shared pointer from the memory pool.
void Nektar::LibUtilities::MeshPartitionMetis::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,
int &  nparts,
int &  volume,
Nektar::Array< Nektar::OneD, int > &  part 
)
privatevirtual

Implements Nektar::LibUtilities::MeshPartition.

Definition at line 66 of file MeshPartitionMetis.cpp.

References Metis::PartGraphVKway().

76  {
77  Metis::PartGraphVKway(nVerts, nVertConds, xadj, adjcy, vertWgt, vertSize, nparts, volume, part);
78  }
static void PartGraphVKway(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, int &nparts, int &volume, Nektar::Array< Nektar::OneD, int > &part)
Definition: Metis.hpp:71

Member Data Documentation

std::string Nektar::LibUtilities::MeshPartitionMetis::className
static
Initial value:
"Metis",
"Partitioning using the METIS library.")

Name of class.

Definition at line 57 of file MeshPartitionMetis.h.

std::string Nektar::LibUtilities::MeshPartitionMetis::cmdSwitch = SessionReader::RegisterCmdLineFlag("use-metis","","Use METIS for mesh partitioning.")
static

Definition at line 58 of file MeshPartitionMetis.h.