All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

#include <Xpetra_BlockedMap.hpp>

Inheritance diagram for Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >:
Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > Teuchos::Describable Teuchos::LabeledObject

Public Types

typedef LocalOrdinal local_ordinal_type
 
typedef GlobalOrdinal global_ordinal_type
 
typedef Node node_type
 
- Public Types inherited from Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >
typedef LocalOrdinal local_ordinal_type
 
typedef GlobalOrdinal global_ordinal_type
 
typedef Node node_type
 

Public Member Functions

BlockedMap< LocalOrdinal,
GlobalOrdinal, Node > & 
operator= (const BlockedMap &rhs)
 Assignment operator: Does a deep copy. More...
 
size_t getNumMaps () const
 number of partial maps More...
 
const RCP< const MapgetMap (size_t i, bool bThyraMode=false) const
 
const RCP< ImportgetImporter (size_t i) const
 get the importer between full map and partial map More...
 
const RCP< const MapgetFullMap () const
 the full map More...
 
size_t getMapIndexForGID (GlobalOrdinal gid) const
 returns map index in map extractor which contains GID More...
 
- Public Member Functions inherited from Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >
virtual ~Map ()
 Destructor. More...
 
- Public Member Functions inherited from Teuchos::Describable
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)
 

Protected Member Functions

virtual void assign (const BlockedMap &input)
 Implementation of the assignment operator (operator=); does a deep copy. More...
 

Static Protected Member Functions

static Teuchos::RCP< const
Xpetra::Map< LocalOrdinal,
GlobalOrdinal, Node > > 
concatenateMaps (const std::vector< Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > > &subMaps)
 Helper function to concatenate several maps. More...
 

Private Member Functions

bool CheckConsistency () const
 

Private Attributes

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

Constructor/Destructor Methods

 BlockedMap ()
 Constructor. More...
 
 BlockedMap (const RCP< const Map > &fullmap, const std::vector< RCP< const Map > > &maps, bool bThyraMode=false)
 
 BlockedMap (const std::vector< RCP< const Map > > &maps, const std::vector< RCP< const Map > > &thyramaps)
 Expert constructor for Thyra maps. More...
 
 BlockedMap (const BlockedMap &input)
 copy constructor More...
 
virtual ~BlockedMap ()
 Destructor. More...
 

Attributes

virtual global_size_t getGlobalNumElements () const
 The number of elements in this Map. More...
 
virtual size_t getNodeNumElements () const
 The number of elements belonging to the calling process. More...
 
virtual GlobalOrdinal getIndexBase () const
 The index base for this Map. More...
 
virtual LocalOrdinal getMinLocalIndex () const
 The minimum local index. More...
 
virtual LocalOrdinal getMaxLocalIndex () const
 The maximum local index on the calling process. More...
 
virtual GlobalOrdinal getMinGlobalIndex () const
 The minimum global index owned by the calling process. More...
 
virtual GlobalOrdinal getMaxGlobalIndex () const
 The maximum global index owned by the calling process. More...
 
virtual GlobalOrdinal getMinAllGlobalIndex () const
 The minimum global index over all processes in the communicator. More...
 
virtual GlobalOrdinal getMaxAllGlobalIndex () const
 The maximum global index over all processes in the communicator. More...
 
virtual LocalOrdinal getLocalElement (GlobalOrdinal globalIndex) const
 The local index corresponding to the given global index. More...
 
virtual GlobalOrdinal getGlobalElement (LocalOrdinal localIndex) const
 The global index corresponding to the given local index. More...
 
virtual LookupStatus getRemoteIndexList (const Teuchos::ArrayView< const GlobalOrdinal > &, const Teuchos::ArrayView< int > &, const Teuchos::ArrayView< LocalOrdinal > &) const
 Return the process ranks and corresponding local indices for the given global indices. More...
 
virtual LookupStatus getRemoteIndexList (const Teuchos::ArrayView< const GlobalOrdinal > &, const Teuchos::ArrayView< int > &) const
 Return the process ranks for the given global indices. More...
 
virtual Teuchos::ArrayView
< const GlobalOrdinal > 
getNodeElementList () const
 Return a view of the global indices owned by this process. More...
 

Boolean tests

virtual bool isNodeLocalElement (LocalOrdinal localIndex) const
 Whether the given local index is valid for this Map on this process. More...
 
virtual bool isNodeGlobalElement (GlobalOrdinal globalIndex) const
 Whether the given global index is valid for this Map on this process. More...
 
virtual bool isContiguous () const
 True if this Map is distributed contiguously, else false. More...
 
virtual bool isDistributed () const
 Whether this Map is globally distributed or locally replicated. More...
 
virtual bool isCompatible (const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &map) const
 True if and only if map is compatible with this Map. More...
 
virtual bool isSameAs (const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &map) const
 True if and only if map is identical to this Map. More...
 
