MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_SolverBase.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_SOLVERBASE_HPP
11 #define MUELU_SOLVERBASE_HPP
12 
14 #include <Xpetra_Matrix_fwd.hpp>
15 
16 #include "MueLu_ConfigDefs.hpp"
17 #include "MueLu_BaseClass.hpp"
18 #include "MueLu_Constraint_fwd.hpp"
19 
20 namespace MueLu {
21 
27 template <class Scalar = DefaultScalar,
30  class Node = DefaultNode>
31 class SolverBase : public BaseClass {
32 #undef MUELU_SOLVERBASE_SHORT
33 #include "MueLu_UseShortNames.hpp"
34 
35  public:
38 
39  virtual ~SolverBase() {}
41 
43 
44 
52  virtual void Iterate(const Matrix& A, const Constraint& C, const Matrix& P0, RCP<Matrix>& P) const = 0;
53 
55 
56 }; // class SolverBase
57 
58 } // namespace MueLu
59 
60 #define MUELU_SOLVERBASE_SHORT
61 
62 #endif // ifndef MUELU_SOLVERBASE_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Constraint space information for the potential prolongator.
virtual void Iterate(const Matrix &A, const Constraint &C, const Matrix &P0, RCP< Matrix > &P) const =0
MueLu::DefaultNode Node
MueLu::DefaultScalar Scalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Base class for MueLu classes.
Base class for energy-minimization iterative solvers.