Class that stores a strided map. More...
#include <Xpetra_StridedMap_decl.hpp>
Public Types | |
| typedef LocalOrdinal | local_ordinal_type |
| typedef GlobalOrdinal | global_ordinal_type |
| typedef Node | node_type |
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. More... | |
| 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. More... | |
| 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. More... | |
| StridedMap (const RCP< const Map > &map, std::vector< size_t > &stridingInfo, GlobalOrdinal, LocalOrdinal stridedBlockId=-1, GlobalOrdinal offset=0) | |
| virtual | ~StridedMap () |
| Destructor. More... | |
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) More... | |
| bool | isBlocked () const |
| GlobalOrdinal | getOffset () const |
| void | setOffset (GlobalOrdinal offset) |
| size_t | GID2StridingBlockId (GlobalOrdinal gid) const |
Xpetra specific | |
| RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | map_ |
| std::vector< size_t > | stridingInfo_ |
| vector with size of strided blocks (dofs) More... | |
| LocalOrdinal | stridedBlockId_ |
| member variable denoting which dofs are stored in map More... | |
| GlobalOrdinal | offset_ |
| offset for gids in map (default = 0) More... | |
| GlobalOrdinal | indexBase_ |
| index base for the strided map (default = 0) More... | |
| RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | getMap () const |
| virtual bool | CheckConsistency () |
Map Attribute Methods | |
| global_size_t | getGlobalNumElements () const |
| Returns the number of elements in this Map. More... | |
| size_t | getNodeNumElements () const |
| Returns the number of elements belonging to the calling node. More... | |
| GlobalOrdinal | getIndexBase () const |
| Returns the index base for this Map. More... | |
| LocalOrdinal | getMinLocalIndex () const |
| Returns minimum local index. More... | |
| LocalOrdinal | getMaxLocalIndex () const |
| Returns maximum local index. More... | |
| GlobalOrdinal | getMinGlobalIndex () const |
| Returns minimum global index owned by this node. More... | |
| GlobalOrdinal | getMaxGlobalIndex () const |
| Returns maximum global index owned by this node. More... | |
| GlobalOrdinal | getMinAllGlobalIndex () const |
| Return the minimum global index over all nodes. More... | |
| GlobalOrdinal | getMaxAllGlobalIndex () const |
| Return the maximum global index over all nodes. More... | |
| LocalOrdinal | getLocalElement (GlobalOrdinal globalIndex) const |
| Return the local index for a given global index. More... | |
| GlobalOrdinal | getGlobalElement (LocalOrdinal localIndex) const |
| Return the global index for a given local index. More... | |
| 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. More... | |
| 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. More... | |
| Teuchos::ArrayView< const GlobalOrdinal > | getNodeElementList () const |
| Return a list of the global indices owned by this node. More... | |
| 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. More... | |
| 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. More... | |
| bool | isContiguous () const |
| Returns true if this Map is distributed contiguously; returns false otherwise. More... | |
| bool | isDistributed () const |
| Returns true if this Map is distributed across more than one node; returns false otherwise. More... | |
| bool | isCompatible (const Map &map) const |
| Returns true if map is compatible with this Map. More... | |
| bool | isSameAs (const Map &map) const |
| Returns true if map is identical to this Map. More... | |
| Teuchos::RCP< const Teuchos::Comm< int > > | getComm () const |
| Get the Comm object for this Map. More... | |
| RCP< const Map > | removeEmptyProcesses () const |
| RCP< const Map > | replaceCommWithSubset (const Teuchos::RCP< const Teuchos::Comm< int >> &newComm) const |
| 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 the object with some verbosity level to a FancyOStream object. More... | |
| UnderlyingLib | lib () const |
| Get the library used by this object (Tpetra or Epetra?) More... | |
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 3dofs 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 stridingInformation.push_back(1); // 1 pressure dof
For this example the getFixedBlockSize() returns 3 (3 dofs per node). Providing a stridedBlockId parameter in the constructor the strided map only contains dofs of one strided block, e.g. with above stridingInformation the call
StridingMap M(33,0,stridiningInformation,comm,0); // striding block 0 (velocity dofs) returns a map with the gids 0, 1, 3, 4, 6, 7, ... (which contains only the velocity dofs)
and StridingMap M(33,0,stridiningInformation,comm,1); // striding block 1 (pressure dofs) creates a map with only the pressure dofs 2, 5, 8, ...
Definition at line 91 of file Xpetra_StridedMap_decl.hpp.
| typedef LocalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type |
Definition at line 98 of file Xpetra_StridedMap_decl.hpp.
| typedef GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type |
Definition at line 99 of file Xpetra_StridedMap_decl.hpp.
| typedef Node Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::node_type |
Definition at line 100 of file Xpetra_StridedMap_decl.hpp.
| 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.
Definition at line 83 of file Xpetra_StridedMap_def.hpp.
| 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.
Definition at line 213 of file Xpetra_StridedMap_def.hpp.
| 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.
Definition at line 358 of file Xpetra_StridedMap_def.hpp.
| 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 451 of file Xpetra_StridedMap_def.hpp.
|
virtual |
Destructor.
Definition at line 478 of file Xpetra_StridedMap_def.hpp.
| std::vector< size_t > Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getStridingData |
Definition at line 486 of file Xpetra_StridedMap_def.hpp.
| void Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::setStridingData | ( | std::vector< size_t > | stridingInfo | ) |
Definition at line 495 of file Xpetra_StridedMap_def.hpp.
| size_t Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getFixedBlockSize |
Definition at line 504 of file Xpetra_StridedMap_def.hpp.
| LocalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getStridedBlockId |
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 518 of file Xpetra_StridedMap_def.hpp.
| bool Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::isStrided |
returns true, if this is a strided map (i.e. more than 1 strided blocks)
Definition at line 527 of file Xpetra_StridedMap_def.hpp.
| bool Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::isBlocked |
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 536 of file Xpetra_StridedMap_def.hpp.
| GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getOffset |
Definition at line 545 of file Xpetra_StridedMap_def.hpp.
| void Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::setOffset | ( | GlobalOrdinal | offset | ) |
Definition at line 554 of file Xpetra_StridedMap_def.hpp.
| size_t Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::GID2StridingBlockId | ( | GlobalOrdinal | gid | ) | const |
Definition at line 563 of file Xpetra_StridedMap_def.hpp.
| RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getMap |
Definition at line 586 of file Xpetra_StridedMap_def.hpp.
|
privatevirtual |
Definition at line 595 of file Xpetra_StridedMap_def.hpp.
| global_size_t Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumElements |
Returns the number of elements in this Map.
Definition at line 679 of file Xpetra_StridedMap_def.hpp.
| size_t Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getNodeNumElements |
Returns the number of elements belonging to the calling node.
Definition at line 688 of file Xpetra_StridedMap_def.hpp.
| GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getIndexBase |
Returns the index base for this Map.
Definition at line 697 of file Xpetra_StridedMap_def.hpp.
| LocalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getMinLocalIndex |
Returns minimum local index.
Definition at line 706 of file Xpetra_StridedMap_def.hpp.
| LocalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getMaxLocalIndex |
Returns maximum local index.
Definition at line 715 of file Xpetra_StridedMap_def.hpp.
| GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getMinGlobalIndex |
Returns minimum global index owned by this node.
Definition at line 724 of file Xpetra_StridedMap_def.hpp.
| GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getMaxGlobalIndex |
Returns maximum global index owned by this node.
Definition at line 733 of file Xpetra_StridedMap_def.hpp.
| GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getMinAllGlobalIndex |
Return the minimum global index over all nodes.
Definition at line 742 of file Xpetra_StridedMap_def.hpp.
| GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getMaxAllGlobalIndex |
Return the maximum global index over all nodes.
Definition at line 751 of file Xpetra_StridedMap_def.hpp.
| LocalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getLocalElement | ( | GlobalOrdinal | globalIndex | ) | const |
Return the local index for a given global index.
Definition at line 760 of file Xpetra_StridedMap_def.hpp.
| GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getGlobalElement | ( | LocalOrdinal | localIndex | ) | const |
Return the global index for a given local index.
Definition at line 769 of file Xpetra_StridedMap_def.hpp.
| LookupStatus Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::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.
Definition at line 778 of file Xpetra_StridedMap_def.hpp.
| LookupStatus Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getRemoteIndexList | ( | const Teuchos::ArrayView< const GlobalOrdinal > & | GIDList, |
| const Teuchos::ArrayView< int > & | nodeIDList | ||
| ) | const |
Returns the node IDs for a given list of global indices.
Definition at line 789 of file Xpetra_StridedMap_def.hpp.
| Teuchos::ArrayView< const GlobalOrdinal > Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getNodeElementList |
Return a list of the global indices owned by this node.
Definition at line 799 of file Xpetra_StridedMap_def.hpp.
| bool Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::isNodeLocalElement | ( | LocalOrdinal | localIndex | ) | const |
Returns true if the local index is valid for this Map on this node; returns false if it isn't.
Definition at line 808 of file Xpetra_StridedMap_def.hpp.
| bool Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::isNodeGlobalElement | ( | GlobalOrdinal | globalIndex | ) | const |
Returns true if the global index is found in this Map on this node; returns false if it isn't.
Definition at line 817 of file Xpetra_StridedMap_def.hpp.
| bool Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::isContiguous |
Returns true if this Map is distributed contiguously; returns false otherwise.
Definition at line 826 of file Xpetra_StridedMap_def.hpp.
| bool Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::isDistributed |
Returns true if this Map is distributed across more than one node; returns false otherwise.
Definition at line 835 of file Xpetra_StridedMap_def.hpp.
| bool Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::isCompatible | ( | const Map & | map | ) | const |
Returns true if map is compatible with this Map.
Definition at line 844 of file Xpetra_StridedMap_def.hpp.
| bool Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::isSameAs | ( | const Map & | map | ) | const |
Returns true if map is identical to this Map.
Definition at line 853 of file Xpetra_StridedMap_def.hpp.
| Teuchos::RCP< const Teuchos::Comm< int > > Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::getComm |
Get the Comm object for this Map.
Definition at line 862 of file Xpetra_StridedMap_def.hpp.
| RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::removeEmptyProcesses |
Definition at line 882 of file Xpetra_StridedMap_def.hpp.
| RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::replaceCommWithSubset | ( | const Teuchos::RCP< const Teuchos::Comm< int >> & | newComm | ) | const |
Definition at line 891 of file Xpetra_StridedMap_def.hpp.
| std::string Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::description |
Return a simple one-line description of this object.
Definition at line 900 of file Xpetra_StridedMap_def.hpp.
| void Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::describe | ( | Teuchos::FancyOStream & | out, |
| const Teuchos::EVerbosityLevel | verbLevel = Teuchos::Describable::verbLevel_default |
||
| ) | const |
Print the object with some verbosity level to a FancyOStream object.
Definition at line 909 of file Xpetra_StridedMap_def.hpp.
| UnderlyingLib Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::lib |
Get the library used by this object (Tpetra or Epetra?)
Definition at line 918 of file Xpetra_StridedMap_def.hpp.
|
private |
Definition at line 356 of file Xpetra_StridedMap_decl.hpp.
|
private |
vector with size of strided blocks (dofs)
Definition at line 358 of file Xpetra_StridedMap_decl.hpp.
|
private |
member variable denoting which dofs are stored in map
Definition at line 359 of file Xpetra_StridedMap_decl.hpp.
|
private |
offset for gids in map (default = 0)
Definition at line 363 of file Xpetra_StridedMap_decl.hpp.
|
private |
index base for the strided map (default = 0)
Definition at line 364 of file Xpetra_StridedMap_decl.hpp.