36 #ifndef NEKTAR_LIB_UTILITIES_BASICUTILS_METIS_HPP
37 #define NEKTAR_LIB_UTILITIES_BASICUTILS_METIS_HPP
49 int *options,
int *perm,
int *iperm,
int *map,
62 ASSERTL1(xadj.num_elements() == nVerts+1,
"Array xadj out of bounds");
63 ASSERTL1(perm.num_elements() == nVerts,
"Array perm out of bounds");
64 ASSERTL1(iperm.num_elements() == nVerts,
"Array iperm out of bounds");
67 &iperm[0], &map[0], &mdswitch);
84 if (vertWgt.num_elements() > 0)
88 if (vertSize.num_elements() > 0)
93 int ncon = nVertConds;
94 int options[METIS_NOPTIONS];
95 METIS_SetDefaultOptions(options);
96 METIS_PartGraphKway(&nVerts, &ncon, &xadj[0], &adjcy[0], vwgt, vsize,
97 0, &nparts, 0, 0, options, &volume, &part[0]);
100 #endif //NEKTAR_LIB_UTILITIES_BASICUTILS_METIS_HPP
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)
static void as_onmetis(int nVerts, Nektar::Array< Nektar::OneD, int > xadj, Nektar::Array< Nektar::OneD, int > adjncy, Nektar::Array< Nektar::OneD, int > perm, Nektar::Array< Nektar::OneD, int > iperm, Nektar::Array< Nektar::OneD, int > map, int mdswitch=1)
void AS_METIS_NodeND(int *nVerts, int *xadj, int *adjncy, int *vwgt, int *options, int *perm, int *iperm, int *map, int *mdswitch)
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...