MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu_TopSmootherFactory_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/*
11 * MueLu_TopSmootherFactory_decl.hpp
12 *
13 * Created on: Jan 25, 2016
14 * Author: tawiesn
15 */
16
17#ifndef PACKAGES_MUELU_SRC_MUECENTRAL_MUELU_TOPSMOOTHERFACTORY_DECL_HPP_
18#define PACKAGES_MUELU_SRC_MUECENTRAL_MUELU_TOPSMOOTHERFACTORY_DECL_HPP_
19
20#include "MueLu_ConfigDefs.hpp"
21
23#include "MueLu_Level_fwd.hpp"
28//#include "MueLu_TwoLevelFactoryBase.hpp"
29//#include "MueLu_Hierarchy_fwd.hpp"
30//#include "MueLu_HierarchyManager_fwd.hpp"
31
32namespace MueLu {
33
34template <class Scalar = DefaultScalar,
37 class Node = DefaultNode>
38class TopSmootherFactory : public SingleLevelFactoryBase { // TODO: inherit from SmootherFactoryBase ?
39#undef MUELU_TOPSMOOTHERFACTORY_SHORT
41
42 public:
43 TopSmootherFactory(RCP<const FactoryManagerBase> parentFactoryManager, const std::string& varName);
44
45 virtual ~TopSmootherFactory();
46
47 void DeclareInput(Level& level) const;
48
49 void Build(Level& level) const;
50
51 private:
52 RCP<const FactoryBase> preSmootherFact_;
53 RCP<const FactoryBase> postSmootherFact_;
54};
55
56} // namespace MueLu
57
58#define MUELU_TOPSMOOTHERFACTORY_SHORT
59#endif /* PACKAGES_MUELU_SRC_MUECENTRAL_MUELU_TOPSMOOTHERFACTORY_DECL_HPP_ */
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
MueLu::DefaultNode Node
Class that holds all level-specific information.
Base class for factories that use one level (currentLevel).
void Build(Level &level) const
Build an object with this factory.
void DeclareInput(Level &level) const
Specifies the data that this class needs, and the factories that generate that data.
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar