12#ifndef __METIS_UTILITIES_H
13#define __METIS_UTILITIES_H
92 std::vector<unsigned int>
Rows;
93 std::vector<unsigned int>
Cols;
116 const Eigen::SparseMatrix<unsigned int> &networkEdgesWeight = Eigen::SparseMatrix<unsigned int>())
const;
118 const IMeshDAO &mesh,
119 const std::vector<unsigned int> &cell2DsWeight = {},
120 const std::vector<bool> &cell1DsConstrained = {},
121 const Eigen::SparseMatrix<unsigned int> &networkEdgesWeight = Eigen::SparseMatrix<unsigned int>())
const;
122 MetisUtilities::MetisNetwork
MeshToGraph(
const unsigned int &numVertices,
123 const Eigen::MatrixXi &edges,
124 const bool &undirectEdges,
125 const std::vector<unsigned int> &verticesWeight = {},
126 const std::vector<unsigned int> &edgesWeight = {})
const;
131 std::vector<unsigned int>
NetworkPartition(
const NetworkPartitionOptions &options,
const MetisNetwork &network)
const;
133 std::vector<unsigned int>
PartitionCheckConstraints(
const MetisNetwork &network,
const std::vector<unsigned int> &partitions)
const;
135 const std::vector<unsigned int> &partitions)
const;
Eigen column vector.
Definition Eigen_Array.hpp:23
The IMeshDAO (mesh data access object) class to read and write mesh data.
Definition IMeshDAO.hpp:24
Definition MetisUtilities.hpp:22
MetisUtilities::MetisNetwork MeshToGraph(const unsigned int &numVertices, const Eigen::MatrixXi &edges, const bool &undirectEdges, const std::vector< unsigned int > &verticesWeight={}, const std::vector< unsigned int > &edgesWeight={}) const
Definition MetisUtilities.cpp:130
MetisUtilities::MeshToNetwork Mesh3DToDualGraph(const IMeshDAO &mesh, const std::vector< unsigned int > &cell3DsWeight={}, const std::vector< bool > &cell2DsConstrained={}, const Eigen::SparseMatrix< unsigned int > &networkEdgesWeight=Eigen::SparseMatrix< unsigned int >()) const
Definition MetisUtilities.cpp:33
std::vector< unsigned int > PartitionCheckConstraints(const MetisNetwork &network, const std::vector< unsigned int > &partitions) const
Definition MetisUtilities.cpp:563
~MetisUtilities()
Definition MetisUtilities.cpp:29
std::vector< unsigned int > NetworkPartition(const NetworkPartitionOptions &options, const MetisNetwork &network) const
Definition MetisUtilities.cpp:328
std::vector< std::vector< unsigned int > > MetisAdjacencyToGraphAdjacency(const MetisNetwork::MetisAdjacency &metisAdjacency) const
Definition MetisUtilities.cpp:215
MetisNetwork::MetisAdjacency GraphAdjacencyToMetisAdjacency(const std::vector< std::vector< unsigned int > > &graphAdjacency) const
Definition MetisUtilities.cpp:192
std::vector< unsigned int > PartitionCheckConnectedComponents(const MetisNetwork &network, const std::vector< unsigned int > &partitions) const
Definition MetisUtilities.cpp:595
MetisUtilities()
Definition MetisUtilities.cpp:26
MetisUtilities::MeshToNetwork Mesh2DToDualGraph(const IMeshDAO &mesh, const std::vector< unsigned int > &cell2DsWeight={}, const std::vector< bool > &cell1DsConstrained={}, const Eigen::SparseMatrix< unsigned int > &networkEdgesWeight=Eigen::SparseMatrix< unsigned int >()) const
Definition MetisUtilities.cpp:231
Definition Eigen_Array.cpp:22
Definition MetisUtilities.hpp:103
std::vector< unsigned int > EdgesMeshCellIndex
Definition MetisUtilities.hpp:104
MetisNetwork Network
Definition MetisUtilities.hpp:105
Definition MetisUtilities.hpp:91
std::vector< unsigned int > Cols
Definition MetisUtilities.hpp:93
std::vector< unsigned int > Rows
Definition MetisUtilities.hpp:92
Definition MetisUtilities.hpp:89
MetisAdjacency Adjacency
Definition MetisUtilities.hpp:96
std::vector< unsigned int > NodesWeight
Definition MetisUtilities.hpp:98
std::vector< unsigned int > EdgesWeight
Definition MetisUtilities.hpp:99
std::vector< bool > EdgesConstrained
Definition MetisUtilities.hpp:97
Definition MetisUtilities.hpp:25
CoarseningSchemes CoarseningSchema
Definition MetisUtilities.hpp:75
bool CompressGraph
Definition MetisUtilities.hpp:82
RefinementSchemes RefinementSchema
Definition MetisUtilities.hpp:76
InitialPartitioningSchemes
Definition MetisUtilities.hpp:41
CoarseningSchemes
Definition MetisUtilities.hpp:34
DebugLevels DebugLevel
Definition MetisUtilities.hpp:78
bool MinimizeConnectivity
Definition MetisUtilities.hpp:83
unsigned int NumberRefinementIterations
Definition MetisUtilities.hpp:80
RefinementSchemes
Definition MetisUtilities.hpp:51
PartitionTypes PartitionType
Definition MetisUtilities.hpp:74
InitialPartitioningSchemes InitialPartitioningSchema
Definition MetisUtilities.hpp:77
int RandomSeed
Definition MetisUtilities.hpp:84
DebugLevels
Definition MetisUtilities.hpp:60
PartitionTypes
Definition MetisUtilities.hpp:27
unsigned int NumberOfParts
Definition MetisUtilities.hpp:79
bool ContigousPartitions
Definition MetisUtilities.hpp:81
unsigned int MasterWeight
0 de-activated; 100 activated totally
Definition MetisUtilities.hpp:85