![]() |
LifeV
|
This class handles block access to parallel monolithic Vectors with an underling block structure. More...
#include <BlockEpetra_Map.hpp>
Collaboration diagram for BlockEpetra_Map:Public Member Functions | |
| void | showMe () |
| Print debug info. More... | |
Private Member Functions | |
| void | build () |
Private Attributes | |
| UInt | M_nBlocks |
| std::vector< UInt > | M_myLocalOffsets |
| mapPtr_Type | M_monolithicMap |
| mapPtrContainer_Type | M_blockMap |
| mapPtrContainer_Type | M_blockShiftedMap |
Friends | |
| class | BlockEpetra_MultiVector |
| typedef Operators::LinearOperatorAlgebra::comm_Type | comm_Type |
| typedef Operators::LinearOperatorAlgebra::map_Type | map_Type |
| typedef Operators::LinearOperatorAlgebra::mapPtr_Type | mapPtr_Type |
| typedef Operators::LinearOperatorAlgebra::constMapPtr_Type | constMapPtr_Type |
| typedef std::vector< mapPtr_Type > | mapPtrContainer_Type |
| typedef mapPtrContainer_Type::iterator | mapPtrIterator_Type |
| typedef mapPtrContainer_Type::const_iterator | mapPtrConstIterator_Type |
| typedef Epetra_Import | import_Type |
| typedef boost::shared_ptr< import_Type > | importPtr_Type |
| typedef std::vector< importPtr_Type > | importPtrContainer_Type |
| typedef importPtrContainer_Type::iterator | importPtrIterator_Type |
| typedef importPtrContainer_Type::const_iterator | importPtrConstIterator_Type |
| BlockEpetra_Map () | |
| Default Constructor. More... | |
| BlockEpetra_Map (const BlockEpetra_Map &map) | |
| Copy constructor. More... | |
| BlockEpetra_Map (const mapPtrContainer_Type &mapPtrContainer) | |
| Construct a BlockEpetra_Map from an ordered list of Epetra_BlockMap objects. More... | |
| void | setUp (const mapPtr_Type &map1, const mapPtr_Type &map2) |
| simplified setup for the case of only 2 blocks More... | |
| void | setUp (const mapPtr_Type &map1, const mapPtr_Type &map2, const mapPtr_Type &map3) |
| simplified setup for the case of only 3 blocks More... | |
| void | setUp (const mapPtrContainer_Type &mapPtrContainer) |
| general setup for arbitrary number of blocks. The maps of the block to stride are collected in a mapPtrContainer_Type object More... | |
| void | setUp (const Epetra_BlockMap &map1, const Epetra_BlockMap &map2) |
| other set up routines to overcome a design problem in Trilinos (2 blocks) More... | |
| void | setUp (const Epetra_BlockMap &map1, const Epetra_BlockMap &map2, const Epetra_BlockMap &map3) |
| other set up routines to overcome a design problem in Trilinos (3 blocks) More... | |
| UInt | nBlocks () const |
| get the number of blocks More... | |
| mapPtr_Type & | monolithicMap () |
| returns the monolithicMap More... | |
| const constMapPtr_Type | monolithicMap () const |
| const version More... | |
| mapPtr_Type & | blockMap (UInt iblock) |
| returns the original map of block iblock More... | |
| const constMapPtr_Type | blockMap (UInt iblock) const |
| const version More... | |
| mapPtr_Type & | blockShiftedMap (UInt iblock) |
| returns the map relative to block iblock in the numbering of the monolithic map More... | |
| const constMapPtr_Type | blockShiftedMap (UInt iblock) const |
| const version More... | |
| const import_Type & | block2monoImporter (UInt iblock) const |
return an Trilinos import_Type object from block iblock map to the monolithic map More... | |
| const import_Type & | mono2blockImporter (UInt iblock) const |
return an Trilinos import_Type object from the monolithic map to block iblock map. More... | |
Importers | |
| importPtrContainer_Type | M_block2mono |
| merge block vectors in the monolithic vector More... | |
| importPtrContainer_Type | M_mono2block |
| split the monolithic vector in the block vectors More... | |
This class handles block access to parallel monolithic Vectors with an underling block structure.
The goal of BlockEpetra_Map is to provide block or monolithic access to block structured parallel Vectors. The BlockEpetra_Map takes as input a list of Epetra_BlockMap and construct a monolithic map by striding them together.
Definition at line 36 of file BlockEpetra_Map.hpp.
Definition at line 42 of file BlockEpetra_Map.hpp.
Definition at line 43 of file BlockEpetra_Map.hpp.
Definition at line 44 of file BlockEpetra_Map.hpp.
Definition at line 45 of file BlockEpetra_Map.hpp.
| typedef std::vector<mapPtr_Type> mapPtrContainer_Type |
Definition at line 46 of file BlockEpetra_Map.hpp.
| typedef mapPtrContainer_Type::iterator mapPtrIterator_Type |
Definition at line 47 of file BlockEpetra_Map.hpp.
| typedef mapPtrContainer_Type::const_iterator mapPtrConstIterator_Type |
Definition at line 48 of file BlockEpetra_Map.hpp.
| typedef Epetra_Import import_Type |
Definition at line 50 of file BlockEpetra_Map.hpp.
| typedef boost::shared_ptr<import_Type> importPtr_Type |
Definition at line 51 of file BlockEpetra_Map.hpp.
| typedef std::vector<importPtr_Type> importPtrContainer_Type |
Definition at line 52 of file BlockEpetra_Map.hpp.
| typedef importPtrContainer_Type::iterator importPtrIterator_Type |
Definition at line 53 of file BlockEpetra_Map.hpp.
| typedef importPtrContainer_Type::const_iterator importPtrConstIterator_Type |
Definition at line 54 of file BlockEpetra_Map.hpp.
| BlockEpetra_Map | ( | ) |
Default Constructor.
Definition at line 12 of file BlockEpetra_Map.cpp.
Here is the caller graph for this function:| BlockEpetra_Map | ( | const BlockEpetra_Map & | map | ) |
Copy constructor.
Definition at line 22 of file BlockEpetra_Map.cpp.
Here is the caller graph for this function:| BlockEpetra_Map | ( | const mapPtrContainer_Type & | mapPtrContainer | ) |
Construct a BlockEpetra_Map from an ordered list of Epetra_BlockMap objects.
Definition at line 40 of file BlockEpetra_Map.cpp.
Here is the caller graph for this function:| void setUp | ( | const mapPtr_Type & | map1, |
| const mapPtr_Type & | map2 | ||
| ) |
simplified setup for the case of only 2 blocks
Definition at line 52 of file BlockEpetra_Map.cpp.
| void setUp | ( | const mapPtr_Type & | map1, |
| const mapPtr_Type & | map2, | ||
| const mapPtr_Type & | map3 | ||
| ) |
simplified setup for the case of only 3 blocks
Definition at line 60 of file BlockEpetra_Map.cpp.
| void setUp | ( | const mapPtrContainer_Type & | mapPtrContainer | ) |
general setup for arbitrary number of blocks. The maps of the block to stride are collected in a mapPtrContainer_Type object
Definition at line 69 of file BlockEpetra_Map.cpp.
Here is the caller graph for this function:| void setUp | ( | const Epetra_BlockMap & | map1, |
| const Epetra_BlockMap & | map2 | ||
| ) |
other set up routines to overcome a design problem in Trilinos (2 blocks)
Definition at line 87 of file BlockEpetra_Map.cpp.
| void setUp | ( | const Epetra_BlockMap & | map1, |
| const Epetra_BlockMap & | map2, | ||
| const Epetra_BlockMap & | map3 | ||
| ) |
other set up routines to overcome a design problem in Trilinos (3 blocks)
Definition at line 95 of file BlockEpetra_Map.cpp.
| UInt nBlocks | ( | ) | const |
get the number of blocks
Definition at line 105 of file BlockEpetra_Map.cpp.
Here is the caller graph for this function:| BlockEpetra_Map::mapPtr_Type & monolithicMap | ( | ) |
returns the monolithicMap
Definition at line 110 of file BlockEpetra_Map.cpp.
| const BlockEpetra_Map::constMapPtr_Type monolithicMap | ( | ) | const |
const version
Definition at line 114 of file BlockEpetra_Map.cpp.
| BlockEpetra_Map::mapPtr_Type & blockMap | ( | UInt | iblock | ) |
returns the original map of block iblock
Definition at line 118 of file BlockEpetra_Map.cpp.
| const BlockEpetra_Map::constMapPtr_Type blockMap | ( | UInt | iblock | ) | const |
const version
Definition at line 123 of file BlockEpetra_Map.cpp.
| BlockEpetra_Map::mapPtr_Type & blockShiftedMap | ( | UInt | iblock | ) |
returns the map relative to block iblock in the numbering of the monolithic map
Definition at line 128 of file BlockEpetra_Map.cpp.
| const BlockEpetra_Map::constMapPtr_Type blockShiftedMap | ( | UInt | iblock | ) | const |
const version
Definition at line 132 of file BlockEpetra_Map.cpp.
| const BlockEpetra_Map::import_Type & block2monoImporter | ( | UInt | iblock | ) | const |
return an Trilinos import_Type object from block iblock map to the monolithic map
Definition at line 137 of file BlockEpetra_Map.cpp.
| const BlockEpetra_Map::import_Type & mono2blockImporter | ( | UInt | iblock | ) | const |
return an Trilinos import_Type object from the monolithic map to block iblock map.
Definition at line 142 of file BlockEpetra_Map.cpp.
| void showMe | ( | ) |
Print debug info.
Definition at line 147 of file BlockEpetra_Map.cpp.
|
private |
|
friend |
Definition at line 110 of file BlockEpetra_Map.hpp.
|
private |
Definition at line 118 of file BlockEpetra_Map.hpp.
|
private |
Definition at line 119 of file BlockEpetra_Map.hpp.
|
private |
Definition at line 120 of file BlockEpetra_Map.hpp.
|
private |
Definition at line 121 of file BlockEpetra_Map.hpp.
|
private |
Definition at line 122 of file BlockEpetra_Map.hpp.
|
private |
merge block vectors in the monolithic vector
Definition at line 127 of file BlockEpetra_Map.hpp.
|
private |
split the monolithic vector in the block vectors
Definition at line 129 of file BlockEpetra_Map.hpp.