46 #ifndef XPETRA_MAPFACTORY_DECL_HPP 47 #define XPETRA_MAPFACTORY_DECL_HPP 61 template<
class LocalOrdinal,
81 static Teuchos::RCP<Map<LocalOrdinal, GlobalOrdinal, Node>>
84 GlobalOrdinal indexBase,
85 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm,
92 static Teuchos::RCP<Map<LocalOrdinal, GlobalOrdinal, Node>>
95 size_t numLocalElements,
96 GlobalOrdinal indexBase,
97 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm);
103 static Teuchos::RCP<Map<LocalOrdinal, GlobalOrdinal, Node>>
106 const Teuchos::ArrayView<const GlobalOrdinal>& elementList,
107 GlobalOrdinal indexBase,
108 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm);
121 static Teuchos::RCP<Map<LocalOrdinal, GlobalOrdinal, Node>>
123 const LocalOrdinal numDofPerNode,
124 const GlobalOrdinal gidOffset = Teuchos::ScalarTraits<GlobalOrdinal>::zero());
127 #ifdef HAVE_XPETRA_KOKKOS_REFACTOR 128 #ifdef HAVE_XPETRA_TPETRA 129 static Teuchos::RCP<Map<LocalOrdinal, GlobalOrdinal, Node>>
132 const Kokkos::View<const GlobalOrdinal*, typename Node::device_type>& indexList,
133 GlobalOrdinal indexBase,
134 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm);
136 #endif // HAVE_XPETRA_KOKKOS_REFACTOR 140 static Teuchos::RCP<const Map<LocalOrdinal, GlobalOrdinal, Node>>
143 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm);
149 static Teuchos::RCP<const Map<LocalOrdinal, GlobalOrdinal, Node>>
152 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm);
158 static Teuchos::RCP<const Map<LocalOrdinal, GlobalOrdinal, Node>>
161 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm);
165 static Teuchos::RCP<const Map<LocalOrdinal, GlobalOrdinal, Node>>
168 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm);
172 static Teuchos::RCP<const Map<LocalOrdinal, GlobalOrdinal, Node>>
175 size_t localNumElements,
176 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm);
182 static Teuchos::RCP<const Map<LocalOrdinal, GlobalOrdinal, Node>>
185 size_t localNumElements,
186 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm);
198 #if defined(HAVE_XPETRA_EPETRA) 201 #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES) 222 static RCP<Map<LocalOrdinal,GlobalOrdinal, Node> >
226 const Teuchos::RCP<
const Teuchos::Comm<int> > &comm,
232 static RCP<Map<LocalOrdinal,GlobalOrdinal, Node> >
235 size_t numLocalElements,
237 const Teuchos::RCP<
const Teuchos::Comm<int> > &comm);
242 static RCP<Map<LocalOrdinal,GlobalOrdinal, Node> >
245 const Teuchos::ArrayView<const GlobalOrdinal> &elementList,
247 const Teuchos::RCP<
const Teuchos::Comm<int> > &comm);
259 static Teuchos::RCP<Map<LocalOrdinal, GlobalOrdinal, Node>>
262 const GlobalOrdinal gidOffset = Teuchos::ScalarTraits<GlobalOrdinal>::zero());
265 static Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal, Node> >
268 const Teuchos::RCP<
const Teuchos::Comm< int > > &comm);
274 static Teuchos::RCP< const Map<LocalOrdinal,GlobalOrdinal, Node> >
277 const Teuchos::RCP<
const Teuchos::Comm< int > > &comm);
284 static Teuchos::RCP< const Map<LocalOrdinal,GlobalOrdinal, Node> >
286 const Teuchos::RCP<
const Teuchos::Comm< int > > &comm);
289 static Teuchos::RCP< const Map<LocalOrdinal,GlobalOrdinal, Node> >
292 const Teuchos::RCP<
const Teuchos::Comm< int > > &comm);
295 static Teuchos::RCP< const Map<LocalOrdinal,GlobalOrdinal, Node> >
298 size_t localNumElements,
299 const Teuchos::RCP<
const Teuchos::Comm< int > > &comm);
304 static Teuchos::RCP< const Map<LocalOrdinal,GlobalOrdinal, Node> >
307 size_t localNumElements,
308 const Teuchos::RCP<
const Teuchos::Comm< int > > &comm);
313 #endif // #if !defined(XPETRA_EPETRA_NO_32BIT_GLOBAL_INDICES) 321 #if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES) 341 static RCP<Map<LocalOrdinal,GlobalOrdinal, Node> >
345 const Teuchos::RCP<
const Teuchos::Comm<int> > &comm,
351 static RCP<Map<LocalOrdinal,GlobalOrdinal, Node> >
354 size_t numLocalElements,
356 const Teuchos::RCP<
const Teuchos::Comm<int> > &comm);
361 static RCP<Map<LocalOrdinal,GlobalOrdinal, Node> >
364 const Teuchos::ArrayView<const GlobalOrdinal> &elementList,
366 const Teuchos::RCP<
const Teuchos::Comm<int> > &comm);
371 static Teuchos::RCP<Map<LocalOrdinal,GlobalOrdinal, Node> >
376 static Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal, Node> >
379 const Teuchos::RCP<
const Teuchos::Comm< int > > &comm);
384 static Teuchos::RCP< const Map<LocalOrdinal,GlobalOrdinal, Node> >
387 const Teuchos::RCP<
const Teuchos::Comm< int > > &comm);
392 static Teuchos::RCP< const Map<LocalOrdinal,GlobalOrdinal, Node> >
394 const Teuchos::RCP<
const Teuchos::Comm< int > > &comm);
397 static Teuchos::RCP< const Map<LocalOrdinal,GlobalOrdinal, Node> >
400 const Teuchos::RCP<
const Teuchos::Comm< int > > &comm);
403 static Teuchos::RCP< const Map<LocalOrdinal,GlobalOrdinal, Node> >
406 size_t localNumElements,
407 const Teuchos::RCP<
const Teuchos::Comm< int > > &comm);
412 static Teuchos::RCP< const Map<LocalOrdinal,GlobalOrdinal, Node> >
415 size_t localNumElements,
416 const Teuchos::RCP<
const Teuchos::Comm< int > > &comm);
421 #endif // #if !defined(XPETRA_EPETRA_NO_64BIT_GLOBAL_INDICES) 424 #endif // #if defined(HAVE_XPETRA_EPETRA) 430 #define XPETRA_MAPFACTORY_SHORT 432 #endif // XPETRA_MAPFACTORY_DECL_HPP
static Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > createLocalMap(UnderlyingLib lib, size_t numElements, const Teuchos::RCP< const Teuchos::Comm< int >> &comm)
Create a locally replicated Map with the default node.
static Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > createContigMap(UnderlyingLib lib, global_size_t numElements, size_t localNumElements, const Teuchos::RCP< const Teuchos::Comm< int >> &comm)
Create a (potentially) non-uniform, contiguous Map with the default node.
MapFactory()
Private constructor. This is a static class.
static Teuchos::RCP< Map< LocalOrdinal, GlobalOrdinal, Node > > Build(UnderlyingLib lib, global_size_t numGlobalElements, GlobalOrdinal indexBase, const Teuchos::RCP< const Teuchos::Comm< int >> &comm, LocalGlobal lg=Xpetra::GloballyDistributed)
Map constructor with Xpetra-defined contiguous uniform distribution.
static Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > createContigMapWithNode(UnderlyingLib lib, global_size_t numElements, size_t localNumElements, const Teuchos::RCP< const Teuchos::Comm< int >> &comm)
Create a (potentially) non-uniform, contiguous Map with a user-specified node.
size_t global_size_t
Global size_t object.
static Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > createUniformContigMapWithNode(UnderlyingLib lib, global_size_t numElements, const Teuchos::RCP< const Teuchos::Comm< int >> &comm)
Create a uniform, contiguous Map with a user-specified node.
static Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > createLocalMapWithNode(UnderlyingLib lib, size_t numElements, const Teuchos::RCP< const Teuchos::Comm< int >> &comm)
Create a locally replicated Map with a specified node.
Create an Xpetra::Map instance.
static Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > createUniformContigMap(UnderlyingLib lib, global_size_t numElements, const Teuchos::RCP< const Teuchos::Comm< int >> &comm)
Create a uniform, contiguous Map with the default node.