#include <Xpetra_MapExtractor_decl.hpp>
Public Types | |
typedef Scalar | scalar_type |
typedef LocalOrdinal | local_ordinal_type |
typedef GlobalOrdinal | global_ordinal_type |
typedef Node | node_type |
Public Member Functions | |
MapExtractor (const RCP< const Map > &fullmap, const std::vector< RCP< const Map > > &maps, bool bThyraMode=false) | |
MapExtractor (const std::vector< RCP< const Map > > &maps, const std::vector< RCP< const Map > > &thyramaps) | |
Expert constructor for Thyra maps. More... | |
MapExtractor (const Teuchos::RCP< const Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node > > &map) | |
MapExtractor (const MapExtractor &input) | |
copy constructor More... | |
virtual | ~MapExtractor () |
Destructor. More... | |
RCP< Vector > | getVector (size_t i, bool bThyraMode=false, bool bZero=true) const |
RCP< MultiVector > | getVector (size_t i, size_t numvec, bool bThyraMode=false, bool bZero=true) const |
bool | getThyraMode () const |
returns true, if sub maps are stored in Thyra-style numbering More... | |
![]() | |
virtual std::string | description () const |
virtual void | describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
virtual | ~Describable () |
LabeledObject () | |
virtual | ~LabeledObject () |
virtual void | setObjectLabel (const std::string &objectLabel) |
virtual std::string | getObjectLabel () const |
DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
Private Attributes | |
Teuchos::RCP< const Xpetra::BlockedMap < LocalOrdinal, GlobalOrdinal, Node > > | map_ |
blocked map containing the sub block maps (either thyra or xpetra mode) More... | |
Extract subblocks from full map | |
void | ExtractVector (const Vector &full, size_t block, Vector &partial) const |
void | ExtractVector (const MultiVector &full, size_t block, MultiVector &partial) const |
void | ExtractVector (RCP< const Vector > &full, size_t block, RCP< Vector > &partial) const |
void | ExtractVector (RCP< Vector > &full, size_t block, RCP< Vector > &partial) const |
void | ExtractVector (RCP< const MultiVector > &full, size_t block, RCP< MultiVector > &partial) const |
void | ExtractVector (RCP< MultiVector > &full, size_t block, RCP< MultiVector > &partial) const |
RCP< Vector > | ExtractVector (RCP< const Vector > &full, size_t block, bool bThyraMode=false) const |
RCP< Vector > | ExtractVector (RCP< Vector > &full, size_t block, bool bThyraMode=false) const |
RCP< MultiVector > | ExtractVector (RCP< const MultiVector > &full, size_t block, bool bThyraMode=false) const |
RCP< MultiVector > | ExtractVector (RCP< MultiVector > &full, size_t block, bool bThyraMode=false) const |
RCP< MultiVector > | ExtractVector (RCP< const Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &full, size_t block, bool bThyraMode=false) const |
RCP< MultiVector > | ExtractVector (RCP< Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &full, size_t block, bool bThyraMode=false) const |
Insert subblocks into full map | |
void | InsertVector (const Vector &partial, size_t block, Vector &full, bool bThyraMode=false) const |
void | InsertVector (const MultiVector &partial, size_t block, MultiVector &full, bool bThyraMode=false) const |
void | InsertVector (RCP< const Vector > partial, size_t block, RCP< Vector > full, bool bThyraMode=false) const |
void | InsertVector (RCP< Vector > partial, size_t block, RCP< Vector > full, bool bThyraMode=false) const |
void | InsertVector (RCP< const MultiVector > partial, size_t block, RCP< MultiVector > full, bool bThyraMode=false) const |
void | InsertVector (RCP< MultiVector > partial, size_t block, RCP< MultiVector > full, bool bThyraMode=false) const |
void | InsertVector (RCP< const MultiVector > partial, size_t block, RCP< Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > full, bool bThyraMode=false) const |
void | InsertVector (RCP< MultiVector > partial, size_t block, RCP< Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > full, bool bThyraMode=false) const |
Maps | |
size_t | NumMaps () const |
number of partial maps More... | |
const RCP< const Map > | getMap (size_t i, bool bThyraMode=false) const |
const RCP< const Map > | getMap () const |
get the underlying BlockedMap object (as Map) More... | |
const RCP< const Xpetra::BlockedMap < LocalOrdinal, GlobalOrdinal, Node > > | getBlockedMap () const |
get the underlying BlockedMap object (as BlockedMap) More... | |
const RCP< const Map > | getFullMap () const |
the full map More... | |
size_t | getMapIndexForGID (GlobalOrdinal gid) const |
returns map index in map extractor which contains GID More... | |
Additional Inherited Members | |
![]() | |
static const EVerbosityLevel | verbLevel_default |
Definition at line 82 of file Xpetra_MapExtractor_decl.hpp.
typedef Scalar Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scalar_type |
Definition at line 86 of file Xpetra_MapExtractor_decl.hpp.
typedef LocalOrdinal Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type |
Definition at line 87 of file Xpetra_MapExtractor_decl.hpp.
typedef GlobalOrdinal Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type |
Definition at line 88 of file Xpetra_MapExtractor_decl.hpp.
typedef Node Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::node_type |
Definition at line 89 of file Xpetra_MapExtractor_decl.hpp.
Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MapExtractor | ( | const RCP< const Map > & | fullmap, |
const std::vector< RCP< const Map > > & | maps, | ||
bool | bThyraMode = false |
||
) |
MapExtractor basic constructor
[in] | fullmap | Full map containing all GIDs throughout the full vector. This parameter is only important if bThyraMode == false (see below) |
[in] | maps | Vector containing submaps. The set of all GIDs stored in the submaps should be the same than stored in fullmap, if bThyraMode == false. In Thyra mode, the submaps should contain consecutive GIDs starting with 0 in each submap. |
[in] | bThyraMode | Flag which allows to switch between generating a MapExtractor in Thyra mode or Xpetra mode |
In Thyra mode, fullmap is not important as a fullmap with unique blocked GIDs is automatically generated which map the GIDs of the submaps to uniquely defined GIDs in the fullmap. The user has to provide a fullmap in Thyra mode to specify the underlying linear algebra library (Epetra or Tpetra) and some other map information (e.g. indexBase). This could be fixed.
In Xpetra mode, the fullmap has to be the same as the union of the GIDs stored in the submaps in maps. The intersection of the GIDs of the sub- maps in maps must be empty.
Definition at line 59 of file Xpetra_MapExtractor_def.hpp.
Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MapExtractor | ( | const std::vector< RCP< const Map > > & | maps, |
const std::vector< RCP< const Map > > & | thyramaps | ||
) |
Expert constructor for Thyra maps.
Definition at line 66 of file Xpetra_MapExtractor_def.hpp.
Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MapExtractor | ( | const Teuchos::RCP< const Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node > > & | map | ) |
Constructor which accepts a const version of a blocked map
map | BlockedMap defining the block structure of the multi vector |
Definition at line 73 of file Xpetra_MapExtractor_def.hpp.
Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MapExtractor | ( | const MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | input | ) |
copy constructor
Definition at line 80 of file Xpetra_MapExtractor_def.hpp.
|
virtual |
Destructor.
Definition at line 88 of file Xpetra_MapExtractor_def.hpp.
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector | ( | const Vector & | full, |
size_t | block, | ||
Vector & | partial | ||
) | const |
Definition at line 97 of file Xpetra_MapExtractor_def.hpp.
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector | ( | const MultiVector & | full, |
size_t | block, | ||
MultiVector & | partial | ||
) | const |
Definition at line 111 of file Xpetra_MapExtractor_def.hpp.
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector | ( | RCP< const Vector > & | full, |
size_t | block, | ||
RCP< Vector > & | partial | ||
) | const |
Definition at line 127 of file Xpetra_MapExtractor_def.hpp.
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector | ( | RCP< Vector > & | full, |
size_t | block, | ||
RCP< Vector > & | partial | ||
) | const |
Definition at line 136 of file Xpetra_MapExtractor_def.hpp.
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector | ( | RCP< const MultiVector > & | full, |
size_t | block, | ||
RCP< MultiVector > & | partial | ||
) | const |
Definition at line 145 of file Xpetra_MapExtractor_def.hpp.
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector | ( | RCP< MultiVector > & | full, |
size_t | block, | ||
RCP< MultiVector > & | partial | ||
) | const |
Definition at line 154 of file Xpetra_MapExtractor_def.hpp.
RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector | ( | RCP< const Vector > & | full, |
size_t | block, | ||
bool | bThyraMode = false |
||
) | const |
Definition at line 163 of file Xpetra_MapExtractor_def.hpp.
RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector | ( | RCP< Vector > & | full, |
size_t | block, | ||
bool | bThyraMode = false |
||
) | const |
Definition at line 188 of file Xpetra_MapExtractor_def.hpp.
RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector | ( | RCP< const MultiVector > & | full, |
size_t | block, | ||
bool | bThyraMode = false |
||
) | const |
Definition at line 216 of file Xpetra_MapExtractor_def.hpp.
RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector | ( | RCP< MultiVector > & | full, |
size_t | block, | ||
bool | bThyraMode = false |
||
) | const |
Definition at line 267 of file Xpetra_MapExtractor_def.hpp.
RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector | ( | RCP< const Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > & | full, |
size_t | block, | ||
bool | bThyraMode = false |
||
) | const |
Definition at line 318 of file Xpetra_MapExtractor_def.hpp.
RCP<MultiVector> Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector | ( | RCP< Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > & | full, |
size_t | block, | ||
bool | bThyraMode = false |
||
) | const |
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector | ( | const Vector & | partial, |
size_t | block, | ||
Vector & | full, | ||
bool | bThyraMode = false |
||
) | const |
Definition at line 364 of file Xpetra_MapExtractor_def.hpp.
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector | ( | const MultiVector & | partial, |
size_t | block, | ||
MultiVector & | full, | ||
bool | bThyraMode = false |
||
) | const |
Definition at line 425 of file Xpetra_MapExtractor_def.hpp.
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector | ( | RCP< const Vector > | partial, |
size_t | block, | ||
RCP< Vector > | full, | ||
bool | bThyraMode = false |
||
) | const |
Definition at line 487 of file Xpetra_MapExtractor_def.hpp.
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector | ( | RCP< Vector > | partial, |
size_t | block, | ||
RCP< Vector > | full, | ||
bool | bThyraMode = false |
||
) | const |
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector | ( | RCP< const MultiVector > | partial, |
size_t | block, | ||
RCP< MultiVector > | full, | ||
bool | bThyraMode = false |
||
) | const |
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector | ( | RCP< MultiVector > | partial, |
size_t | block, | ||
RCP< MultiVector > | full, | ||
bool | bThyraMode = false |
||
) | const |
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector | ( | RCP< const MultiVector > | partial, |
size_t | block, | ||
RCP< Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > | full, | ||
bool | bThyraMode = false |
||
) | const |
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector | ( | RCP< MultiVector > | partial, |
size_t | block, | ||
RCP< Xpetra::BlockedMultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > | full, | ||
bool | bThyraMode = false |
||
) | const |
RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getVector | ( | size_t | i, |
bool | bThyraMode = false , |
||
bool | bZero = true |
||
) | const |
Definition at line 586 of file Xpetra_MapExtractor_def.hpp.
RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getVector | ( | size_t | i, |
size_t | numvec, | ||
bool | bThyraMode = false , |
||
bool | bZero = true |
||
) | const |
Definition at line 601 of file Xpetra_MapExtractor_def.hpp.
bool Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getThyraMode | ( | ) | const |
returns true, if sub maps are stored in Thyra-style numbering
Definition at line 617 of file Xpetra_MapExtractor_def.hpp.
size_t Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::NumMaps | ( | ) | const |
number of partial maps
Definition at line 626 of file Xpetra_MapExtractor_def.hpp.
const RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getMap | ( | size_t | i, |
bool | bThyraMode = false |
||
) | const |
get the map returns the sub map i from list of sub maps depending on the parameter bThyraMode the sub map that is returned uses Thyra or Xpetra numbering Note: Thyra-numbering is only allowed if the MapExtractor is also constructed using Thyra numbering
Definition at line 635 of file Xpetra_MapExtractor_def.hpp.
const RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getMap | ( | ) | const |
get the underlying BlockedMap object (as Map)
Definition at line 644 of file Xpetra_MapExtractor_def.hpp.
const RCP< const Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getBlockedMap | ( | ) | const |
get the underlying BlockedMap object (as BlockedMap)
Definition at line 653 of file Xpetra_MapExtractor_def.hpp.
const RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getFullMap | ( | ) | const |
the full map
Definition at line 662 of file Xpetra_MapExtractor_def.hpp.
size_t Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getMapIndexForGID | ( | GlobalOrdinal | gid | ) | const |
returns map index in map extractor which contains GID
Definition at line 671 of file Xpetra_MapExtractor_def.hpp.
|
private |
blocked map containing the sub block maps (either thyra or xpetra mode)
Definition at line 198 of file Xpetra_MapExtractor_decl.hpp.