MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_InterfaceAggregationFactory_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_INTERFACEAGGREGATIONFACTORY_DECL_HPP_
11 #define MUELU_INTERFACEAGGREGATIONFACTORY_DECL_HPP_
12 
14 
15 namespace MueLu {
16 
84 template <class Scalar = DefaultScalar,
87  class Node = DefaultNode>
89 #undef MUELU_INTERFACEAGGREGATIONFACTORY_SHORT
90 #include "MueLu_UseShortNames.hpp"
91 
92  public:
94 
95 
97 
98  void DeclareInput(Level& currentLevel) const override;
99 
101 
103 
104 
106  void Build(Level& currentLevel) const override;
107 
109 
110  private:
116  void BuildBasedOnNodeMapping(const std::string& prefix, Level& currentLevel) const;
117 
129  void BuildBasedOnPrimalInterfaceDofMap(const std::string& prefix, Level& currentLevel) const;
130 };
131 
132 } // namespace MueLu
133 
134 #define MUELU_INTERFACEAGGREGATIONFACTORY_SHORT
135 #endif /* MUELU_INTERFACEAGGREGATIONFACTORY_DECL_HPP_ */
MueLu::DefaultLocalOrdinal LocalOrdinal
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
void BuildBasedOnNodeMapping(const std::string &prefix, Level &currentLevel) const
Build dual aggregates based on a given dual-to-primal node mapping.
MueLu::DefaultNode Node
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 Build(Level &currentLevel) const override
Build aggregates.
Factory for building aggregates for Lagrange multipliers in surface-coupled problems.
void DeclareInput(Level &currentLevel) const override
Specifies the data that this class needs, and the factories that generate that data.
RCP< const ParameterList > GetValidParameterList() const override
Input.
void BuildBasedOnPrimalInterfaceDofMap(const std::string &prefix, Level &currentLevel) const
Build dual aggregates based on a given interface row map of the primal and dual problem.
Base class for factories that use one level (currentLevel).