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:
79 
81 
82 
88  void Setup(const RCP<MultiVector>& B, const RCP<MultiVector>& Bc, RCP<const CrsGraph> Ppattern);
89 
91 
93 
95 
96 
98  void Apply(const Matrix& P, Matrix& Projected) const;
99 
101 
103  return Ppattern_;
104  }
105 
106  private:
112 };
113 
114 } // namespace MueLu
115 
116 #define MUELU_CONSTRAINT_SHORT
117 #endif // MUELU_CONSTRAINT_DECL_HPP
typename Teuchos::ScalarTraits< Scalar >::magnitudeType MagnitudeType
RCP< MultiVector > Bc_
MueLu::DefaultLocalOrdinal LocalOrdinal
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Constraint space information for the potential prolongator.
MueLu::DefaultNode Node
MagnitudeType ResidualNorm(const RCP< const Matrix > P) const
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.
void Setup(const RCP< MultiVector > &B, const RCP< MultiVector > &Bc, RCP< const CrsGraph > Ppattern)