virtual Teuchos::RCP< const
Teuchos::Comm< int > > 
getComm () const
 Get this Map's Comm object. More...
 

Attribute access functions

virtual bool getThyraMode () const
 Local number of rows on the calling process. More...
 

Maps

virtual RCP< const Xpetra::Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
removeEmptyProcesses () const
 Return a new Map with processes with zero elements removed. More...
 
virtual RCP< const Xpetra::Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
replaceCommWithSubset (const Teuchos::RCP< const Teuchos::Comm< int > > &) const
 Replace this Map's communicator with a subset communicator. More...
 

Xpetra specific

virtual UnderlyingLib lib () const
 Get the library used by this object (Tpetra or Epetra?) More...
 
virtual RCP< const Xpetra::Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getMap () const
 

Overridden from Teuchos::Describable

virtual std::string description () const
 A simple one-line description of this object. More...
 
virtual void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
 Print the object with the given verbosity level to a FancyOStream. More...
 

Additional Inherited Members

- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

Detailed Description

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
class Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >

Definition at line 67 of file Xpetra_BlockedMap.hpp.

Member Typedef Documentation

template<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::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type

Definition at line 71 of file Xpetra_BlockedMap.hpp.

template<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::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type

Definition at line 72 of file Xpetra_BlockedMap.hpp.

template<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::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::node_type

Definition at line 73 of file Xpetra_BlockedMap.hpp.

Constructor & Destructor Documentation

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::BlockedMap ( )
inline

Constructor.

Definition at line 86 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::BlockedMap ( const RCP< const Map > &  fullmap,
const std::vector< RCP< const Map > > &  maps,
bool  bThyraMode = false 
)
inline

BlockedMap basic constructor

Parameters
[in]fullmapFull map containing all GIDs throughout the full vector. This parameter is only important if bThyraMode == false (see below)
[in]mapsVector 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]bThyraModeFlag 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 102 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::BlockedMap ( const std::vector< RCP< const Map > > &  maps,
const std::vector< RCP< const Map > > &  thyramaps 
)
inline

Expert constructor for Thyra maps.

Definition at line 189 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::BlockedMap ( const BlockedMap< LocalOrdinal, GlobalOrdinal, Node > &  input)
inline

copy constructor

Definition at line 225 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::~BlockedMap ( )
inlinevirtual

Destructor.

Definition at line 234 of file Xpetra_BlockedMap.hpp.

Member Function Documentation

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual global_size_t Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumElements ( ) const
inlinevirtual

The number of elements in this Map.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 251 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getNodeNumElements ( ) const
inlinevirtual

The number of elements belonging to the calling process.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 254 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual GlobalOrdinal Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getIndexBase ( ) const
inlinevirtual

The index base for this Map.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 257 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual LocalOrdinal Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getMinLocalIndex ( ) const
inlinevirtual

The minimum local index.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 260 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual LocalOrdinal Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getMaxLocalIndex ( ) const
inlinevirtual

The maximum local index on the calling process.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 263 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual GlobalOrdinal Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getMinGlobalIndex ( ) const
inlinevirtual

The minimum global index owned by the calling process.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 266 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual GlobalOrdinal Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getMaxGlobalIndex ( ) const
inlinevirtual

The maximum global index owned by the calling process.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 269 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual GlobalOrdinal Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getMinAllGlobalIndex ( ) const
inlinevirtual

The minimum global index over all processes in the communicator.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 272 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual GlobalOrdinal Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getMaxAllGlobalIndex ( ) const
inlinevirtual

The maximum global index over all processes in the communicator.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 275 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual LocalOrdinal Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getLocalElement ( GlobalOrdinal  globalIndex) const
inlinevirtual

The local index corresponding to the given global index.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 278 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual GlobalOrdinal Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getGlobalElement ( LocalOrdinal  localIndex) const
inlinevirtual

The global index corresponding to the given local index.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 281 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual LookupStatus Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getRemoteIndexList ( const Teuchos::ArrayView< const GlobalOrdinal > &  ,
const Teuchos::ArrayView< int > &  ,
const Teuchos::ArrayView< LocalOrdinal > &   
) const
inlinevirtual

Return the process ranks and corresponding local indices for the given global indices.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 284 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual LookupStatus Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getRemoteIndexList ( const Teuchos::ArrayView< const GlobalOrdinal > &  ,
const Teuchos::ArrayView< int > &   
) const
inlinevirtual

Return the process ranks for the given global indices.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 290 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual Teuchos::ArrayView< const GlobalOrdinal > Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getNodeElementList ( ) const
inlinevirtual

Return a view of the global indices owned by this process.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 296 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::isNodeLocalElement ( LocalOrdinal  localIndex) const
inlinevirtual

