MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu_InverseApproximationFactory_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_INVERSEAPPROXIMATIONFACTORY_DECL_HPP_
11#define MUELU_INVERSEAPPROXIMATIONFACTORY_DECL_HPP_
12
13#include "MueLu_ConfigDefs.hpp"
14
15#include <Teuchos_ParameterList.hpp>
16
17#include <Xpetra_CrsMatrix_fwd.hpp>
18#include <Xpetra_Map_fwd.hpp>
19
23
24namespace MueLu {
25
59template <class Scalar = DefaultScalar,
62 class Node = DefaultNode>
64#undef MUELU_INVERSEAPPROXIMATIONFACTORY_SHORT
66
67 public:
69
70
73
75
76
77 void DeclareInput(Level& currentLevel) const;
78
79 RCP<const ParameterList> GetValidParameterList() const;
80
82
84
85
87 void Build(Level& currentLevel) const;
88
90
91 private:
93 RCP<Matrix> GetSparseInverse(const RCP<Matrix>& A, const RCP<const CrsGraph>& sparsityPattern) const;
94
95}; // class InverseApproximationFactory
96
97} // namespace MueLu
98
99#define MUELU_INVERSEAPPROXIMATIONFACTORY_SHORT
100#endif /* MUELU_INVERSEAPPROXIMATIONFACTORY_DECL_HPP_ */
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
MueLu::DefaultNode Node
Factory for building the approximate inverse of a matrix.
InverseApproximationFactory()=default
Constructor.
void Build(Level &currentLevel) const
Build an object with this factory.
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
RCP< Matrix > GetSparseInverse(const RCP< Matrix > &A, const RCP< const CrsGraph > &sparsityPattern) const
Sparse inverse calculation method.
Class that holds all level-specific information.
Base class for factories that use one level (currentLevel).
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar