Go to the documentation of this file.
18 #ifndef LIBMESH_PARMETIS_HELPER_H
19 #define LIBMESH_PARMETIS_HELPER_H
22 #include "libmesh/libmesh_config.h"
27 #ifdef LIBMESH_HAVE_PARMETIS
37 # include "libmesh/ignore_warnings.h"
38 # include "parmetis.h"
39 # include "libmesh/restore_warnings.h"
42 #endif // LIBMESH_HAVE_PARMETIS
72 #ifdef LIBMESH_HAVE_PARMETIS
79 std::vector<Parmetis::idx_t>
xadj;
84 std::vector<dof_id_type>
part;
88 static_assert(
sizeof(Parmetis::idx_t) ==
sizeof(
dof_id_type),
89 "ParMETIS and libMesh ID sizes must match!");
91 std::vector<Parmetis::real_t>
tpwgts;
92 std::vector<Parmetis::real_t>
ubvec;
94 std::vector<Parmetis::idx_t>
vwgt;
102 #endif // LIBMESH_HAVE_PARMETIS
107 #endif // LIBMESH_PARMETIS_HELPER_H
ParmetisHelper()=default
Defaulted constructors, assignment operators, and destructor.
ParmetisHelper & operator=(const ParmetisHelper &)=default
~ParmetisHelper()=default
The libMesh namespace provides an interface to certain functionality in the library.
The ParmetisHelper class allows us to use a 'pimpl' strategy in the ParmetisPartitioner class.
std::vector< Parmetis::idx_t > vtxdist
Data structures used by ParMETIS to describe the connectivity graph of the mesh.
std::vector< Parmetis::idx_t > adjncy
std::vector< Parmetis::idx_t > options
std::vector< dof_id_type > part
std::vector< Parmetis::real_t > ubvec
std::vector< Parmetis::idx_t > xadj
std::vector< Parmetis::real_t > tpwgts
std::vector< Parmetis::idx_t > vwgt