Note: this is documentation for an old release. View the latest documentation at docs.fenicsproject.org/v0.1.0/v0.9.0/cpp
DOLFINx  0.1.0
DOLFINx C++ interface
Enumerations | Functions
dolfinx::graph::scotch Namespace Reference

Interface to SCOTCH-PT. More...

Enumerations

enum  strategy {
  none, balance, quality, safety,
  speed, scalability
}
 SCOTCH partitioning strategies.
 

Functions

graph::partition_fn partitioner (scotch::strategy strategy=strategy::none, double imbalance=0.025, int seed=0)
 Create a graph partitioning function that uses SCOTCH. More...
 
std::pair< std::vector< int >, std::vector< int > > compute_gps (const AdjacencyList< std::int32_t > &graph, std::size_t num_passes=5)
 Compute reordering (map[old] -> new) using Gibbs-Poole-Stockmeyer (GPS) re-ordering. More...
 
std::pair< std::vector< int >, std::vector< int > > compute_reordering (const AdjacencyList< std::int32_t > &graph, std::string scotch_strategy="")
 Compute graph re-ordering. More...
 

Detailed Description

Interface to SCOTCH-PT.

Function Documentation

◆ compute_gps()

std::pair< std::vector< int >, std::vector< int > > dolfinx::graph::scotch::compute_gps ( const AdjacencyList< std::int32_t > &  graph,
std::size_t  num_passes = 5 
)

Compute reordering (map[old] -> new) using Gibbs-Poole-Stockmeyer (GPS) re-ordering.

Parameters
[in]graphInput graph
[in]num_passesNumber of passes to use in GPS algorithm
Returns
(map from old to new nodes, map from new to old nodes (inverse map))

◆ compute_reordering()

std::pair< std::vector< int >, std::vector< int > > dolfinx::graph::scotch::compute_reordering ( const AdjacencyList< std::int32_t > &  graph,
std::string  scotch_strategy = "" 
)

Compute graph re-ordering.

Parameters
[in]graphInput graph
[in]scotch_strategy(string) SCOTCH parameters
Returns
(map from old to new nodes, map from new to old nodes (inverse map))

◆ partitioner()

graph::partition_fn dolfinx::graph::scotch::partitioner ( scotch::strategy  strategy = strategy::none,
double  imbalance = 0.025,
int  seed = 0 
)

Create a graph partitioning function that uses SCOTCH.

Parameters
[in]strategyThe SCOTCH strategy
[in]imbalanceThe allowable imbalance (between 0 and 1). The smaller value the more balanced the partitioning must be.
[in]seedRandom number generator seed
Returns
A graph partitioning function