Whether the given local index is valid for this Map on this process.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 306 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::isNodeGlobalElement ( GlobalOrdinal  globalIndex) const
inlinevirtual

Whether the given global index is valid for this Map on this process.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 309 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::isContiguous ( ) const
inlinevirtual

True if this Map is distributed contiguously, else false.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 312 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::isDistributed ( ) const
inlinevirtual

Whether this Map is globally distributed or locally replicated.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 318 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::isCompatible ( const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &  map) const
inlinevirtual

True if and only if map is compatible with this Map.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 321 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::isSameAs ( const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &  map) const
inlinevirtual

True if and only if map is identical to this Map.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 337 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual Teuchos::RCP< const Teuchos::Comm< int > > Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getComm ( ) const
inlinevirtual

Get this Map's Comm object.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 366 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
BlockedMap<LocalOrdinal,GlobalOrdinal,Node>& Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::operator= ( const BlockedMap< LocalOrdinal, GlobalOrdinal, Node > &  rhs)
inline

Assignment operator: Does a deep copy.

The assignment operator does a deep copy, just like subclasses' copy constructors.

Note
This currently only works if both *this and the input argument are instances of the same subclass.

Definition at line 383 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getThyraMode ( ) const
inlinevirtual

Local number of rows on the calling process.

Global number of rows in the multivector. returns true if internally stored sub maps are in Thyra mode (i.e. start all with GIDs=0)

Definition at line 405 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::removeEmptyProcesses ( ) const
inlinevirtual

Return a new Map with processes with zero elements removed.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 414 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::replaceCommWithSubset ( const Teuchos::RCP< const Teuchos::Comm< int > > &  ) const
inlinevirtual

Replace this Map's communicator with a subset communicator.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 420 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual UnderlyingLib Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::lib ( ) const
inlinevirtual

Get the library used by this object (Tpetra or Epetra?)

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 430 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual RCP<const Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getMap ( ) const
inlinevirtual

Reimplemented from Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 437 of file Xpetra_BlockedMap.hpp.

template<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::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getNumMaps ( ) const
inline

number of partial maps

Definition at line 443 of file Xpetra_BlockedMap.hpp.

template<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::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getMap ( size_t  i,
bool  bThyraMode = false 
) const
inline

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 BlockedMap is also constructed using Thyra numbering

Definition at line 449 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
const RCP<Import> Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getImporter ( size_t  i) const
inline

get the importer between full map and partial map

Definition at line 459 of file Xpetra_BlockedMap.hpp.

template<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::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getFullMap ( ) const
inline

the full map

Definition at line 465 of file Xpetra_BlockedMap.hpp.

template<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::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::getMapIndexForGID ( GlobalOrdinal  gid) const
inline

returns map index in map extractor which contains GID

Definition at line 468 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual std::string Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::description ( ) const
inlinevirtual

A simple one-line description of this object.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 498 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::describe ( Teuchos::FancyOStream out,
const Teuchos::EVerbosityLevel  verbLevel = Teuchos::Describable::verbLevel_default 
) const
inlinevirtual

Print the object with the given verbosity level to a FancyOStream.

Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 503 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::assign ( const BlockedMap< LocalOrdinal, GlobalOrdinal, Node > &  input)
inlineprotectedvirtual

Implementation of the assignment operator (operator=); does a deep copy.

Definition at line 529 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
static Teuchos::RCP<const Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::concatenateMaps ( const std::vector< Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > > &  subMaps)
inlinestaticprotected

Helper function to concatenate several maps.

Parameters
subMapsvector of maps which are concatenated
Returns
concatenated map

The routine builds a global map by concatenating all provided maps in the ordering defined by the vector. The GIDs are just appended in the same ordering as in the subMaps. No reordering or sorting is performed. This routine is supposed to generate the full map in an Xpetra::MapExtractor for a block operator. Note, it should not be used for strided maps since the GIDs are not reordered.

Example: subMap[0] = { 0, 1, 3, 4 }; subMap[1] = { 2, 5 }; concatenated map = { 0, 1, 3, 4, 2 ,5 };

Definition at line 575 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
bool Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::CheckConsistency ( ) const
inlineprivate

Definition at line 602 of file Xpetra_BlockedMap.hpp.

Member Data Documentation

template<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::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::fullmap_
private

Definition at line 617 of file Xpetra_BlockedMap.hpp.

template<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::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::maps_
private

Definition at line 618 of file Xpetra_BlockedMap.hpp.

template<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::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::importers_
private

Definition at line 619 of file Xpetra_BlockedMap.hpp.

template<class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
bool Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::bThyraMode_
private

Definition at line 620 of file Xpetra_BlockedMap.hpp.

template<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::BlockedMap< LocalOrdinal, GlobalOrdinal, Node >::thyraMaps_
private

Definition at line 621 of file Xpetra_BlockedMap.hpp.


The documentation for this class was generated from the following file: