Tpetra parallel linear algebra Version of the Day
Loading...
Searching...
No Matches
Tpetra_Reindex_LinearProblem_decl.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Tpetra: Templated Linear Algebra Services Package
4//
5// Copyright 2008 NTESS and the Tpetra contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef TPETRA_REINDEX_LINEARPROBLEM_DECL_HPP
11#define TPETRA_REINDEX_LINEARPROBLEM_DECL_HPP
12
15
16#include <Tpetra_Transform.hpp>
17#include <Tpetra_LinearProblem.hpp>
18#include <Tpetra_Reindex_CrsMatrix.hpp>
19#include <Tpetra_Reindex_MultiVector.hpp>
20
21namespace Tpetra {
22
24
29template <class Scalar,
30 class LocalOrdinal,
31 class GlobalOrdinal,
32 class Node>
33class Reindex_LinearProblem : public ViewTransform<LinearProblem<Scalar, LocalOrdinal, GlobalOrdinal, Node> > {
34 public:
36 using OriginalType = typename ViewTransform<LinearProblem<Scalar, LocalOrdinal, GlobalOrdinal, Node> >::OriginalType;
37
39
42
44
47
49
51 NewType operator()(OriginalType const& origProblem);
52
53 private:
54 Teuchos::RCP<Map<LocalOrdinal, GlobalOrdinal, Node> const> newRowMap_;
55
56 Teuchos::RCP<Reindex_CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > matTrans_;
57 Teuchos::RCP<Reindex_MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> > lhsTrans_;
58 Teuchos::RCP<Reindex_MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> > rhsTrans_;
59};
60
61} // namespace Tpetra
62
63#endif // TPETRA_REINDEX_LINEARPROBLEM_DECL_HPP
Struct that holds views of the contents of a CrsMatrix.
NewType operator()(OriginalType const &origProblem)
Namespace Tpetra contains the class and methods constituting the Tpetra library.