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)
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.

Static Public Attributes

static std::string className
 Name of class.
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.

: MeshPartition(pSession)
{
}
Nektar::LibUtilities::MeshPartitionMetis::~MeshPartitionMetis ( )
virtual

Definition at line 61 of file MeshPartitionMetis.cpp.

{
}

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.

{
return MemoryManager<MeshPartitionMetis>::AllocateSharedPtr(pSession);
}
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

Definition at line 66 of file MeshPartitionMetis.cpp.

References Metis::PartGraphVKway().

{
Metis::PartGraphVKway(nVerts, nVertConds, xadj, adjcy, vertWgt, vertSize, nparts, volume, part);
}

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.