Xpetra Version of the Day
Loading...
Searching...
No Matches
Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Class that stores a strided map. More...

#include <Xpetra_StridedMap_decl.hpp>

Inheritance diagram for Xpetra::StridedMap< 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
 
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
 

Xpetra specific

using local_map_type = typename Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >::local_map_type
 
RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > map_
 
std::vector< size_t > stridingInfo_
 Vector with size of strided blocks (dofs)
 
LocalOrdinal stridedBlockId_
 Member variable denoting which dofs are stored in map.
 
GlobalOrdinal offset_
 Offset for gids in map (default = 0)
 
GlobalOrdinal indexBase_
 Index base for the strided map (default = 0)
 
RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > getMap () const
 
local_map_type getLocalMap () const
 Get the local Map for Kokkos kernels.
 
virtual bool CheckConsistency ()
 

Constructor/Destructor Methods

 StridedMap (UnderlyingLib xlib, global_size_t numGlobalElements, GlobalOrdinal indexBase, std::vector< size_t > &stridingInfo, const Teuchos::RCP< const Teuchos::Comm< int > > &comm, LocalOrdinal stridedBlockId=-1, GlobalOrdinal offset=0, LocalGlobal lg=GloballyDistributed)
 Map constructor with contiguous uniform distribution.
 
 StridedMap (UnderlyingLib xlib, global_size_t numGlobalElements, size_t numLocalElements, GlobalOrdinal indexBase, std::vector< size_t > &stridingInfo, const Teuchos::RCP< const Teuchos::Comm< int > > &comm, LocalOrdinal stridedBlockId=-1, GlobalOrdinal offset=0)
 Map constructor with a user-defined contiguous distribution.
 
 StridedMap (UnderlyingLib xlib, global_size_t numGlobalElements, const Teuchos::ArrayView< const GlobalOrdinal > &elementList, GlobalOrdinal indexBase, std::vector< size_t > &stridingInfo, const Teuchos::RCP< const Teuchos::Comm< int > > &comm, LocalOrdinal stridedBlockId=-1)
 Map constructor with user-defined non-contiguous (arbitrary) distribution.
 
 StridedMap (const RCP< const Map > &map, std::vector< size_t > &stridingInfo, GlobalOrdinal, LocalOrdinal stridedBlockId=-1, GlobalOrdinal offset=0)
 
virtual ~StridedMap ()
 Destructor.
 

Access functions for striding data

std::vector< size_t > getStridingData () const
 
void setStridingData (std::vector< size_t > stridingInfo)
 
size_t getFixedBlockSize () const
 
LocalOrdinal getStridedBlockId () const
 
bool isStrided () const
 returns true, if this is a strided map (i.e. more than 1 strided blocks)
 
bool isBlocked () const
 
GlobalOrdinal getOffset () const
 
void setOffset (GlobalOrdinal offset)
 
size_t GID2StridingBlockId (GlobalOrdinal gid) const
 

Map Attribute Methods

global_size_t getGlobalNumElements () const
 Returns the number of elements in this Map.
 
size_t getLocalNumElements () const
 Returns the number of elements belonging to the calling node.
 
GlobalOrdinal getIndexBase () const
 Returns the index base for this Map.
 
LocalOrdinal getMinLocalIndex () const
 Returns minimum local index.
 
LocalOrdinal getMaxLocalIndex () const
 Returns maximum local index.
 
GlobalOrdinal getMinGlobalIndex () const
 Returns minimum global index owned by this node.
 
GlobalOrdinal getMaxGlobalIndex () const
 Returns maximum global index owned by this node.
 
GlobalOrdinal getMinAllGlobalIndex () const
 Return the minimum global index over all nodes.
 
GlobalOrdinal getMaxAllGlobalIndex () const
 Return the maximum global index over all nodes.
 
LocalOrdinal getLocalElement (GlobalOrdinal globalIndex) const
 Return the local index for a given global index.
 
GlobalOrdinal getGlobalElement (LocalOrdinal localIndex) const
 Return the global index for a given local index.
 
