1#ifndef BlockMap_DECL_hpp
2#define BlockMap_DECL_hpp
4#include "feddlib/core/FEDDCore.hpp"
5#include "feddlib/core/General/DefaultTypeDefs.hpp"
6#include "MultiVector.hpp"
37template <
class LO = default_lo,
class GO = default_go,
class NO = default_no>
42 typedef BlockMap<LO,GO,NO> BlockMap_Type;
43 typedef Teuchos::RCP<BlockMap_Type> BlockMapPtr_Type;
46 typedef typename Map_Type::MapPtr_Type MapPtr_Type;
47 typedef typename Map_Type::MapConstPtr_Type MapConstPtr_Type;
49 typedef typename Map_Type::Comm_Type Comm_Type;
50 typedef typename Map_Type::CommPtr_Type CommPtr_Type;
51 typedef typename Map_Type::CommConstPtr_Type CommConstPtr_Type;
76 std::string getUnderlyingLib( )
const;
86 CommPtr_Type getCommNonConst();
88 MapPtr_Type getBlock(UN i);
90 MapConstPtr_Type getBlock(UN i)
const;
92 UN size()
const {
return blockMap_.size(); };
95 Teuchos::Array<MapPtr_Type> blockMap_;
96 MapPtr_Type mergedMap_;
CommConstPtr_Type getComm()
Get underlying communicator.
Definition BlockMap_def.hpp:127
BlockMap(UN size)
Initializing block maps with the size of system (i.e. 2 for Stokes problem). As systems are distribut...
Definition BlockMap_def.hpp:23
void merge()
Merging the map of different blocks together. Relevant for monolithic solving/precondtioning.
Definition BlockMap_def.hpp:55
MapConstPtr_Type getMergedMap()
Getting merged map of block maps.
Definition BlockMap_def.hpp:120
void addBlock(MapConstPtr_Type map, int i)
Adding map to corresponding block i. Block i is row-wise distrubted according to the underlying map.
Definition BlockMap_def.hpp:42
Definition Map_decl.hpp:36
Adaptive Mesh Refinement.
Definition AdaptiveMeshRefinement.cpp:5