Xpetra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
Xpetra_Helpers_decl.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Xpetra: A linear algebra interface package
4
//
5
// Copyright 2012 NTESS and the Xpetra contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef XPETRA_HELPERS_DECL_HPP
11
#define XPETRA_HELPERS_DECL_HPP
12
13
#include "
Xpetra_ConfigDefs.hpp
"
14
15
#include "Xpetra_BlockedCrsMatrix.hpp"
16
#include "Xpetra_CrsMatrixWrap.hpp"
17
#include "Xpetra_MapExtractor.hpp"
18
#include "Xpetra_Map.hpp"
19
#include "Xpetra_Matrix.hpp"
20
21
#include <Tpetra_CrsMatrix.hpp>
22
#include <Tpetra_BlockCrsMatrix.hpp>
23
#include <TpetraExt_MatrixMatrix.hpp>
24
#include <Tpetra_RowMatrixTransposer.hpp>
25
#include <
MatrixMarket_Tpetra.hpp
>
26
#include <Xpetra_TpetraCrsMatrix.hpp>
27
#include <Xpetra_TpetraBlockCrsMatrix.hpp>
28
#include <Tpetra_BlockCrsMatrix_Helpers.hpp>
29
#include <Xpetra_TpetraMultiVector.hpp>
30
#include <Xpetra_TpetraVector.hpp>
31
32
namespace
Xpetra
{
33
40
template
<
class
Scalar,
41
class
LocalOrdinal = int,
42
class
GlobalOrdinal = LocalOrdinal,
43
class
Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
44
class
Helpers {
45
#include "
Xpetra_UseShortNames.hpp
"
46
47
public
:
48
static
RCP<const Tpetra::CrsMatrix<SC, LO, GO, NO>
>
Op2TpetraCrs
(
RCP<Matrix>
Op);
49
50
static
RCP<Tpetra::CrsMatrix<SC, LO, GO, NO>
>
Op2NonConstTpetraCrs
(
RCP<Matrix>
Op);
51
52
static
const
Tpetra::CrsMatrix<SC, LO, GO, NO>
&
Op2TpetraCrs
(
const
Matrix
& Op);
53
54
static
Tpetra::CrsMatrix<SC, LO, GO, NO>
&
Op2NonConstTpetraCrs
(
const
Matrix
& Op);
55
56
static
bool
isTpetraCrs
(
RCP<Matrix>
Op);
57
58
static
bool
isTpetraCrs(
const
Matrix
& Op);
59
60
static
RCP<const Tpetra::BlockCrsMatrix<SC, LO, GO, NO>
> Op2TpetraBlockCrs(
RCP<Matrix>
Op);
61
62
static
RCP<Tpetra::BlockCrsMatrix<SC, LO, GO, NO>
> Op2NonConstTpetraBlockCrs(
RCP<Matrix>
Op);
63
64
static
const
Tpetra::BlockCrsMatrix<SC, LO, GO, NO>
& Op2TpetraBlockCrs(
const
Matrix
& Op);
65
66
static
Tpetra::BlockCrsMatrix<SC, LO, GO, NO>
& Op2NonConstTpetraBlockCrs(
const
Matrix
& Op);
67
68
static
bool
isTpetraBlockCrs(
RCP<Matrix>
Op);
69
70
static
bool
isTpetraBlockCrs(
const
Matrix
& Op);
71
72
using
tcrs_matrix_type
=
Tpetra::CrsMatrix<SC, LO, GO, NO>
;
73
static
Teuchos::RCP<Matrix>
tpetraAdd
(
74
const
tcrs_matrix_type
& A,
bool
transposeA,
const
typename
tcrs_matrix_type::scalar_type
alpha,
75
const
tcrs_matrix_type
& B,
bool
transposeB,
const
typename
tcrs_matrix_type::scalar_type
beta);
76
};
77
}
// namespace Xpetra
78
79
#endif
MatrixMarket_Tpetra.hpp
Xpetra_ConfigDefs.hpp
Xpetra_UseShortNames.hpp
Teuchos::RCP
Tpetra::BlockCrsMatrix
Tpetra::CrsMatrix
Tpetra::CrsMatrix< SC, LO, GO, NO >::scalar_type
Scalar scalar_type
Xpetra::Helpers::Op2NonConstTpetraCrs
static RCP< Tpetra::CrsMatrix< SC, LO, GO, NO > > Op2NonConstTpetraCrs(RCP< Matrix > Op)
Definition
Xpetra_Helpers_def.hpp:31
Xpetra::Helpers::tcrs_matrix_type
Tpetra::CrsMatrix< SC, LO, GO, NO > tcrs_matrix_type
Definition
Xpetra_Helpers_decl.hpp:72
Xpetra::Helpers::Op2TpetraCrs
static RCP< const Tpetra::CrsMatrix< SC, LO, GO, NO > > Op2TpetraCrs(RCP< Matrix > Op)
Definition
Xpetra_Helpers_def.hpp:18
Xpetra::Helpers::isTpetraCrs
static bool isTpetraCrs(RCP< Matrix > Op)
Definition
Xpetra_Helpers_def.hpp:75
Xpetra::Helpers::tpetraAdd
static Teuchos::RCP< Matrix > tpetraAdd(const tcrs_matrix_type &A, bool transposeA, const typename tcrs_matrix_type::scalar_type alpha, const tcrs_matrix_type &B, bool transposeB, const typename tcrs_matrix_type::scalar_type beta)
Definition
Xpetra_Helpers_def.hpp:177
Xpetra::Matrix
Xpetra-specific matrix class.
Definition
Xpetra_Matrix_decl.hpp:60
Xpetra
Xpetra namespace
Definition
Xpetra_BlockedCrsMatrix_decl.hpp:52
src
Utils
Xpetra_Helpers_decl.hpp
Generated by
1.17.0