MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_CGSolver_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_CGSOLVER_DECL_HPP
11 #define MUELU_CGSOLVER_DECL_HPP
12 
13 #include <Xpetra_Matrix_fwd.hpp>
16 
17 #include "MueLu_ConfigDefs.hpp"
18 #include "MueLu_SolverBase.hpp"
19 #include "MueLu_Constraint_fwd.hpp"
20 #include "MueLu_Utilities_fwd.hpp"
21 
22 namespace MueLu {
23 
39 template <class Scalar = DefaultScalar,
42  class Node = DefaultNode>
43 class CGSolver : public SolverBase<Scalar, LocalOrdinal, GlobalOrdinal, Node> {
44 #undef MUELU_CGSOLVER_SHORT
45 #include "MueLu_UseShortNames.hpp"
46 
47  public:
49 
50 
54  CGSolver(size_t Its);
55 
57 
59 
60 
62  void Iterate(const Matrix& A, const Constraint& C, const Matrix& P0, RCP<Matrix>& P) const;
63 
65 
66  private:
67  size_t nIts_;
68 };
69 
70 } // namespace MueLu
71 
72 #define MUELU_CGSOLVER_SHORT
73 #endif // MUELU_CGSOLVER_DECL_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Implements conjugate gradient algorithm for energy-minimization.
Constraint space information for the potential prolongator.
MueLu::DefaultNode Node
void Iterate(const Matrix &A, const Constraint &C, const Matrix &P0, RCP< Matrix > &P) const
Iterate.
MueLu::DefaultScalar Scalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
size_t nIts_
Number of performed iterations.
Base class for energy-minimization iterative solvers.