MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu_SmootherFactoryBase.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_SMOOTHERFACTORYBASE_HPP
11#define MUELU_SMOOTHERFACTORYBASE_HPP
12
13#include "MueLu_ConfigDefs.hpp"
15
16#include "MueLu_Types.hpp"
17
18namespace MueLu {
19class Level;
20
31 public:
34
37
39
40
42 virtual void Build(Level& currentLevel) const = 0;
43
44 virtual void BuildSmoother(Level& currentLevel, PreOrPost const preOrPost = BOTH) const = 0;
46
47}; // class SmootherFactoryBase
48
49} // namespace MueLu
50
51#define MUELU_SMOOTHERFACTORYBASE_SHORT
52
53#endif // ifndef MUELU_SMOOTHERFACTORYBASE_HPP
54
55// TODO: remove this interface?
Class that holds all level-specific information.
Base class for factories that use one level (currentLevel).
virtual void BuildSmoother(Level &currentLevel, PreOrPost const preOrPost=BOTH) const =0
virtual void Build(Level &currentLevel) const =0
Build pre-smoother and/or post-smoother.
Namespace for MueLu classes and methods.