MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_SubBlockAFactory_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_SUBBLOCKAFACTORY_DECL_HPP_
11 #define MUELU_SUBBLOCKAFACTORY_DECL_HPP_
12 
13 #include <Xpetra_Map_fwd.hpp>
17 
18 #include "MueLu_ConfigDefs.hpp"
21 
22 namespace MueLu {
23 
53 template <class Scalar = DefaultScalar,
56  class Node = DefaultNode>
58 #undef MUELU_SUBBLOCKAFACTORY_SHORT
59 #include "MueLu_UseShortNames.hpp"
60 
61  public:
63 
64 
66  SubBlockAFactory() = default;
67 
69  virtual ~SubBlockAFactory() = default;
71 
73 
74 
76 
77  void DeclareInput(Level& currentLevel) const override;
78 
80 
82 
100  void Build(Level& currentLevel) const override;
101 
103 
104  private:
105  bool CheckForUserSpecifiedBlockInfo(bool bRange, std::vector<size_t>& stridingInfo, LocalOrdinal& stridedBlockId) const;
106 
107 }; // class SubBlockAFactory
108 
109 } // namespace MueLu
110 
111 #define MUELU_SUBBLOCKAFACTORY_SHORT
112 #endif /* MUELU_SUBBLOCKAFACTORY_DECL_HPP_ */
MueLu::DefaultLocalOrdinal LocalOrdinal
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
RCP< const ParameterList > GetValidParameterList() const override
Input.
void Build(Level &currentLevel) const override
Build an object with this factory.
bool CheckForUserSpecifiedBlockInfo(bool bRange, std::vector< size_t > &stridingInfo, LocalOrdinal &stridedBlockId) const
MueLu::DefaultNode Node
virtual ~SubBlockAFactory()=default
Destructor.
MueLu::DefaultScalar Scalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
Definition: MueLu_Level.hpp:63
SubBlockAFactory()=default
Constructor.
Factory for building a thresholded operator.
void DeclareInput(Level &currentLevel) const override
Specifies the data that this class needs, and the factories that generate that data.
Base class for factories that use one level (currentLevel).