openCARP
Doxygen code documentation for the open cardiac electrophysiology simulator openCARP
|
The overlapping_layout class contains the algorithms related to managing overlapping parallel index sets, such as the indexing of the nodes, faces or edges of a distributed mesh. More...
#include <SF_container.h>
Public Member Functions | |
overlapping_layout () | |
Non-parameterized constructor. Use assign() to initialize later. More... | |
void | assign (const vector< T > &idx, MPI_Comm comm) |
Initialization function. More... | |
const vector< T > & | interface () const |
Retrieve the local indices of the subdomain interfaces. More... | |
const vector< T > & | algebraic_nodes () const |
Getter function for the local indices forming the local algebraic node set. More... | |
const vector< T > & | algebraic_layout () const |
Getter function for the global algebraic node layout. More... | |
const vector< T > & | layout () const |
Return the the overlapping layout. More... | |
T | localize_algebraic (const T global_idx, const vector< T > &global_alg_nbr, const int rank) |
map a global (REF_NBR, reference numbering) index to local algebraic (non-overlapping) indexing w.r.t. the provided global_alg_nbr numbering (usually PETSC_NBR, PETSc numbering) More... | |
size_t | num_global_idx () const |
Retrieve the global number of indices. More... | |
size_t | num_local_idx () const |
Retrieve the local number of indices. More... | |
size_t | num_algebraic_idx () const |
Retrieve the number of local algebraic indices. More... | |
template<class V > | |
void | reduce (vector< V > &ndat, const char *op) const |
Compute a reduction on overlapping data. More... | |
![]() | |
void | globalize (vector< T > &lvec) const |
Globalize local indices. More... | |
T | globalize (const T lidx) const |
Globalize local indices. More... | |
void | localize (vector< T > &gvec) const |
Localize global indices. More... | |
template<class V > | |
void | localize (vector< T > &gidx, vector< V > &gdat) const |
Localize global indices and associated data. More... | |
T | localize (T gidx) const |
void | assign (const vector< T > &idx) |
Assign a parallel distributed index set that defines the parallel layout. More... | |
Additional Inherited Members | |
![]() | |
vector< T > | _l2g |
The global indices of the local DD domain. Also serves as the local-to-global map. More... | |
hashmap::unordered_map< T, T > | _g2l |
The global-to-local map for the DD domain. More... | |
The overlapping_layout class contains the algorithms related to managing overlapping parallel index sets, such as the indexing of the nodes, faces or edges of a distributed mesh.
Definition at line 197 of file SF_container.h.
|
inline |
Non-parameterized constructor. Use assign() to initialize later.
Definition at line 618 of file SF_parallel_layout.h.
|
inline |
Getter function for the global algebraic node layout.
Definition at line 675 of file SF_parallel_layout.h.
|
inline |
Getter function for the local indices forming the local algebraic node set.
Definition at line 665 of file SF_parallel_layout.h.
|
inline |
Initialization function.
It generates the parallel layout from the overlapping sets global node indices forming the different local domains.
idx | Vector of global indices forming the local DD domain. Usually the reference numbering should be used. |
comm | The MPI communicator for parallel communication. |
Definition at line 630 of file SF_parallel_layout.h.
|
inline |
Retrieve the local indices of the subdomain interfaces.
The local indices are with respect to the global index set "nod" used during initialization.
Definition at line 655 of file SF_parallel_layout.h.
|
inline |
Return the the overlapping layout.
Definition at line 684 of file SF_parallel_layout.h.
|
inline |
map a global (REF_NBR, reference numbering) index to local algebraic (non-overlapping) indexing w.r.t. the provided global_alg_nbr numbering (usually PETSC_NBR, PETSc numbering)
global_idx | The global index to localize |
global_alg_nbr | The numbering w.r.t. we localize |
rank | Process rank |
Definition at line 699 of file SF_parallel_layout.h.
|
inline |
Retrieve the number of local algebraic indices.
Definition at line 725 of file SF_parallel_layout.h.
|
inline |
Retrieve the global number of indices.
Definition at line 715 of file SF_parallel_layout.h.
|
inline |
Retrieve the local number of indices.
Definition at line 720 of file SF_parallel_layout.h.
|
inline |
Compute a reduction on overlapping data.
V | Value type. Usually int, double or float. |
ndat | Vector of parallel overlapping data. |
op | Reduction operation string. Must be either "min", "max" or "sum". |
Definition at line 739 of file SF_parallel_layout.h.