LookupStatus getRemoteIndexList (const Teuchos::ArrayView< const GlobalOrdinal > &GIDList, const Teuchos::ArrayView< int > &nodeIDList, const Teuchos::ArrayView< LocalOrdinal > &LIDList) const
 Returns the node IDs and corresponding local indices for a given list of global indices.
 
LookupStatus getRemoteIndexList (const Teuchos::ArrayView< const GlobalOrdinal > &GIDList, const Teuchos::ArrayView< int > &nodeIDList) const
 Returns the node IDs for a given list of global indices.
 
Teuchos::ArrayView< const GlobalOrdinal > getLocalElementList () const
 Return a list of the global indices owned by this node.
 
global_indices_array_device_type getMyGlobalIndicesDevice () const
 Return a view of the global indices owned by this process on the Map's device.
 
bool isNodeLocalElement (LocalOrdinal localIndex) const
 Returns true if the local index is valid for this Map on this node; returns false if it isn't.
 
bool isNodeGlobalElement (GlobalOrdinal globalIndex) const
 Returns true if the global index is found in this Map on this node; returns false if it isn't.
 
bool isContiguous () const
 Returns true if this Map is distributed contiguously; returns false otherwise.
 
bool isDistributed () const
 Returns true if this Map is distributed across more than one node; returns false otherwise.
 
bool isCompatible (const Map &map) const
 Returns true if map is compatible with this Map.
 
bool isSameAs (const Map &map) const
 Returns true if map is identical to this Map.
 
Teuchos::RCP< const Teuchos::Comm< int > > getComm () const
 Get the Comm object for this Map.
 
RCP< const MapremoveEmptyProcesses () const
 Return a new Map with processes with zero elements removed.
 
RCP< const MapreplaceCommWithSubset (const Teuchos::RCP< const Teuchos::Comm< int > > &newComm) const
 Replace this Map's communicator with a subset communicator.
 
std::string description () const
 Return a simple one-line description of this object.
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
 Print the object with some verbosity level to a FancyOStream object.
 
UnderlyingLib lib () const
 Get the library used by this object (Tpetra or Epetra?)
 

Additional Inherited Members

- Public Member Functions inherited from Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >
virtual ~Map ()
 Destructor.
 
- Public Member Functions inherited from Teuchos::Describable
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
- Public Member Functions inherited from Teuchos::LabeledObject
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 
- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

Detailed Description

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

Class that stores a strided map.

StridedMap extends the functionality of Xpetra::Map .

It derives from Xpetra::Map and adds a std::vector, which contains the striding information. E.g. for a strided map with 3 dofs per node (2 velocity dofs, 1 pressure dof), the striding information looks like:

std::vector<size_t> stridingInformation;
stridingInformation.push_back(2); // 2 velocity dofs per node
stridingInformation.push_back(1); // 1 pressure dof per node

For this example, getFixedBlockSize() returns 3 (3 dofs per node). When providing a stridedBlockId parameter in the constructor, the strided map only contains dofs of one strided block, e.g. with above stridingInformation the call

StridedMap M(lib, 33, 0, stridiningInformation, comm, 0); // striding block 0 (velocity dofs)
Class that stores a strided map.
UnderlyingLib lib() const
Get the library used by this object (Tpetra or Epetra?)

returns a map with the gids 0, 1, 3, 4, 6, 7, ... (which contains only the velocity dofs)

and

StridedMap M(lib, 33, 0, stridiningInformation, comm, 1); // striding block 1 (pressure dofs)

creates a map with only the pressure dofs 2, 5, 8, ...

Note
There's no support for global offset, yet.

Definition at line 64 of file Xpetra_StridedMap_decl.hpp.

Member Typedef Documentation

◆ local_ordinal_type

template<class LocalOrdinal , class GlobalOrdinal , class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
typedef LocalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type

Definition at line 66 of file Xpetra_StridedMap_decl.hpp.

◆ global_ordinal_type

template<class LocalOrdinal , class GlobalOrdinal , class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
typedef GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type

Definition at line 67 of file Xpetra_StridedMap_decl.hpp.

◆ node_type

template<class LocalOrdinal , class GlobalOrdinal , class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
typedef Node Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::node_type

Definition at line 68 of file Xpetra_StridedMap_decl.hpp.

◆ global_indices_array_device_type

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

Definition at line 69 of file Xpetra_StridedMap_decl.hpp.

◆ local_map_type

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

Definition at line 202 of file Xpetra_StridedMap_decl.hpp.

Constructor & Destructor Documentation

◆ StridedMap() [1/4]

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::StridedMap ( UnderlyingLib  xlib,
global_size_t  numGlobalElements,
GlobalOrdinal  indexBase,
std::vector< size_t > &  stridingInfo,
const Teuchos::RCP< const Teuchos::Comm< int > > &  comm,
LocalOrdinal  stridedBlockId = -1,
GlobalOrdinal  offset = 0,
LocalGlobal  lg = GloballyDistributed 
)

Map constructor with contiguous uniform distribution.

Map constructor with contiguous uniform distribution. The elements are distributed among nodes so that the subsets of global elements are non-overlapping and contiguous and as evenly distributed across the nodes as possible.

If numGlobalElements == Teuchos::OrdinalTraits<global_size_t>::invalid(), the number of global elements will be computed via a global communication. Otherwise, it must be equal to the sum of the local elements across all nodes. This will only be verified if Trilinos' Teuchos package was built with debug support (CMake Boolean option TEUCHOS_ENABLE_DEBUG=ON). If verification fails, a std::invalid_argument exception will be thrown.

Precondition
stridingInfo.size() > 0
numGlobalElements % getFixedBlockSize() == 0

Definition at line 25 of file Xpetra_StridedMap_def.hpp.

◆ StridedMap() [2/4]

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::StridedMap ( UnderlyingLib  xlib,
global_size_t  numGlobalElements,
size_t  numLocalElements,
GlobalOrdinal  indexBase,
std::vector< size_t > &  stridingInfo,
const Teuchos::RCP< const Teuchos::Comm< int > > &  comm,
LocalOrdinal  stridedBlockId = -1,
GlobalOrdinal  offset = 0 
)

Map constructor with a user-defined contiguous distribution.

Map constructor with a user-defined contiguous distribution.

Map constructor with a user-defined contiguous distribution. The elements are distributed among nodes so that the subsets of global elements are non-overlapping and contiguous and as evenly distributed across the nodes as possible.

If numGlobalElements == Teuchos::OrdinalTraits<global_size_t>::invalid(), the number of global elements will be computed via a global communication. Otherwise, it must be equal to the sum of the local elements across all nodes. This will only be verified if Trilinos' Teuchos package was built with debug support (CMake Boolean option TEUCHOS_ENABLE_DEBUG=ON). If verification fails, a std::invalid_argument exception will be thrown.

Precondition
stridingInfo.size() > 0
numGlobalElements % getFixedBlockSize() == 0
numLocalElements % getFixedBlockSize() == 0

Definition at line 121 of file Xpetra_StridedMap_def.hpp.

◆ StridedMap() [3/4]

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::StridedMap ( UnderlyingLib  xlib,
global_size_t  numGlobalElements,
const Teuchos::ArrayView< const GlobalOrdinal > &  elementList,
GlobalOrdinal  indexBase,
std::vector< size_t > &  stridingInfo,
const Teuchos::RCP< const Teuchos::Comm< int > > &  comm,
LocalOrdinal  stridedBlockId = -1 
)

Map constructor with user-defined non-contiguous (arbitrary) distribution.

createse a strided map using the GIDs in elementList and the striding information provided by user.

Precondition
stridingInfo.size() > 0
numGlobalElements % getFixedBlockSize() == 0
elementList.size() % getFixedBlockSize() == 0
Postcondition
CheckConsistency() == true

Definition at line 231 of file Xpetra_StridedMap_def.hpp.

◆ StridedMap() [4/4]

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::StridedMap ( const RCP< const Map > &  map,
std::vector< size_t > &  stridingInfo,
GlobalOrdinal  ,
LocalOrdinal  stridedBlockId = -1,
GlobalOrdinal  offset = 0 
)

Definition at line 318 of file Xpetra_StridedMap_def.hpp.

◆ ~StridedMap()

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

Destructor.

Definition at line 340 of file Xpetra_StridedMap_def.hpp.

Member Function Documentation

◆ getStridingData()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector< size_t > Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getStridingData ( ) const

Definition at line 346 of file Xpetra_StridedMap_def.hpp.

◆ setStridingData()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::setStridingData ( std::vector< size_t >  stridingInfo)

Definition at line 352 of file Xpetra_StridedMap_def.hpp.

◆ getFixedBlockSize()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
size_t Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getFixedBlockSize ( ) const

Definition at line 359 of file Xpetra_StridedMap_def.hpp.

◆ getStridedBlockId()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LocalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getStridedBlockId ( ) const

returns strided block id of the dofs stored in this map or -1 if full strided map is stored in this map

Definition at line 370 of file Xpetra_StridedMap_def.hpp.

◆ isStrided()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::isStrided ( ) const

returns true, if this is a strided map (i.e. more than 1 strided blocks)

Definition at line 376 of file Xpetra_StridedMap_def.hpp.

◆ isBlocked()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::isBlocked ( ) const

returns true, if this is a blocked map (i.e. more than 1 dof per node) either strided or just 1 block per node

Definition at line 382 of file Xpetra_StridedMap_def.hpp.

◆ getOffset()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getOffset ( ) const

Definition at line 389 of file Xpetra_StridedMap_def.hpp.

◆ setOffset()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::setOffset ( GlobalOrdinal  offset)

Definition at line 395 of file Xpetra_StridedMap_def.hpp.

◆ GID2StridingBlockId()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
size_t Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::GID2StridingBlockId ( GlobalOrdinal  gid) const

Definition at line 402 of file Xpetra_StridedMap_def.hpp.

◆ getMap()

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

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

Definition at line 421 of file Xpetra_StridedMap_def.hpp.

◆ getLocalMap()

template<class LocalOrdinal , class GlobalOrdinal , class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
local_map_type Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getLocalMap ( ) const
inlinevirtual

Get the local Map for Kokkos kernels.

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

Definition at line 205 of file Xpetra_StridedMap_decl.hpp.

◆ CheckConsistency()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::CheckConsistency ( )
privatevirtual

Definition at line 427 of file Xpetra_StridedMap_def.hpp.

◆ getGlobalNumElements()

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

Returns the number of elements in this Map.

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

Definition at line 498 of file Xpetra_StridedMap_def.hpp.

◆ getLocalNumElements()

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

Returns the number of elements belonging to the calling node.

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

Definition at line 505 of file Xpetra_StridedMap_def.hpp.

◆ getIndexBase()

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

Returns the index base for this Map.

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

Definition at line 512 of file Xpetra_StridedMap_def.hpp.

◆ getMinLocalIndex()

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

Returns minimum local index.

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

Definition at line 519 of file Xpetra_StridedMap_def.hpp.

◆ getMaxLocalIndex()

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

Returns maximum local index.

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

Definition at line 526 of file Xpetra_StridedMap_def.hpp.

◆ getMinGlobalIndex()

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

Returns minimum global index owned by this node.

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

Definition at line 533 of file Xpetra_StridedMap_def.hpp.

◆ getMaxGlobalIndex()

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

Returns maximum global index owned by this node.

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

Definition at line 540 of file Xpetra_StridedMap_def.hpp.

◆ getMinAllGlobalIndex()

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

Return the minimum global index over all nodes.

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

Definition at line 547 of file Xpetra_StridedMap_def.hpp.

◆ getMaxAllGlobalIndex()

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

Return the maximum global index over all nodes.

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

Definition at line 554 of file Xpetra_StridedMap_def.hpp.

