DOLFIN
DOLFIN C++ interface
Static Public Member Functions | List of all members
dolfin::SCOTCH Class Reference

This class provides an interface to SCOTCH-PT (parallel version) More...

#include <SCOTCH.h>

Static Public Member Functions

static void compute_partition (const MPI_Comm mpi_comm, std::vector< int > &cell_partition, std::map< std::int64_t, std::vector< int >> &ghost_procs, const boost::multi_array< std::int64_t, 2 > &cell_vertices, const std::vector< std::size_t > &cell_weight, const std::int64_t num_global_vertices, const std::int64_t num_global_cells, const CellType &cell_type)
 
static std::vector< int > compute_gps (const Graph &graph, std::size_t num_passes=5)
 
static std::vector< int > compute_reordering (const Graph &graph, std::string scotch_strategy="")
 
static void compute_reordering (const Graph &graph, std::vector< int > &permutation, std::vector< int > &inverse_permutation, std::string scotch_strategy="")
 

Detailed Description

This class provides an interface to SCOTCH-PT (parallel version)

Member Function Documentation

◆ compute_gps()

std::vector< int > SCOTCH::compute_gps ( const Graph graph,
std::size_t  num_passes = 5 
)
static

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

Parameters
graph(Graph) Input graph
num_passes(std::size_t) Number of passes to use in GPS algorithm
Returns
std::vector<int> Mapping from old to new nodes

◆ compute_partition()

void SCOTCH::compute_partition ( const MPI_Comm  mpi_comm,
std::vector< int > &  cell_partition,
std::map< std::int64_t, std::vector< int >> &  ghost_procs,
const boost::multi_array< std::int64_t, 2 > &  cell_vertices,
const std::vector< std::size_t > &  cell_weight,
const std::int64_t  num_global_vertices,
const std::int64_t  num_global_cells,
const CellType cell_type 
)
static

Compute cell partition from local mesh data. The vector cell_partition contains the desired destination process numbers for each cell. Cells shared on multiple processes have an entry in ghost_procs pointing to the set of sharing process numbers.

Parameters
mpi_comm(MPI_Comm)
cell_partition(std::vector<int>)
ghost_procs(std::map<std::int64_t, std::vector<int>>)
cell_vertices(const boost::multi_array<std::int64_t, 2>)
cell_weight(const std::vector<std::size_t>)
num_global_vertices(const std::int64_t)
num_global_cells(const std::int64_t)
cell_type(const CellType)

◆ compute_reordering() [1/2]

std::vector< int > SCOTCH::compute_reordering ( const Graph graph,
std::string  scotch_strategy = "" 
)
static

Compute graph re-ordering

Parameters
graph(Graph) Input graph
scotch_strategy(string) SCOTCH parameters
Returns
std::vector<int> Mapping from old to new nodes

◆ compute_reordering() [2/2]

void SCOTCH::compute_reordering ( const Graph graph,
std::vector< int > &  permutation,
std::vector< int > &  inverse_permutation,
std::string  scotch_strategy = "" 
)
static

Compute graph re-ordering

Parameters
graph(Graph)
permutation(std::vector<int>)
inverse_permutation(std::vector<int>)
scotch_strategy(std::string)

The documentation for this class was generated from the following files: