MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu_MHDRAPFactory_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_MHDRAPFACTORY_DECL_HPP
11#define MUELU_MHDRAPFACTORY_DECL_HPP
12
13#include <string>
14
15#include <Xpetra_Matrix_fwd.hpp>
16
17#include "MueLu_ConfigDefs.hpp"
19//#include "MueLu_MHDRAPFactory_fwd.hpp"
20
21#include "MueLu_Level_fwd.hpp"
23
24namespace MueLu {
29template <class Scalar = DefaultScalar,
32 class Node = DefaultNode>
34#undef MUELU_MHDRAPFACTORY_SHORT
36
37 public:
39
40
42
43 virtual ~MHDRAPFactory() {}
44
46
48
49
50 void DeclareInput(Level &fineLevel, Level &coarseLevel) const;
51
53
55
56 void Build(Level &fineLevel, Level &coarseLevel) const;
58
60
61
63 void SetImplicitTranspose(bool const &implicit) {
64 implicitTranspose_ = implicit;
65 }
66
68
70 // static std::string PerfUtils::PrintMatrixInfo(const Matrix & Ac, const std::string & msgTag);
71
72 static std::string PrintLoadBalancingInfo(const Matrix &Ac, const std::string &msgTag);
73
74 private:
77
78}; // class MHDRAPFactory
79
80} // namespace MueLu
81
82#define MUELU_MHDRAPFACTORY_SHORT
83#endif // MUELU_MHDRAPFACTORY_DECL_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
MueLu::DefaultNode Node
Class that holds all level-specific information.
Factory for building coarse matrices.
void SetImplicitTranspose(bool const &implicit)
Indicate that the restriction operator action should be implicitly defined by the transpose of the pr...
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
static std::string PrintLoadBalancingInfo(const Matrix &Ac, const std::string &msgTag)
bool implicitTranspose_
If true, the action of the restriction operator action is implicitly defined by the transpose of the ...
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
Base class for factories that use two levels (fineLevel and coarseLevel).
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar