Class that stores a strided map. More...
#include <Xpetra_StridedMap_fwd.hpp>
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 |
Private Types | |
| typedef Xpetra::MapFactory< LocalOrdinal, GlobalOrdinal, Node > | MapFactory_t |
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, const Teuchos::RCP< Node > &node=Teuchos::rcp(new Node)) | |
| 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, const Teuchos::RCP< Node > &node=Teuchos::rcp(new Node)) | |
| 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, const Teuchos::RCP< Node > &node=Teuchos::rcp(new Node)) | |
| Map constructor with user-defined non-contiguous (arbitrary) distribution. More... | |
| StridedMap (const RCP< const Map > &map, std::vector< size_t > &stridingInfo, GlobalOrdinal indexBase, 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... | |
| Teuchos::RCP< Node > | getNode () const |
| Get the Node object for this Map. More... | |
| RCP< const Map > | removeEmptyProcesses () const |
| Return a new Map with processes with zero elements removed. More... | |
| RCP< const Map > | replaceCommWithSubset (const Teuchos::RCP< const Teuchos::Comm< int > > &newComm) const |
| Replace this Map's communicator with a subset communicator. 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 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... | |
Additional Inherited Members | |
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 () |
| 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 |
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 51 of file Xpetra_StridedMap_fwd.hpp.
| typedef LocalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type |
Definition at line 100 of file Xpetra_StridedMap.hpp.
| typedef GlobalOrdinal Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type |
Definition at line 101 of file Xpetra_StridedMap.hpp.
| typedef Node Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node >::node_type |
Definition at line 102 of file Xpetra_StridedMap.hpp.
|
private |
Definition at line 106 of file Xpetra_StridedMap.hpp.
|
inline |
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 134 of file Xpetra_StridedMap.hpp.
|
inline |
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 238 of file Xpetra_StridedMap.hpp.
|
inline |
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 327 of file Xpetra_StridedMap.hpp.
|
inline |
Definition at line 390 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Destructor.
Definition at line 405 of file Xpetra_StridedMap.hpp.
|
inline |
Definition at line 412 of file Xpetra_StridedMap.hpp.
|
inline |
Definition at line 414 of file Xpetra_StridedMap.hpp.
|
inline |
Definition at line 416 of file Xpetra_StridedMap.hpp.
|
inline |
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 425 of file Xpetra_StridedMap.hpp.
|
inline |
returns true, if this is a strided map (i.e. more than 1 strided blocks)
Definition at line 428 of file Xpetra_StridedMap.hpp.
|
inline |
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 432 of file Xpetra_StridedMap.hpp.
|
inline |
Definition at line 434 of file Xpetra_StridedMap.hpp.
|
inline |
Definition at line 436 of file Xpetra_StridedMap.hpp.
|
inline |
Definition at line 439 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Reimplemented from Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 458 of file Xpetra_StridedMap.hpp.
|
inlineprivatevirtual |
Definition at line 511 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns the number of elements in this Map.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 592 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns the number of elements belonging to the calling node.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 595 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns the index base for this Map.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 598 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns minimum local index.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 601 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns maximum local index.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 604 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns minimum global index owned by this node.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 607 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns maximum global index owned by this node.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 610 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Return the minimum global index over all nodes.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 613 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Return the maximum global index over all nodes.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 616 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Return the local index for a given global index.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 619 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Return the global index for a given local index.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 622 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns the node IDs and corresponding local indices for a given list of global indices.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 625 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns the node IDs for a given list of global indices.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 630 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Return a list of the global indices owned by this node.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 635 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
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 638 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
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 641 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns true if this Map is distributed contiguously; returns false otherwise.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 644 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns true if this Map is distributed across more than one node; returns false otherwise.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 647 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns true if map is compatible with this Map.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 652 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Returns true if map is identical to this Map.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 655 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Get the Comm object for this Map.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 658 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Get the Node object for this Map.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 661 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Return a new Map with processes with zero elements removed.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 663 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Replace this Map's communicator with a subset communicator.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 664 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Return a simple one-line description of this object.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 667 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Print the object with some verbosity level to a FancyOStream object.
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 670 of file Xpetra_StridedMap.hpp.
|
inlinevirtual |
Get the library used by this object (Tpetra or Epetra?)
Implements Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 673 of file Xpetra_StridedMap.hpp.
|
private |
Definition at line 577 of file Xpetra_StridedMap.hpp.
|
private |
vector with size of strided blocks (dofs)
Definition at line 579 of file Xpetra_StridedMap.hpp.
|
private |
member variable denoting which dofs are stored in map
Definition at line 580 of file Xpetra_StridedMap.hpp.
|
private |
offset for gids in map (default = 0)
Definition at line 583 of file Xpetra_StridedMap.hpp.
|
private |
index base for the strided map (default = 0)
Definition at line 584 of file Xpetra_StridedMap.hpp.
1.8.16