MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_FilteredAFactory_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_FILTEREDAFACTORY_DECL_HPP
11
#define MUELU_FILTEREDAFACTORY_DECL_HPP
12
13
#include <string>
14
15
#include "
MueLu_ConfigDefs.hpp
"
16
#include "
MueLu_FilteredAFactory_fwd.hpp
"
17
18
#include "MueLu_LWGraph.hpp"
19
#include "
MueLu_Level_fwd.hpp
"
20
#include "
MueLu_SingleLevelFactoryBase.hpp
"
21
#include "
MueLu_AmalgamationInfo_fwd.hpp
"
22
#include "
MueLu_Aggregates_fwd.hpp
"
23
namespace
MueLu
{
24
29
30
template
<
class
Scalar
=
DefaultScalar
,
31
class
LocalOrdinal
=
DefaultLocalOrdinal
,
32
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
33
class
Node
=
DefaultNode
>
34
class
FilteredAFactory
:
public
SingleLevelFactoryBase
{
35
#undef MUELU_FILTEREDAFACTORY_SHORT
36
#include "
MueLu_UseShortNames.hpp
"
37
38
public
:
40
41
42
FilteredAFactory
() {}
43
45
virtual
~FilteredAFactory
() {}
46
47
RCP<const ParameterList>
GetValidParameterList
()
const
;
48
50
52
53
54
void
DeclareInput
(
Level
& currentLevel)
const
;
55
57
59
60
66
void
Build
(
Level
& currentLevel)
const
;
67
69
private
:
70
void
BuildReuse
(
const
Matrix& A,
const
LWGraph
& G,
const
bool
lumping,
double
dirichletThresh, Matrix& filteredA)
const
;
71
void
BuildNew
(
const
Matrix& A,
const
LWGraph
& G,
const
bool
lumping,
double
dirichletThresh, Matrix& filteredA)
const
;
72
void
BuildNewUsingRootStencil
(
const
Matrix& A,
const
LWGraph
& G,
double
dirichletThresh,
Level
& currentLevel, Matrix& filteredA,
bool
use_spread_lumping,
double
DdomAllowGrowthRate,
double
DdomCap)
const
;
73
void
ExperimentalLumping
(
const
Matrix& A, Matrix& filteredA,
double
rho,
double
rho2)
const
;
74
75
};
// class FilteredAFactory
76
77
}
// namespace MueLu
78
79
#define MUELU_FILTEREDAFACTORY_SHORT
80
#endif
// MUELU_FILTEREDAFACTORY_DECL_HPP
MueLu_Aggregates_fwd.hpp
MueLu_AmalgamationInfo_fwd.hpp
MueLu_ConfigDefs.hpp
MueLu_FilteredAFactory_fwd.hpp
MueLu_Level_fwd.hpp
MueLu_SingleLevelFactoryBase.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::FilteredAFactory::BuildNewUsingRootStencil
void BuildNewUsingRootStencil(const Matrix &A, const LWGraph &G, double dirichletThresh, Level ¤tLevel, Matrix &filteredA, bool use_spread_lumping, double DdomAllowGrowthRate, double DdomCap) const
Definition
MueLu_FilteredAFactory_def.hpp:414
MueLu::FilteredAFactory::BuildNew
void BuildNew(const Matrix &A, const LWGraph &G, const bool lumping, double dirichletThresh, Matrix &filteredA) const
Definition
MueLu_FilteredAFactory_def.hpp:319
MueLu::FilteredAFactory::GetValidParameterList
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
Definition
MueLu_FilteredAFactory_def.hpp:39
MueLu::FilteredAFactory::FilteredAFactory
FilteredAFactory()
Definition
MueLu_FilteredAFactory_decl.hpp:42
MueLu::FilteredAFactory::~FilteredAFactory
virtual ~FilteredAFactory()
Destructor.
Definition
MueLu_FilteredAFactory_decl.hpp:45
MueLu::FilteredAFactory::DeclareInput
void DeclareInput(Level ¤tLevel) const
Input.
Definition
MueLu_FilteredAFactory_def.hpp:65
MueLu::FilteredAFactory::BuildReuse
void BuildReuse(const Matrix &A, const LWGraph &G, const bool lumping, double dirichletThresh, Matrix &filteredA) const
Definition
MueLu_FilteredAFactory_def.hpp:210
MueLu::FilteredAFactory::ExperimentalLumping
void ExperimentalLumping(const Matrix &A, Matrix &filteredA, double rho, double rho2) const
Definition
MueLu_FilteredAFactory_def.hpp:737
MueLu::FilteredAFactory::Build
void Build(Level ¤tLevel) const
Build method.
Definition
MueLu_FilteredAFactory_def.hpp:77
MueLu::LWGraph
Lightweight MueLu representation of a compressed row storage graph.
Definition
MueLu_LWGraph_decl.hpp:33
MueLu::Level
Class that holds all level-specific information.
Definition
MueLu_Level.hpp:63
MueLu::SingleLevelFactoryBase::SingleLevelFactoryBase
SingleLevelFactoryBase()
Constructor.
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
Misc
MueLu_FilteredAFactory_decl.hpp
Generated by
1.17.0