MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_SaPFactory_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_SAPFACTORY_DECL_HPP
11
#define MUELU_SAPFACTORY_DECL_HPP
12
13
#include <string>
14
15
#include "
MueLu_ConfigDefs.hpp
"
16
17
#include <Tpetra_KokkosCompat_ClassicNodeAPI_Wrapper.hpp>
18
19
#include "
MueLu_SaPFactory_fwd.hpp
"
20
21
#include "
MueLu_Level_fwd.hpp
"
22
#include "
MueLu_ParameterListAcceptor.hpp
"
23
#include "
MueLu_PerfUtils_fwd.hpp
"
24
#include "MueLu_PFactory.hpp"
25
#include "
MueLu_TentativePFactory_fwd.hpp
"
26
27
namespace
MueLu
{
28
58
template
<
class
Scalar
=
DefaultScalar
,
59
class
LocalOrdinal
=
DefaultLocalOrdinal
,
60
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
61
class
Node
=
DefaultNode
>
62
class
SaPFactory
:
public
PFactory
{
63
public
:
64
typedef
LocalOrdinal
local_ordinal_type
;
65
typedef
GlobalOrdinal
global_ordinal_type
;
66
typedef
typename
Node::execution_space
execution_space
;
67
typedef
Node
node_type
;
68
69
private
:
70
#undef MUELU_SAPFACTORY_SHORT
71
#include "
MueLu_UseShortNames.hpp
"
72
73
public
:
75
76
80
SaPFactory
();
81
83
virtual
~SaPFactory
();
84
85
RCP<const ParameterList>
GetValidParameterList
()
const
;
86
88
90
91
92
void
DeclareInput
(
Level
& fineLevel,
Level
& coarseLevel)
const
;
93
95
97
98
105
void
Build
(
Level
& fineLevel,
Level
& coarseLevel)
const
;
106
107
void
BuildP
(
Level
& fineLevel,
Level
& coarseLevel)
const
;
108
109
void
SatisfyPConstraintsNonKokkos
(RCP<Matrix> A, RCP<Matrix>& P)
const
;
110
111
void
optimalSatisfyPConstraintsForScalarPDEsNonKokkos
(RCP<Matrix>& P)
const
;
112
113
void
SatisfyPConstraints
(RCP<Matrix> A, RCP<Matrix>& P)
const
;
114
115
void
optimalSatisfyPConstraintsForScalarPDEs
(RCP<Matrix>& P)
const
;
116
117
bool
constrainRow
(
Scalar
* orig,
LocalOrdinal
nEntries,
Scalar
leftBound,
Scalar
rghtBound,
Scalar
rsumTarget,
Scalar
* fixedUnsorted,
Scalar
* scalarData)
const
;
118
120
};
121
122
}
// namespace MueLu
123
124
#define MUELU_SAPFACTORY_SHORT
125
#endif
// MUELU_SAPFACTORY_DECL_HPP
MueLu_ConfigDefs.hpp
MueLu_Level_fwd.hpp
MueLu_ParameterListAcceptor.hpp
MueLu_PerfUtils_fwd.hpp
MueLu_SaPFactory_fwd.hpp
MueLu_TentativePFactory_fwd.hpp
LocalOrdinal
MueLu::DefaultLocalOrdinal LocalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:13
Scalar
MueLu::DefaultScalar Scalar
Definition
MueLu_UseDefaultTypes.hpp:12
GlobalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:14
Node
MueLu::DefaultNode Node
Definition
MueLu_UseDefaultTypes.hpp:15
MueLu_UseShortNames.hpp
MueLu::Level
Class that holds all level-specific information.
Definition
MueLu_Level.hpp:63
MueLu::PFactory::PFactory
PFactory()
Constructor.
Definition
MueLu_PFactory_decl.hpp:37
MueLu::SaPFactory::SatisfyPConstraints
void SatisfyPConstraints(RCP< Matrix > A, RCP< Matrix > &P) const
Definition
MueLu_SaPFactory_def.hpp:996
MueLu::SaPFactory::Build
void Build(Level &fineLevel, Level &coarseLevel) const
Definition
MueLu_SaPFactory_def.hpp:85
MueLu::SaPFactory::~SaPFactory
virtual ~SaPFactory()
Destructor.
MueLu::SaPFactory::optimalSatisfyPConstraintsForScalarPDEsNonKokkos
void optimalSatisfyPConstraintsForScalarPDEsNonKokkos(RCP< Matrix > &P) const
Definition
MueLu_SaPFactory_def.hpp:374
MueLu::SaPFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type
GlobalOrdinal global_ordinal_type
Definition
MueLu_SaPFactory_decl.hpp:65
MueLu::SaPFactory::GetValidParameterList
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
Definition
MueLu_SaPFactory_def.hpp:42
MueLu::SaPFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::node_type
Node node_type
Definition
MueLu_SaPFactory_decl.hpp:67
MueLu::SaPFactory::optimalSatisfyPConstraintsForScalarPDEs
void optimalSatisfyPConstraintsForScalarPDEs(RCP< Matrix > &P) const
Definition
MueLu_SaPFactory_def.hpp:1008
MueLu::SaPFactory::constrainRow
bool constrainRow(Scalar *orig, LocalOrdinal nEntries, Scalar leftBound, Scalar rghtBound, Scalar rsumTarget, Scalar *fixedUnsorted, Scalar *scalarData) const
Definition
MueLu_SaPFactory_def.hpp:408
MueLu::SaPFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::execution_space
Node::execution_space execution_space
Definition
MueLu_SaPFactory_decl.hpp:66
MueLu::SaPFactory::SaPFactory
SaPFactory()
Constructor. User can supply a factory for generating the tentative prolongator.
MueLu::SaPFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type
LocalOrdinal local_ordinal_type
Definition
MueLu_SaPFactory_decl.hpp:64
MueLu::SaPFactory::BuildP
void BuildP(Level &fineLevel, Level &coarseLevel) const
Abstract Build method.
Definition
MueLu_SaPFactory_def.hpp:90
MueLu::SaPFactory::SatisfyPConstraintsNonKokkos
void SatisfyPConstraintsNonKokkos(RCP< Matrix > A, RCP< Matrix > &P) const
Definition
MueLu_SaPFactory_def.hpp:299
MueLu::SaPFactory::DeclareInput
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
Definition
MueLu_SaPFactory_def.hpp:72
MueLu
Namespace for MueLu classes and methods.
Definition
MueLu_BrickAggregationFactory_decl.hpp:42
MueLu::DefaultNode
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Definition
MueLu_Details_DefaultTypes.hpp:32
MueLu::DefaultGlobalOrdinal
int DefaultGlobalOrdinal
Definition
MueLu_Details_DefaultTypes.hpp:29
MueLu::DefaultLocalOrdinal
int DefaultLocalOrdinal
Definition
MueLu_Details_DefaultTypes.hpp:22
MueLu::DefaultScalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
Definition
MueLu_Details_DefaultTypes.hpp:20
src
Transfers
Smoothed-Aggregation
MueLu_SaPFactory_decl.hpp
Generated by
1.17.0