This class provides an interface to SCOTCH-PT (parallel version)
More...
#include <SCOTCH.h>
|
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="") |
|
This class provides an interface to SCOTCH-PT (parallel version)
◆ 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:
- /home/fenics/shared/dolfin/dolfin/graph/SCOTCH.h
- /home/fenics/shared/dolfin/dolfin/graph/SCOTCH.cpp