All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Public Types | Public Member Functions | Private Member Functions | Private Attributes
Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

#include <Xpetra_MapExtractor.hpp>

Inheritance diagram for Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >:
Describable

List of all members.

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)
 MapExtractor basic constructor.
RCP< VectorgetVector (size_t i) const
RCP< MultiVectorgetVector (size_t i, size_t numvec) const

Private Member Functions

bool CheckConsistency () const

Private Attributes

RCP< const Mapfullmap_
std::vector< RCP< const Map > > maps_
std::vector< RCP< Import > > importers_

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< VectorExtractVector (RCP< const Vector > &full, size_t block) const
RCP< VectorExtractVector (RCP< Vector > &full, size_t block) const
RCP< MultiVectorExtractVector (RCP< const MultiVector > &full, size_t block) const
RCP< MultiVectorExtractVector (RCP< MultiVector > &full, size_t block) const

Insert subblocks into full map

void InsertVector (const Vector &partial, size_t block, Vector &full) const
void InsertVector (const MultiVector &partial, size_t block, MultiVector &full) const
void InsertVector (RCP< const Vector > &partial, size_t block, RCP< Vector > &full) const
void InsertVector (RCP< Vector > &partial, size_t block, RCP< Vector > &full) const
void InsertVector (RCP< const MultiVector > &partial, size_t block, RCP< MultiVector > &full) const
void InsertVector (RCP< MultiVector > &partial, size_t block, RCP< MultiVector > &full) const

Maps

size_t NumMaps () const
 number of partial maps
const RCP< const MapgetMap (size_t i) const
 get the map
const RCP< const MapgetFullMap () const
 the full map
size_t getMapIndexForGID (GlobalOrdinal gid) const
 returns map index in map extractor which contains GID or -1 otherwise

Detailed Description

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
class Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Definition at line 72 of file Xpetra_MapExtractor.hpp.


Member Typedef Documentation

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
typedef Scalar Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scalar_type

Definition at line 74 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
typedef LocalOrdinal Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type

Definition at line 75 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
typedef GlobalOrdinal Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type

Definition at line 76 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
typedef Node Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::node_type

Definition at line 77 of file Xpetra_MapExtractor.hpp.


Constructor & Destructor Documentation

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MapExtractor ( const RCP< const Map > &  fullmap,
const std::vector< RCP< const Map > > &  maps 
) [inline]

MapExtractor basic constructor.

Definition at line 86 of file Xpetra_MapExtractor.hpp.


Member Function Documentation

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector ( const Vector full,
size_t  block,
Vector partial 
) const [inline]

Definition at line 101 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector ( const MultiVector full,
size_t  block,
MultiVector partial 
) const [inline]

Definition at line 107 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector ( RCP< const Vector > &  full,
size_t  block,
RCP< Vector > &  partial 
) const [inline]

Definition at line 113 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector ( RCP< Vector > &  full,
size_t  block,
RCP< Vector > &  partial 
) const [inline]

Definition at line 114 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector ( RCP< const MultiVector > &  full,
size_t  block,
RCP< MultiVector > &  partial 
) const [inline]

Definition at line 115 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector ( RCP< MultiVector > &  full,
size_t  block,
RCP< MultiVector > &  partial 
) const [inline]

Definition at line 116 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
RCP< Vector> Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector ( RCP< const Vector > &  full,
size_t  block 
) const [inline]

Definition at line 118 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
RCP< Vector> Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector ( RCP< Vector > &  full,
size_t  block 
) const [inline]

Definition at line 125 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
RCP<MultiVector> Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector ( RCP< const MultiVector > &  full,
size_t  block 
) const [inline]

Definition at line 132 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
RCP<MultiVector> Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractVector ( RCP< MultiVector > &  full,
size_t  block 
) const [inline]

Definition at line 139 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector ( const Vector partial,
size_t  block,
Vector full 
) const [inline]

Definition at line 150 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector ( const MultiVector partial,
size_t  block,
MultiVector full 
) const [inline]

Definition at line 156 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector ( RCP< const Vector > &  partial,
size_t  block,
RCP< Vector > &  full 
) const [inline]

Definition at line 163 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector ( RCP< Vector > &  partial,
size_t  block,
RCP< Vector > &  full 
) const [inline]

Definition at line 164 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector ( RCP< const MultiVector > &  partial,
size_t  block,
RCP< MultiVector > &  full 
) const [inline]

Definition at line 165 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
void Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::InsertVector ( RCP< MultiVector > &  partial,
size_t  block,
RCP< MultiVector > &  full 
) const [inline]

Definition at line 166 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
RCP< Vector> Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getVector ( size_t  i) const [inline]

Definition at line 171 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
RCP<MultiVector> Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getVector ( size_t  i,
size_t  numvec 
) const [inline]

Definition at line 172 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
size_t Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::NumMaps ( ) const [inline]

number of partial maps

Definition at line 178 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
const RCP<const Map> Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getMap ( size_t  i) const [inline]

get the map

Definition at line 181 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
const RCP<const Map> Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getFullMap ( ) const [inline]

the full map

Definition at line 184 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
size_t Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getMapIndexForGID ( GlobalOrdinal  gid) const [inline]

returns map index in map extractor which contains GID or -1 otherwise

Definition at line 187 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
bool Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CheckConsistency ( ) const [inline, private]

Definition at line 200 of file Xpetra_MapExtractor.hpp.


Member Data Documentation

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
RCP<const Map > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::fullmap_ [private]

Definition at line 215 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
std::vector<RCP<const Map > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::maps_ [private]

Definition at line 216 of file Xpetra_MapExtractor.hpp.

template<class Scalar = MultiVector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
std::vector<RCP<Import > > Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::importers_ [private]

Definition at line 217 of file Xpetra_MapExtractor.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines