Xpetra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

#include <Xpetra_TpetraMap_decl.hpp>

Inheritance diagram for Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >:
Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >

Public Types

typedef Map< LocalOrdinal,
GlobalOrdinal, Node >
::global_indices_array_device_type 
global_indices_array_device_type
 
- Public Types inherited from Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >
typedef LocalOrdinal local_ordinal_type
 
typedef GlobalOrdinal global_ordinal_type
 
typedef Node node_type
 
typedef Kokkos::View< const
global_ordinal_type
*, typename Node::device_type > 
global_indices_array_device_type
 
typedef Tpetra::Map
< LocalOrdinal, GlobalOrdinal,
Node >::local_map_type 
local_map_type
 

Protected Attributes

RCP< const Tpetra::Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
map_
 

Constructors and destructor

 TpetraMap (global_size_t numGlobalElements, GlobalOrdinal indexBase, const Teuchos::RCP< const Teuchos::Comm< int > > &comm, LocalGlobal lg=GloballyDistributed)
 Constructor with Tpetra-defined contiguous uniform distribution. More...
 
 TpetraMap (global_size_t numGlobalElements, size_t numLocalElements, GlobalOrdinal indexBase, const Teuchos::RCP< const Teuchos::Comm< int > > &comm)
 Constructor with a user-defined contiguous distribution. More...
 
 TpetraMap (global_size_t numGlobalElements, const Teuchos::ArrayView< const GlobalOrdinal > &elementList, GlobalOrdinal indexBase, const Teuchos::RCP< const Teuchos::Comm< int > > &comm)
 Constructor with user-defined arbitrary (possibly noncontiguous) distribution. More...
 
 TpetraMap (global_size_t numGlobalElements, const Kokkos::View< const GlobalOrdinal *, typename Node::device_type > &indexList, GlobalOrdinal indexBase, const Teuchos::RCP< const Teuchos::Comm< int > > &comm)
 Constructor with user-defined arbitrary (possibly noncontiguous) distribution passed as a Kokkos::View. More...
 
 ~TpetraMap ()
 Destructor. More...
 

Attributes

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

Boolean tests

bool isNodeLocalElement (LocalOrdinal localIndex) const
 True if the local index is valid for this Map on this node, else false. More...
 
bool isNodeGlobalElement (GlobalOrdinal globalIndex) const
 True if the global index is found in this Map on this node, else false. More...
 
bool isContiguous () const
 True if this Map is distributed contiguously, else false. More...
 
bool isDistributed () const
 Whether this Map is globally distributed or locally replicated. More...
 
bool isCompatible (const Map< LocalOrdinal, GlobalOrdinal, Node > &map) const
 True if and only if map is compatible with this Map. More...
 
bool isSameAs (const Map< LocalOrdinal, GlobalOrdinal, Node > &map) const
 True if and only if map is identical to this Map. More...
 
Teuchos::RCP< const
Teuchos::Comm< int > > 
getComm () const
 Get this Map's Comm object. More...
 
std::string description () const
 Return a simple one-line description of this object. More...
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
 Print this object with the given verbosity level to the given FancyOStream. More...
 
RCP< const Map< LocalOrdinal,
GlobalOrdinal, Node > > 
removeEmptyProcesses () const
 Return a new Map with processes with zero elements removed. More...
 
RCP< const Map< LocalOrdinal,
GlobalOrdinal, Node > > 
replaceCommWithSubset (const Teuchos::RCP< const Teuchos::Comm< int > > &newComm) const
 Replace this Map's communicator with a subset communicator. More...
 

Xpetra specific

using local_map_type = typename Map< LocalOrdinal, GlobalOrdinal, Node >::local_map_type
 
 TpetraMap (const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &map)
 TpetraMap constructor to wrap a Tpetra::Map object. More...
 
UnderlyingLib lib () const
 Get the library used by this object (Tpetra or Epetra?) More...
 
RCP< const Tpetra::Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getTpetra_Map () const
 Get the underlying Tpetra map. More...
 
local_map_type getLocalMap () const
 Get the local Map for Kokkos kernels. More...
 

Detailed Description

template<class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
class Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >

Definition at line 68 of file Xpetra_TpetraMap_decl.hpp.

Member Typedef Documentation

template<class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
typedef Map<LocalOrdinal, GlobalOrdinal, Node>::global_indices_array_device_type Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::global_indices_array_device_type

Definition at line 71 of file Xpetra_TpetraMap_decl.hpp.

template<class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
using Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::local_map_type = typename Map<LocalOrdinal, GlobalOrdinal, Node>::local_map_type

Definition at line 216 of file Xpetra_TpetraMap_decl.hpp.

Constructor & Destructor Documentation

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::TpetraMap ( global_size_t  numGlobalElements,
GlobalOrdinal  indexBase,
const Teuchos::RCP< const Teuchos::Comm< int > > &  comm,
LocalGlobal  lg = GloballyDistributed 
)

Constructor with Tpetra-defined contiguous uniform distribution.

Definition at line 58 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::TpetraMap ( global_size_t  numGlobalElements,
size_t  numLocalElements,
GlobalOrdinal  indexBase,
const Teuchos::RCP< const Teuchos::Comm< int > > &  comm 
)

Constructor with a user-defined contiguous distribution.

Definition at line 70 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::TpetraMap ( global_size_t  numGlobalElements,
const Teuchos::ArrayView< const GlobalOrdinal > &  elementList,
GlobalOrdinal  indexBase,
const Teuchos::RCP< const Teuchos::Comm< int > > &  comm 
)

Constructor with user-defined arbitrary (possibly noncontiguous) distribution.

Definition at line 82 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::TpetraMap ( global_size_t  numGlobalElements,
const Kokkos::View< const GlobalOrdinal *, typename Node::device_type > &  indexList,
GlobalOrdinal  indexBase,
const Teuchos::RCP< const Teuchos::Comm< int > > &  comm 
)

Constructor with user-defined arbitrary (possibly noncontiguous) distribution passed as a Kokkos::View.

Definition at line 96 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::~TpetraMap ( )

Destructor.

Definition at line 108 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::TpetraMap ( const Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &  map)

TpetraMap constructor to wrap a Tpetra::Map object.

Definition at line 267 of file Xpetra_TpetraMap_def.hpp.

Member Function Documentation

template<class LocalOrdinal , class GlobalOrdinal , class Node >
global_size_t Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumElements ( ) const
virtual

The number of elements in this Map.

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

Definition at line 113 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
size_t Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getLocalNumElements ( ) const
virtual

The number of elements belonging to the calling node.

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

Definition at line 119 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GlobalOrdinal Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getIndexBase ( ) const
virtual

The index base for this Map.

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

Definition at line 125 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LocalOrdinal Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getMinLocalIndex ( ) const
virtual

The minimum local index.

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

Definition at line 131 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LocalOrdinal Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getMaxLocalIndex ( ) const
virtual

The maximum local index on the calling process.

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

Definition at line 137 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GlobalOrdinal Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getMinGlobalIndex ( ) const
virtual

The minimum global index owned by the calling process.

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

Definition at line 143 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GlobalOrdinal Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getMaxGlobalIndex ( ) const
virtual

The maximum global index owned by the calling process.

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

Definition at line 149 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GlobalOrdinal Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getMinAllGlobalIndex ( ) const
virtual

The minimum global index over all processes in the communicator.

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

Definition at line 155 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GlobalOrdinal Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getMaxAllGlobalIndex ( ) const
virtual

The maximum global index over all processes in the communicator.

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

Definition at line 161 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LocalOrdinal Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getLocalElement ( GlobalOrdinal  globalIndex) const
virtual

The local index corresponding to the given global index.

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

Definition at line 167 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GlobalOrdinal Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getGlobalElement ( LocalOrdinal  localIndex) const
virtual

The global index corresponding to the given local index.

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

Definition at line 173 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LookupStatus Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getRemoteIndexList ( const Teuchos::ArrayView< const GlobalOrdinal > &  GIDList,
const Teuchos::ArrayView< int > &  nodeIDList,
const Teuchos::ArrayView< LocalOrdinal > &  LIDList 
) const
virtual

Return the process IDs and corresponding local IDs for the given global IDs.

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

Definition at line 179 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LookupStatus Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getRemoteIndexList ( const Teuchos::ArrayView< const GlobalOrdinal > &  GIDList,
const Teuchos::ArrayView< int > &  nodeIDList 
) const
virtual

Return the process IDs for the given global IDs.

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

Definition at line 185 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::ArrayView< const GlobalOrdinal > Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getLocalElementList ( ) const
virtual

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

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

Definition at line 191 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Map< LocalOrdinal, GlobalOrdinal, Node >::global_indices_array_device_type Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getMyGlobalIndicesDevice ( ) const
virtual

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

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

Definition at line 197 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::isNodeLocalElement ( LocalOrdinal  localIndex) const
virtual

True if the local index is valid for this Map on this node, else false.

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

Definition at line 203 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::isNodeGlobalElement ( GlobalOrdinal  globalIndex) const
virtual

True if the global index is found in this Map on this node, else false.

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

Definition at line 209 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::isContiguous ( ) const
virtual

True if this Map is distributed contiguously, else false.

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

Definition at line 215 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::isDistributed ( ) const
virtual

Whether this Map is globally distributed or locally replicated.

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

Definition at line 221 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::isCompatible ( const Map< LocalOrdinal, GlobalOrdinal, Node > &  map) const
virtual

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

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

Definition at line 227 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::isSameAs ( const Map< LocalOrdinal, GlobalOrdinal, Node > &  map) const
virtual

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

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

Definition at line 233 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP< const Teuchos::Comm< int > > Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getComm ( ) const
virtual

Get this Map's Comm object.

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

Definition at line 239 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
std::string Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::description ( ) const
virtual

Return a simple one-line description of this object.

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

Definition at line 245 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::describe ( Teuchos::FancyOStream &  out,
const Teuchos::EVerbosityLevel  verbLevel = Teuchos::Describable::verbLevel_default 
) const
virtual

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

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

Definition at line 251 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::removeEmptyProcesses ( ) const
virtual

Return a new Map with processes with zero elements removed.

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

Definition at line 257 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::replaceCommWithSubset ( const Teuchos::RCP< const Teuchos::Comm< int > > &  newComm) const
virtual

Replace this Map's communicator with a subset communicator.

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

Definition at line 262 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
UnderlyingLib Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::lib ( ) const
virtual

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

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

Definition at line 271 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getTpetra_Map ( ) const

Get the underlying Tpetra map.

Definition at line 274 of file Xpetra_TpetraMap_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Map< LocalOrdinal, GlobalOrdinal, Node >::local_map_type Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::getLocalMap ( ) const
virtual

Get the local Map for Kokkos kernels.

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

Definition at line 279 of file Xpetra_TpetraMap_def.hpp.

Member Data Documentation

template<class LocalOrdinal, class GlobalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
RCP<const Tpetra::Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::TpetraMap< LocalOrdinal, GlobalOrdinal, Node >::map_
protected

Definition at line 224 of file Xpetra_TpetraMap_decl.hpp.


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