MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_Constraint_decl.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // MueLu: A package for multigrid based preconditioning
4 //
5 // Copyright 2012 NTESS and the MueLu contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef MUELU_CONSTRAINT_DECL_HPP
11 #define MUELU_CONSTRAINT_DECL_HPP
12 
14 
16 #include <Xpetra_Matrix_fwd.hpp>
17 #include <Xpetra_CrsGraph_fwd.hpp>
18 
19 #include "MueLu_ConfigDefs.hpp"
20 #include "MueLu_BaseClass.hpp"
21 
22 namespace MueLu {
23 
25 
65 template <class Scalar = DefaultScalar,
68  class Node = DefaultNode>
69 class Constraint : public BaseClass {
70 #undef MUELU_CONSTRAINT_SHORT
71 #include "MueLu_UseShortNames.hpp"
72  public:
78 
80 
86  void Setup(const MultiVector& B, const MultiVector& Bc, RCP<const CrsGraph> Ppattern);
87 
89 
91 
92 
94  void Apply(const Matrix& P, Matrix& Projected) const;
95 
97 
99  return Ppattern_;
100  }
101 
102  private:
106 };
107 
108 } // namespace MueLu
109 
110 #define MUELU_CONSTRAINT_SHORT
111 #endif // MUELU_CONSTRAINT_DECL_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
void Setup(const MultiVector &B, const MultiVector &Bc, RCP< const CrsGraph > Ppattern)
Constraint space information for the potential prolongator.
MueLu::DefaultNode Node
RCP< const CrsGraph > GetPattern() const
ArrayRCP< Teuchos::SerialDenseMatrix< LO, SC > > XXtInv_
Array storing .
MueLu::DefaultScalar Scalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
RCP< const CrsGraph > Ppattern_
Nonzero sparsity pattern.
Base class for MueLu classes.
void Apply(const Matrix &P, Matrix &Projected) const
Apply constraint.
RCP< MultiVector > X_
Overlapped coarse nullspace.