◆ getLocalElement()

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

Return the local index for a given global index.

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

Definition at line 561 of file Xpetra_StridedMap_def.hpp.

◆ getGlobalElement()

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

Return the global index for a given local index.

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

Definition at line 568 of file Xpetra_StridedMap_def.hpp.

◆ getRemoteIndexList() [1/2]

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

Returns the node IDs and corresponding local indices for a given list of global indices.

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

Definition at line 575 of file Xpetra_StridedMap_def.hpp.

◆ getRemoteIndexList() [2/2]

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

Returns the node IDs for a given list of global indices.

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

Definition at line 584 of file Xpetra_StridedMap_def.hpp.

◆ getLocalElementList()

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

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

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

Definition at line 592 of file Xpetra_StridedMap_def.hpp.

◆ getMyGlobalIndicesDevice()

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

Return a view of the global indices owned by this process on the Map's device.

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

Definition at line 599 of file Xpetra_StridedMap_def.hpp.

◆ isNodeLocalElement()

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

Returns true if the local index is valid for this Map on this node; returns false if it isn't.

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

Definition at line 605 of file Xpetra_StridedMap_def.hpp.

◆ isNodeGlobalElement()

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

Returns true if the global index is found in this Map on this node; returns false if it isn't.

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

Definition at line 611 of file Xpetra_StridedMap_def.hpp.

◆ isContiguous()

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

Returns true if this Map is distributed contiguously; returns false otherwise.

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

Definition at line 617 of file Xpetra_StridedMap_def.hpp.

◆ isDistributed()

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

Returns true if this Map is distributed across more than one node; returns false otherwise.

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

Definition at line 623 of file Xpetra_StridedMap_def.hpp.

◆ isCompatible()

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

Returns true if map is compatible with this Map.

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

Definition at line 629 of file Xpetra_StridedMap_def.hpp.

◆ isSameAs()

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

Returns true if map is identical to this Map.

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

Definition at line 635 of file Xpetra_StridedMap_def.hpp.

◆ getComm()

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

Get the Comm object for this Map.

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

Definition at line 642 of file Xpetra_StridedMap_def.hpp.

◆ removeEmptyProcesses()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::StridedMap< 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 649 of file Xpetra_StridedMap_def.hpp.

◆ replaceCommWithSubset()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::StridedMap< 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 656 of file Xpetra_StridedMap_def.hpp.

◆ description()

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

Return a simple one-line description of this object.

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

Definition at line 663 of file Xpetra_StridedMap_def.hpp.

◆ describe()

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

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

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

Definition at line 669 of file Xpetra_StridedMap_def.hpp.

◆ lib()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
UnderlyingLib Xpetra::StridedMap< 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 676 of file Xpetra_StridedMap_def.hpp.

Member Data Documentation

◆ map_

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

Definition at line 255 of file Xpetra_StridedMap_decl.hpp.

◆ stridingInfo_

template<class LocalOrdinal , class GlobalOrdinal , class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
std::vector<size_t> Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::stridingInfo_
private

Vector with size of strided blocks (dofs)

Definition at line 258 of file Xpetra_StridedMap_decl.hpp.

◆ stridedBlockId_

template<class LocalOrdinal , class GlobalOrdinal , class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
LocalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::stridedBlockId_
private

Member variable denoting which dofs are stored in map.

  • stridedBlock == -1: the full map (with all strided block dofs)
  • stridedBlock > -1: only dofs of strided block with index "stridedBlockId" are stored in this map

Definition at line 265 of file Xpetra_StridedMap_decl.hpp.

◆ offset_

template<class LocalOrdinal , class GlobalOrdinal , class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::offset_
private

Offset for gids in map (default = 0)

Definition at line 268 of file Xpetra_StridedMap_decl.hpp.

◆ indexBase_

template<class LocalOrdinal , class GlobalOrdinal , class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::indexBase_
private

Index base for the strided map (default = 0)

Definition at line 271 of file Xpetra_StridedMap_decl.hpp.


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