Loading...
Searching...
No Matches
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:

- /build/dolfin-lFBzDh/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/graph/SCOTCH.h
- /build/dolfin-lFBzDh/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/graph/SCOTCH.cpp