MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_AggregationAlgorithmBase.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_AGGREGATIONALGORITHMBASE_HPP_
11
#define MUELU_AGGREGATIONALGORITHMBASE_HPP_
12
13
#include "
MueLu_ConfigDefs.hpp
"
14
#include "
MueLu_BaseClass.hpp
"
15
16
#include "
MueLu_Aggregates_fwd.hpp
"
17
#include "MueLu_LWGraph.hpp"
18
#include "MueLu_LWGraph_kokkos.hpp"
19
#include "
MueLu_Types.hpp
"
20
21
namespace
MueLu
{
22
29
template
<
class
LocalOrdinal
=
DefaultLocalOrdinal
,
30
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
31
class
Node
=
DefaultNode
>
32
class
AggregationAlgorithmBase
:
public
BaseClass
{
33
#undef MUELU_AGGREGATIONALGORITHMBASE_SHORT
34
#include "
MueLu_UseShortNamesOrdinal.hpp
"
35
public
:
36
using
LWGraphHostType
=
LWGraph
;
37
using
AggStatHostType
= Kokkos::View<unsigned*, typename LWGraphHostType::device_type>;
38
39
using
LWGraphType
=
LWGraph_kokkos
;
40
using
AggStatType
= Kokkos::View<unsigned*, typename LWGraphType::device_type>;
41
43
44
46
virtual
~AggregationAlgorithmBase
() {}
47
49
51
52
58
virtual
void
SetupPhase
(
const
ParameterList& params, Teuchos::RCP<
const
Teuchos::Comm<int>
>& comm, LO& numLocalNodes, LO& numNonAggregatedNodes){};
59
61
virtual
void
BuildAggregatesNonKokkos
(
const
Teuchos::ParameterList& params,
62
const
LWGraphHostType
& graph,
63
Aggregates
& aggregates,
64
AggStatHostType
& aggStat,
65
LO& numNonAggregatedNodes)
const
= 0;
66
68
virtual
void
BuildAggregates
(
const
Teuchos::ParameterList& params,
69
const
LWGraphType
& graph,
70
Aggregates
& aggregates,
71
AggStatType
& aggStat,
72
LO& numNonAggregatedNodes)
const
= 0;
74
};
75
76
}
// namespace MueLu
77
78
#define MUELU_AGGREGATIONALGORITHMBASE_SHORT
79
#endif
/* MUELU_AGGREGATIONALGORITHMBASE_HPP_ */
MueLu_Aggregates_fwd.hpp
MueLu_BaseClass.hpp
MueLu_ConfigDefs.hpp
MueLu_Types.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::LWGraphHostType
LWGraph LWGraphHostType
Definition
MueLu_AggregationAlgorithmBase.hpp:36
MueLu::AggregationAlgorithmBase::BuildAggregates
virtual void BuildAggregates(const Teuchos::ParameterList ¶ms, const LWGraphType &graph, Aggregates &aggregates, AggStatType &aggStat, LO &numNonAggregatedNodes) const =0
BuildAggregates routine.
MueLu::AggregationAlgorithmBase::SetupPhase
virtual void SetupPhase(const ParameterList ¶ms, Teuchos::RCP< const Teuchos::Comm< int > > &comm, LO &numLocalNodes, LO &numNonAggregatedNodes)
Definition
MueLu_AggregationAlgorithmBase.hpp:58
MueLu::AggregationAlgorithmBase::LWGraphType
LWGraph_kokkos LWGraphType
Definition
MueLu_AggregationAlgorithmBase.hpp:39
MueLu::AggregationAlgorithmBase::BuildAggregatesNonKokkos
virtual void BuildAggregatesNonKokkos(const Teuchos::ParameterList ¶ms, const LWGraphHostType &graph, Aggregates &aggregates, AggStatHostType &aggStat, LO &numNonAggregatedNodes) const =0
BuildAggregatesNonKokkos routine.
MueLu::AggregationAlgorithmBase::~AggregationAlgorithmBase
virtual ~AggregationAlgorithmBase()
Destructor.
Definition
MueLu_AggregationAlgorithmBase.hpp:46
MueLu::AggregationAlgorithmBase::AggStatType
Kokkos::View< unsigned *, typename LWGraphType::device_type > AggStatType
Definition
MueLu_AggregationAlgorithmBase.hpp:40
MueLu::BaseClass
Base class for MueLu classes.
Definition
MueLu_BaseClass.hpp:27
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
MueLu_AggregationAlgorithmBase.hpp
Generated by
1.17.0