Namespaces | Typedefs | Functions
partitioning.h File Reference

Go to the source code of this file.

Namespaces

 oomph
 //////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
 
 oomph::METIS
 Namespace for METIS graph partitioning routines.
 

Typedefs

typedef void(* oomph::METIS::ErrorToWeightFctPt) (const double &spatial_error, const double &max_error, const double &min_error, int &weight)
 Typedef for function pointer to to function that translates spatial error into weight for METIS partitioning. More...
 

Functions

void oomph::METIS_PartGraphKway (int *, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *)
 Metis graph partitioning function. More...
 
void oomph::METIS_PartGraphVKway (int *, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *)
 Metis graph partitioning function – decomposes nodal graph based on minimum communication volume. More...
 
void oomph::METIS::default_error_to_weight_fct (const double &spatial_error, const double &max_error, const double &min_error, int &weight)
 Default function that translates spatial error into weight for METIS partitioning (unit weight regardless of input). More...
 
void oomph::METIS::uniform_partition_mesh (Problem *problem_pt, const unsigned &ndomain, Vector< unsigned > &element_domain)
 Partition mesh uniformly by dividing elements equally over the partitions, in the order in which they are returned by problem. On return, element_domain[ielem] contains the number of the domain [0,1,...,ndomain-1] to which element ielem has been assigned. More...
 
void oomph::METIS::partition_mesh (Problem *problem_pt, const unsigned &ndomain, const unsigned &objective, Vector< unsigned > &element_domain)
 Use METIS to assign each element to a domain. On return, element_domain[ielem] contains the number of the domain [0,1,...,ndomain-1] to which element ielem has been assigned. More...
 
void oomph::METIS::partition_mesh (OomphCommunicator *comm_pt, Mesh *mesh_pt, const unsigned &ndomain, const unsigned &objective, Vector< unsigned > &element_domain)
 Use METIS to assign each element to a domain. On return, element_domain[ielem] contains the number of the domain [0,1,...,ndomain-1] to which element ielem has been assigned. More...
 
void oomph::METIS::partition_distributed_mesh (Problem *problem_pt, const unsigned &objective, Vector< unsigned > &element_domain_on_this_proc, const bool &bypass_metis=false)
 Use METIS to assign each element in an already-distributed mesh to a domain. On return, element_domain_on_this_proc[e] contains the number of the domain [0,1,...,ndomain-1] to which non-halo element e on THE CURRENT PROCESSOR ONLY has been assigned. The order of the non-halo elements is the same as in the Problem's mesh, with the halo elements being skipped. More...