deal.II version GIT relicensing-2165-gc91f007519 2024-11-20 01:40:00+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Typedefs
LinearAlgebra::TpetraWrappers::TpetraTypes Namespace Reference

Typedefs

using LO = int
 
using GO = types::signed_global_dof_index
 
template<typename MemorySpace >
using NodeType = Tpetra::KokkosCompat::KokkosDeviceWrapperNode< typename MemorySpace::kokkos_space::execution_space, typename MemorySpace::kokkos_space >
 
template<typename MemorySpace >
using ExportType = Tpetra::Export< LO, GO, NodeType< MemorySpace > >
 
template<typename MemorySpace >
using ImportType = Tpetra::Import< LO, GO, NodeType< MemorySpace > >
 
template<typename MemorySpace >
using MapType = Tpetra::Map< LO, GO, NodeType< MemorySpace > >
 
template<typename MemorySpace >
using GraphType = Tpetra::CrsGraph< LO, GO, NodeType< MemorySpace > >
 
template<typename Number , typename MemorySpace >
using VectorType = Tpetra::Vector< Number, LO, GO, NodeType< MemorySpace > >
 
template<typename Number , typename MemorySpace >
using MultiVectorType = Tpetra::MultiVector< Number, LO, GO, NodeType< MemorySpace > >
 
template<typename Number , typename MemorySpace >
using LinearOperator = Tpetra::Operator< Number, LO, GO, NodeType< MemorySpace > >
 
template<typename Number , typename MemorySpace >
using MatrixType = Tpetra::CrsMatrix< Number, LO, GO, NodeType< MemorySpace > >
 
template<typename Number , typename MemorySpace >
using RowMatrixType = Tpetra::RowMatrix< Number, LO, GO, NodeType< MemorySpace > >
 
template<typename Number , typename MemorySpace >
using DualViewType = typename VectorType< Number, MemorySpace >::dual_view_type
 Typedef for the Kokkos::DualView type. This is needed for shallow copies of deal.II LA structures to Trilinos LA structures.
 
template<typename Number >
using HostViewType = typename DualViewType< Number, ::MemorySpace::Host >::t_host
 Typedef for the Kokkos::View type. This is needed for shallow copies of deal.II LA structures to Trilinos LA structures.
 

Typedef Documentation

◆ LO

local ordinate (processor local indices).

Definition at line 58 of file trilinos_tpetra_types.h.

◆ GO

global ordinate (global indices).

Definition at line 64 of file trilinos_tpetra_types.h.

◆ NodeType

template<typename MemorySpace >
using LinearAlgebra::TpetraWrappers::TpetraTypes::NodeType = typedef Tpetra::KokkosCompat::KokkosDeviceWrapperNode< typename MemorySpace::kokkos_space::execution_space, typename MemorySpace::kokkos_space>

Where and how calculations should be executed, i.e. Host (Serial,OpenMP) or Device (GPU)

Definition at line 74 of file trilinos_tpetra_types.h.

◆ ExportType

template<typename MemorySpace >
using LinearAlgebra::TpetraWrappers::TpetraTypes::ExportType = typedef Tpetra::Export<LO, GO, NodeType<MemorySpace> >

Communication between processors.

Definition at line 88 of file trilinos_tpetra_types.h.

◆ ImportType

template<typename MemorySpace >
using LinearAlgebra::TpetraWrappers::TpetraTypes::ImportType = typedef Tpetra::Import<LO, GO, NodeType<MemorySpace> >

Communication between processors.

Definition at line 94 of file trilinos_tpetra_types.h.

◆ MapType

template<typename MemorySpace >
using LinearAlgebra::TpetraWrappers::TpetraTypes::MapType = typedef Tpetra::Map<LO, GO, NodeType<MemorySpace> >

Tpetra equivalent of IndexSet.

Definition at line 100 of file trilinos_tpetra_types.h.

◆ GraphType

template<typename MemorySpace >
using LinearAlgebra::TpetraWrappers::TpetraTypes::GraphType = typedef Tpetra::CrsGraph<LO, GO, NodeType<MemorySpace> >

Tpetra sparsity pattern type.

Definition at line 106 of file trilinos_tpetra_types.h.

◆ VectorType

template<typename Number , typename MemorySpace >
using LinearAlgebra::TpetraWrappers::TpetraTypes::VectorType = typedef Tpetra::Vector<Number, LO, GO, NodeType<MemorySpace> >

Tpetra Vector type.

Definition at line 112 of file trilinos_tpetra_types.h.

◆ MultiVectorType

template<typename Number , typename MemorySpace >
using LinearAlgebra::TpetraWrappers::TpetraTypes::MultiVectorType = typedef Tpetra::MultiVector<Number, LO, GO, NodeType<MemorySpace> >

Tpetra type for a row column vectors.

Definition at line 118 of file trilinos_tpetra_types.h.

◆ LinearOperator

template<typename Number , typename MemorySpace >
using LinearAlgebra::TpetraWrappers::TpetraTypes::LinearOperator = typedef Tpetra::Operator<Number, LO, GO, NodeType<MemorySpace> >

General Tpetra class for a linear operator, e.g. a Matrix or Preconditioner.

Definition at line 128 of file trilinos_tpetra_types.h.

◆ MatrixType

template<typename Number , typename MemorySpace >
using LinearAlgebra::TpetraWrappers::TpetraTypes::MatrixType = typedef Tpetra::CrsMatrix<Number, LO, GO, NodeType<MemorySpace> >

Tpetra type for a parallel distributed sparse matrix in Crs or CSR format.

Definition at line 137 of file trilinos_tpetra_types.h.

◆ RowMatrixType

template<typename Number , typename MemorySpace >
using LinearAlgebra::TpetraWrappers::TpetraTypes::RowMatrixType = typedef Tpetra::RowMatrix<Number, LO, GO, NodeType<MemorySpace> >

Tpetra type for a parallel distributed row matrix.

Definition at line 145 of file trilinos_tpetra_types.h.

◆ DualViewType

template<typename Number , typename MemorySpace >
using LinearAlgebra::TpetraWrappers::TpetraTypes::DualViewType = typedef typename VectorType<Number, MemorySpace>::dual_view_type

Typedef for the Kokkos::DualView type. This is needed for shallow copies of deal.II LA structures to Trilinos LA structures.

Definition at line 154 of file trilinos_tpetra_types.h.

◆ HostViewType

template<typename Number >
using LinearAlgebra::TpetraWrappers::TpetraTypes::HostViewType = typedef typename DualViewType<Number, ::MemorySpace::Host>::t_host

Typedef for the Kokkos::View type. This is needed for shallow copies of deal.II LA structures to Trilinos LA structures.

Definition at line 164 of file trilinos_tpetra_types.h.