|
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_parallel_layout.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... | |
Public Member Functions inherited from SF::parallel_layout< T > | |
| 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 | |
Protected Attributes inherited from SF::parallel_layout< T > | |
| 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 376 of file SF_parallel_layout.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.