|
Finite Element Domain Decomposition Library
FEDDLib
|
Block Variant of Map class. More...
#include <BlockMap_decl.hpp>
Public Types | |
| typedef BlockMap< LO, GO, NO > | BlockMap_Type |
| typedef Teuchos::RCP< BlockMap_Type > | BlockMapPtr_Type |
| typedef Map< LO, GO, NO > | Map_Type |
| typedef Map_Type::MapPtr_Type | MapPtr_Type |
| typedef Map_Type::MapConstPtr_Type | MapConstPtr_Type |
| typedef Map_Type::Comm_Type | Comm_Type |
| typedef Map_Type::CommPtr_Type | CommPtr_Type |
| typedef Map_Type::CommConstPtr_Type | CommConstPtr_Type |
Public Member Functions | |
| BlockMap (UN size) | |
| Initializing block maps with the size of system (i.e. 2 for Stokes problem). As systems are distributed row-wise, block i corresponds to row-block i. | |
| void | resize (UN size) |
| void | addBlock (MapConstPtr_Type map, int i) |
| Adding map to corresponding block i. Block i is row-wise distrubted according to the underlying map. | |
| void | merge () |
| Merging the map of different blocks together. Relevant for monolithic solving/precondtioning. | |
| void | print () |
| void | info () |
| MapConstPtr_Type | getMergedMap () |
| Getting merged map of block maps. | |
| CommConstPtr_Type | getComm () |
| Get underlying communicator. | |
| CommPtr_Type | getCommNonConst () |
| MapPtr_Type | getBlock (UN i) |
| MapConstPtr_Type | getBlock (UN i) const |
| UN | size () const |
Block Variant of Map class.
This becomes relevant for block systems and when we attempt to use monolithic preconditioning or solving to determine the merged map of system.
| LO | The local ordinal type. The is the index type for local indices |
| GO | The global ordinal type. The is the index type for global indices |
| NO | The Kokkos Node type. This would allow for performance portibility when using Kokkos. Currently, this is not used. |
This becomes relevant for block systems and when we attempt to use monolithic preconditioning or solving to determine the merged map of system.
1 | B^T 0 BlockMap->getBlock(1) of row-block 1
| FEDD::BlockMap< LO, GO, NO >::BlockMap | ( | UN | size | ) |
Initializing block maps with the size of system (i.e. 2 for Stokes problem). As systems are distributed row-wise, block i corresponds to row-block i.
| size | of system |
| void FEDD::BlockMap< LO, GO, NO >::addBlock | ( | MapConstPtr_Type | map, |
| int | i ) |
Adding map to corresponding block i. Block i is row-wise distrubted according to the underlying map.
| map | local to global indexing of rows |
| i | block id |
| BlockMap< LO, GO, NO >::CommConstPtr_Type FEDD::BlockMap< LO, GO, NO >::getComm | ( | ) |
Get underlying communicator.
| BlockMap< LO, GO, NO >::MapConstPtr_Type FEDD::BlockMap< LO, GO, NO >::getMergedMap | ( | ) |
Getting merged map of block maps.
