18 #ifndef PARTITIONING_HH_ 19 #define PARTITIONING_HH_ 55 <<
"Number of processors " << EI_NProcs::val <<
" greater then number of elements " 56 << EI_NElems::val <<
". Can not make partitioning of the mesh " << EI_MeshFile::qval <<
".\n" );
Class for the mesh partitioning. This should provide:
DECLARE_INPUT_EXCEPTION(ExcDecomposeMesh,<< "Number of processors "<< EI_NProcs::val<< " greater then number of elements "<< EI_NElems::val<< ". Can not make partitioning of the mesh "<< EI_MeshFile::qval<< ".\n")
int IdxInt
Define integers that are indices into large arrays (elements, nodes, dofs etc.)
Mesh * mesh_
The input mesh.
~Partitioning()
Destructor.
shared_ptr< vector< int > > subdomain_id_field_data()
void make_element_connection_graph()
static const Input::Type::Record & get_input_type()
Add edge for any pair of neighboring elements.
shared_ptr< vector< int > > seq_part_
Sequential partitioning for output.
TYPEDEF_ERR_INFO(EI_MeshFile, std::string)
Use PETSc interface to various partitioing tools.
static const Input::Type::Selection & get_tool_sel()
IdxInt * loc_part_
Partition numbers for local elements in original distribution of elements given be init_el_ds_...
int IdxInt
Re-declaration of typedef defined in mesh.h.
Input::Record in_
Input Record accessor.
Virtual class for construction and partitioning of a distributed sparse graph.
Use direct interface to Metis.
void id_maps(int n_ids, IdxInt *id_4_old, Distribution *&new_ds, IdxInt *&id_4_loc, IdxInt *&new_4_id)
Distribution * init_el_ds_
Original distribution of elements. Depends on type of partitioner.
Same as before and assign higher weight to cuts of lower dimension in order to make them stick to one...
const Distribution * get_init_distr() const
const IdxInt * get_loc_part() const
SparseGraph * graph_
Graph used to partitioning the mesh.
static const Input::Type::Selection & get_graph_type_sel()
Input specification objects.
Add edge for any pair of neighboring elements of same dimension (bad for matrix multiply) ...
Partitioning(Mesh *mesh, Input::Record in)