MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_RegionRFactory_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_REGIONRFACTORY_DECL_HPP
11 #define MUELU_REGIONRFACTORY_DECL_HPP
12 
13 #include "MueLu_ConfigDefs.hpp"
14 
17 
18 namespace MueLu {
19 
25 template <class Scalar = DefaultScalar,
28  class Node = DefaultNode>
30 #undef MUELU_REGIONRFACTORY_SHORT
31 #include "MueLu_UseShortNames.hpp"
32 
33  public:
36 
38 
39 
41  RegionRFactory() = default;
42 
44  virtual ~RegionRFactory() = default;
46 
48 
50 
51  void DeclareInput(Level& fineLevel, Level& coarseLevel) const;
52 
54 
56 
57 
58  void Build(Level& fineLevel, Level& coarseLevel) const;
59 
60  void Build3D(const int numDimensions,
61  Array<LO>& lFineNodesPerDim,
62  const RCP<Matrix>& A,
63  const RCP<realvaluedmultivector_type>& fineCoordinates,
64  RCP<Matrix>& R,
65  RCP<realvaluedmultivector_type>& coarseCoordinates,
66  Array<LO>& lCoarseNodesPerDim) const;
67 
69 
70 }; // class RegionRFactory
71 
72 } // namespace MueLu
73 
74 #define MUELU_REGIONRFACTORY_SHORT
75 #endif // MUELU_REGIONRFACTORY_DECL_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Factory that builds a restriction operator for region multigrid.
Base class for factories that use two levels (fineLevel and coarseLevel).
typename Xpetra::MultiVector< real_type, LO, GO, NO > realvaluedmultivector_type
MueLu::DefaultNode Node
MueLu::DefaultScalar Scalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
Definition: MueLu_Level.hpp:63
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
RegionRFactory()=default
Default Constructor.
virtual ~RegionRFactory()=default
Destructor.
void Build3D(const int numDimensions, Array< LO > &lFineNodesPerDim, const RCP< Matrix > &A, const RCP< realvaluedmultivector_type > &fineCoordinates, RCP< Matrix > &R, RCP< realvaluedmultivector_type > &coarseCoordinates, Array< LO > &lCoarseNodesPerDim) const
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
typename Teuchos::ScalarTraits< SC >::coordinateType real_type
RCP< const ParameterList > GetValidParameterList() const
Input.