21#ifndef AMR_MULTI_GRID_DEFS_H
22#define AMR_MULTI_GRID_DEFS_H
25#include <Tpetra_Map.hpp>
26#include <Tpetra_Vector.hpp>
27#include <Tpetra_CrsMatrix.hpp>
29#include <Teuchos_RCP.hpp>
30#include <Teuchos_ArrayRCP.hpp>
31#include <Teuchos_DefaultMpiComm.hpp>
33#include <Kokkos_DefaultNode.hpp>
41#ifdef AMR_MG_SERIAL_NODE
42 typedef ::Kokkos::Compat::KokkosSerialWrapperNode
node_t;
43#elif AMR_MG_PTHREAD_NODE
44 typedef ::Kokkos::Compat::KokkosThreadsWrapperNode
node_t;
45#elif AMR_MG_OPENMP_NODE
46 typedef ::Kokkos::Compat::KokkosOpenMPWrapperNode
node_t;
48 typedef ::Kokkos::Compat::KokkosCudaWrapperNode
node_t;
50 typedef KokkosClassic::DefaultNode::DefaultNodeType
node_t;
71 typedef Tpetra::MultiVector<
scalar_t,
83 typedef Teuchos::MpiComm<int>
comm_t;
Some AMR types used a lot.
Tpetra::Operator< scalar_t, local_ordinal_t, global_ordinal_t, node_t > operator_t
KokkosClassic::DefaultNode::DefaultNodeType node_t
Tpetra::Map< local_ordinal_t, global_ordinal_t, node_t > dmap_t
Tpetra::Vector< scalar_t, local_ordinal_t, global_ordinal_t, node_t > vector_t
Tpetra::MultiVector< scalar_t, local_ordinal_t, global_ordinal_t, node_t > multivector_t
Tpetra::CrsMatrix< scalar_t, local_ordinal_t, global_ordinal_t, node_t > matrix_t
Teuchos::MpiComm< int > comm_t