MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu_ToggleCoordinatesTransferFactory_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_TOGGLECOORDINATESTRANSFER_FACTORY_DECL_HPP
11#define MUELU_TOGGLECOORDINATESTRANSFER_FACTORY_DECL_HPP
12
13#include "MueLu_ConfigDefs.hpp"
15
17
18namespace MueLu {
19
25template <class Scalar = DefaultScalar,
28 class Node = DefaultNode>
30#undef MUELU_TOGGLECOORDINATESTRANSFERFACTORY_SHORT
32
33 public:
35
36
47
50
51 RCP<const ParameterList> GetValidParameterList() const;
52
54
56
57
63 void DeclareInput(Level &finelevel, Level &coarseLevel) const;
64
66
68
69
71 void Build(Level &fineLevel, Level &coarseLevel) const;
72
74
76
77
79 void AddCoordTransferFactory(const RCP<const FactoryBase> &factory);
80
82 size_t NumCoordTransferFactories() const { return coordFacts_.size(); }
84
85 private:
87 mutable std::vector<RCP<const FactoryBase> > coordFacts_;
88
89 mutable bool hasDeclaredInput_;
90}; // class ToggleCoordinatesTransferFactory
91
92} // namespace MueLu
93
94#define MUELU_TOGGLECOORDINATESTRANSFERFACTORY_SHORT
95#endif // MUELU_TOGGLECOORDINATESTRANSFER_FACTORY_DECL_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
MueLu::DefaultNode Node
Class that holds all level-specific information.
Class for transferring coordinates from a finer level to a coarser one.
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
void AddCoordTransferFactory(const RCP< const FactoryBase > &factory)
Add a coordinate transfer factory in the end of list of coordinate transfer factories.
size_t NumCoordTransferFactories() const
Returns number of coordinate transfer factories.
std::vector< RCP< const FactoryBase > > coordFacts_
list of user-defined transfer coordinate factories which provide coordinates on the coarse level!
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
void DeclareInput(Level &finelevel, Level &coarseLevel) const
Specifies the data that this class needs, and the factories that generate that data.
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