MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu_MapTransferFactory_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_MAPTRANSFERFACTORY_DECL_HPP_
11#define MUELU_MAPTRANSFERFACTORY_DECL_HPP_
12
13#include "MueLu_ConfigDefs.hpp"
15
16namespace MueLu {
17
53template <class Scalar = DefaultScalar,
56 class Node = DefaultNode>
58#undef MUELU_MAPTRANSFERFACTORY_SHORT
60
61 public:
63
64
65 RCP<const ParameterList> GetValidParameterList() const override;
66
67 void DeclareInput(Level& fineLevel, Level& coarseLevel) const override;
68
70
72
73
75 void Build(Level& fineLevel, Level& coarseLevel) const override;
76
78
79 private:
91 int GetLimitOfProlongatorColumns(const ParameterList& pL) const;
92
94 mutable RCP<const FactoryBase> mapFact_;
95
96}; // class MapTransferFactory
97
98} // namespace MueLu
99
100#define MUELU_MAPTRANSFERFACTORY_SHORT
101#endif /* MUELU_MAPTRANSFERFACTORY_DECL_HPP_ */
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
MueLu::DefaultNode Node
Class that holds all level-specific information.
Factory to transfer a map from a fine to a coarse level.
int GetLimitOfProlongatorColumns(const ParameterList &pL) const
Get the max number of entries per row of P to be considered for map transfer.
void DeclareInput(Level &fineLevel, Level &coarseLevel) const override
Input.
RCP< const FactoryBase > mapFact_
Generating factory of input variable.
void Build(Level &fineLevel, Level &coarseLevel) const override
Build an object with this factory.
RCP< const ParameterList > GetValidParameterList() const override
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