MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_AggregationPhase2aAlgorithm_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_AGGREGATIONPHASE2AALGORITHM_DECL_HPP_
11
#define MUELU_AGGREGATIONPHASE2AALGORITHM_DECL_HPP_
12
13
#include "
MueLu_ConfigDefs.hpp
"
14
#include "
MueLu_AggregationAlgorithmBase.hpp
"
15
16
#include "
MueLu_AggregationPhase2aAlgorithm_fwd.hpp
"
17
18
#include "
MueLu_FactoryBase_fwd.hpp
"
19
#include "
MueLu_Aggregates_fwd.hpp
"
20
#include "MueLu_LWGraph.hpp"
21
22
namespace
MueLu
{
44
45
template
<
class
LocalOrdinal
=
DefaultLocalOrdinal
,
46
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
47
class
Node
=
DefaultNode
>
48
class
AggregationPhase2aAlgorithm
:
public
MueLu::AggregationAlgorithmBase
<LocalOrdinal, GlobalOrdinal, Node> {
49
#undef MUELU_AGGREGATIONPHASE2AALGORITHM_SHORT
50
#include "
MueLu_UseShortNamesOrdinal.hpp
"
51
52
public
:
54
55
57
AggregationPhase2aAlgorithm
(
const
RCP<const FactoryBase>&
/* graphFact */
= Teuchos::null) {}
58
60
virtual
~AggregationPhase2aAlgorithm
() {}
61
63
65
66
68
69
void
SetupPhase
(
const
ParameterList& params, Teuchos::RCP<
const
Teuchos::Comm<int>
>& comm, LO& numLocalNodes, LO& numNonAggregatedNodes)
override
;
70
71
void
BuildAggregatesNonKokkos
(
const
ParameterList& params,
const
LWGraph
& graph,
Aggregates
& aggregates,
typename
AggregationAlgorithmBase<LocalOrdinal, GlobalOrdinal, Node>::AggStatHostType
& aggStat, LO& numNonAggregatedNodes)
const override
;
72
73
void
BuildAggregates
(
const
Teuchos::ParameterList& params,
74
const
LWGraph_kokkos
& graph,
75
Aggregates
& aggregates,
76
typename
AggregationAlgorithmBase<LocalOrdinal, GlobalOrdinal, Node>::AggStatType
& aggStat,
77
LO& numNonAggregatedNodes)
const override
;
78
79
void
BuildAggregatesRandom
(
const
Teuchos::ParameterList& params,
80
const
LWGraph_kokkos
& graph,
81
Aggregates
& aggregates,
82
typename
AggregationAlgorithmBase<LocalOrdinal, GlobalOrdinal, Node>::AggStatType
& aggStat,
83
LO& numNonAggregatedNodes)
const
;
84
85
void
BuildAggregatesDeterministic
(
const
Teuchos::ParameterList& params,
86
const
LWGraph_kokkos
& graph,
87
Aggregates
& aggregates,
88
typename
AggregationAlgorithmBase<LocalOrdinal, GlobalOrdinal, Node>::AggStatType
& aggStat,
89
LO& numNonAggregatedNodes)
const
;
91
92
std::string
description
()
const override
{
return
"Phase 2a (secondary)"
; }
93
94
private
:
95
double
factorMLOverride_
= Teuchos::ScalarTraits<double>::nan();
96
};
97
98
}
// namespace MueLu
99
100
#define MUELU_AGGREGATIONPHASE2AALGORITHM_SHORT
101
102
#endif
/* MUELU_AGGREGATIONPHASE2AALGORITHM_DECL_HPP_ */
MueLu_Aggregates_fwd.hpp
MueLu_AggregationAlgorithmBase.hpp
MueLu_AggregationPhase2aAlgorithm_fwd.hpp
MueLu_ConfigDefs.hpp
MueLu_FactoryBase_fwd.hpp
LocalOrdinal
MueLu::DefaultLocalOrdinal LocalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:13
GlobalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:14
Node
MueLu::DefaultNode Node
Definition
MueLu_UseDefaultTypes.hpp:15
MueLu_UseShortNamesOrdinal.hpp
MueLu::Aggregates
Container class for aggregation information.
Definition
MueLu_Aggregates_decl.hpp:67
MueLu::AggregationAlgorithmBase
Pure virtual base class for all MueLu aggregation algorithms.
Definition
MueLu_AggregationAlgorithmBase.hpp:32
MueLu::AggregationAlgorithmBase::AggStatHostType
Kokkos::View< unsigned *, typename LWGraphHostType::device_type > AggStatHostType
Definition
MueLu_AggregationAlgorithmBase.hpp:37
MueLu::AggregationAlgorithmBase::AggStatType
Kokkos::View< unsigned *, typename LWGraphType::device_type > AggStatType
Definition
MueLu_AggregationAlgorithmBase.hpp:40
MueLu::AggregationPhase2aAlgorithm::description
std::string description() const override
Return a simple one-line description of this object.
Definition
MueLu_AggregationPhase2aAlgorithm_decl.hpp:92
MueLu::AggregationPhase2aAlgorithm::~AggregationPhase2aAlgorithm
virtual ~AggregationPhase2aAlgorithm()
Destructor.
Definition
MueLu_AggregationPhase2aAlgorithm_decl.hpp:60
MueLu::AggregationPhase2aAlgorithm::BuildAggregatesNonKokkos
void BuildAggregatesNonKokkos(const ParameterList ¶ms, const LWGraph &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatHostType &aggStat, LO &numNonAggregatedNodes) const override
Definition
MueLu_AggregationPhase2aAlgorithm_def.hpp:44
MueLu::AggregationPhase2aAlgorithm< LocalOrdinal, GlobalOrdinal, Node >::factorMLOverride_
double factorMLOverride_
Definition
MueLu_AggregationPhase2aAlgorithm_decl.hpp:95
MueLu::AggregationPhase2aAlgorithm::SetupPhase
void SetupPhase(const ParameterList ¶ms, Teuchos::RCP< const Teuchos::Comm< int > > &comm, LO &numLocalNodes, LO &numNonAggregatedNodes) override
Local aggregation.
Definition
MueLu_AggregationPhase2aAlgorithm_def.hpp:30
MueLu::AggregationPhase2aAlgorithm::BuildAggregatesDeterministic
void BuildAggregatesDeterministic(const Teuchos::ParameterList ¶ms, const LWGraph_kokkos &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatType &aggStat, LO &numNonAggregatedNodes) const
Definition
MueLu_AggregationPhase2aAlgorithm_def.hpp:307
MueLu::AggregationPhase2aAlgorithm::BuildAggregates
void BuildAggregates(const Teuchos::ParameterList ¶ms, const LWGraph_kokkos &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatType &aggStat, LO &numNonAggregatedNodes) const override
Definition
MueLu_AggregationPhase2aAlgorithm_def.hpp:169
MueLu::AggregationPhase2aAlgorithm::AggregationPhase2aAlgorithm
AggregationPhase2aAlgorithm(const RCP< const FactoryBase > &=Teuchos::null)
Constructor.
Definition
MueLu_AggregationPhase2aAlgorithm_decl.hpp:57
MueLu::AggregationPhase2aAlgorithm::BuildAggregatesRandom
void BuildAggregatesRandom(const Teuchos::ParameterList ¶ms, const LWGraph_kokkos &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatType &aggStat, LO &numNonAggregatedNodes) const
Definition
MueLu_AggregationPhase2aAlgorithm_def.hpp:186
MueLu::LWGraph_kokkos
Lightweight MueLu representation of a compressed row storage graph.
Definition
MueLu_LWGraph_kokkos_decl.hpp:30
MueLu::LWGraph
Lightweight MueLu representation of a compressed row storage graph.
Definition
MueLu_LWGraph_decl.hpp:33
Teuchos::Comm
Definition
MueLu_Memory.hpp:22
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
src
Graph
UncoupledAggregation
MueLu_AggregationPhase2aAlgorithm_decl.hpp
Generated by
1.17.0