Xpetra
Version of the Day
|
Xpetra utility class for common map-related routines. More...
#include <Xpetra_MapUtils_fwd.hpp>
Static Public 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... | |
static Teuchos::RCP < Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | shrinkMapGIDs (const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &input, const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &nonOvlInput) |
Helper function to shrink the GIDs and generate a standard map whith GIDs starting at 0. More... | |
static Teuchos::RCP < Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | transformThyra2XpetraGIDs (const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &input, const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &nonOvlInput, const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &nonOvlReferenceInput) |
replace set of global ids by new global ids More... | |
static Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | transformThyra2XpetraGIDs (const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &input, GlobalOrdinal offset) |
replace set of global ids by new global ids More... | |
Xpetra utility class for common map-related routines.
The routines should be independent from Epetra/Tpetra and be purely implemented in Xpetra.
Definition at line 15 of file Xpetra_MapUtils_fwd.hpp.
|
inlinestatic |
Helper function to concatenate several maps.
subMaps | vector of maps which are concatenated |
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 56 of file Xpetra_MapUtils.hpp.
|
inlinestatic |
Helper function to shrink the GIDs and generate a standard map whith GIDs starting at 0.
input | Input map (may be overlapping) containing all GIDs. Think of it as a column map. |
nonOvlInput | Non-overlapping version of "input" map. Think of it is the corresponding domain map associated with the column map "input" |
This helper routine may be useful for the transformation of MapExtractors in Xpetra-style GID ordering to the Thyra-style ordering.
Example: input = { 10, 15, 26, 37, 48 }; on proc 0 input = { 37, 48, 59, 60, 70 }; on proc 1 nonOvlInput = { 10, 15, 26, 37 }; on proc 0 nonOvlInput = { 48, 59, 60, 70 }: on proc 1 result = { 0, 1, 2, 3, 4 }; on proc 0 result = { 3, 4, 5, 6, 7 }; on proc 1
Definition at line 91 of file Xpetra_MapUtils.hpp.
|
inlinestatic |
replace set of global ids by new global ids
input | Overlapping input map. |
nonOvlInput | Non-overlapping map containing GIDs corresponding to "input". Think of it is the corresponding domain map associated with the column map "input" |
nonOvlReferenceInput | Non-overlapping reference map containing new GIDs. |
Example: input = { 0, 1, 2, 3 }; on proc 0 input = { 2, 3, 4, 5 }; on proc 1 nonOvlInput = { 0, 1, 2 }; on proc 0 nonOvlInput = { 3, 4, 5 }: on proc 1 nonOvlReferenceInput = { 33, 44, 55 }; on proc 0 nonOvlReferenceInput = { 101, 102, 103 }; on proc 1 result = { 33, 44, 55, 101 }; on proc 0 result = { 55, 101, 102, 103}; on proc 1
Definition at line 191 of file Xpetra_MapUtils.hpp.
|
inlinestatic |
replace set of global ids by new global ids
input | map (either Map or BlockedMap) containing Thyra GIDs |
offset | GID offset for resulting Xpetra GIDs |
Definition at line 272 of file Xpetra_MapUtils.hpp.