MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_ReitzingerPFactory_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_REITZINGERPFACTORY_DECL_HPP
11 #define MUELU_REITZINGERPFACTORY_DECL_HPP
12 
13 #include <Teuchos_ScalarTraits.hpp>
16 
17 #include <Xpetra_CrsMatrix_fwd.hpp>
18 #include <Xpetra_Matrix_fwd.hpp>
20 #include <Xpetra_Map_fwd.hpp>
21 #include <Xpetra_Import_fwd.hpp>
23 
24 #include "MueLu_ConfigDefs.hpp"
26 
27 #include "MueLu_Level_fwd.hpp"
28 #include "MueLu_PFactory.hpp"
29 #include "MueLu_Utilities_fwd.hpp"
30 
31 namespace MueLu {
32 
65 template <class Scalar = DefaultScalar,
68  class Node = DefaultNode>
69 class ReitzingerPFactory : public PFactory {
70 #undef MUELU_REITZINGERPFACTORY_SHORT
71 #include "MueLu_UseShortNames.hpp"
72 
73  public:
75 
76 
79 
81  virtual ~ReitzingerPFactory() {}
83 
85 
87 
88 
89  void DeclareInput(Level& fineLevel, Level& coarseLevel) const;
90 
92 
94 
95 
96  void Build(Level& fineLevel, Level& coarseLevel) const;
97  void BuildP(Level& fineLevel, Level& coarseLevel) const;
98 
100 
102 
103  void CheckCommutingProperty(const Matrix& Pe, const Matrix& D0_c, const Matrix& D0_f, const Matrix& Pn) const;
105 
106  private:
107 }; // class ReitzingerPFactory
108 
109 } // namespace MueLu
110 
111 #define MUELU_REITZINGERPFACTORY_SHORT
112 #endif // MUELU_REITZINGERPFACTORY_DECL_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
MueLu::DefaultNode Node
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
MueLu::DefaultScalar Scalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
Definition: MueLu_Level.hpp:63
void CheckCommutingProperty(const Matrix &Pe, const Matrix &D0_c, const Matrix &D0_f, const Matrix &Pn) const
Utility method.
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
Factory for building tentative prolongator.
Factory that provides an interface for a concrete implementation of a prolongation operator...
void BuildP(Level &fineLevel, Level &coarseLevel) const
Abstract Build method.