MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_HybridAggregationFactory_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_HYBRIDAGGREGATIONFACTORY_DECL_HPP_
11
#define MUELU_HYBRIDAGGREGATIONFACTORY_DECL_HPP_
12
13
#include <Xpetra_Map_fwd.hpp>
14
15
#include "
MueLu_ConfigDefs.hpp
"
16
#include "
MueLu_SingleLevelFactoryBase.hpp
"
17
#include "
MueLu_HybridAggregationFactory_fwd.hpp
"
18
19
#include "
MueLu_AggregationAlgorithmBase.hpp
"
20
21
#include "
MueLu_Level_fwd.hpp
"
22
#include "
MueLu_LWGraph_fwd.hpp
"
23
#include "
MueLu_Aggregates_fwd.hpp
"
24
#include "
MueLu_Exceptions.hpp
"
25
26
// Uncoupled Agg
27
#include "
MueLu_InterfaceAggregationAlgorithm_fwd.hpp
"
28
#include "
MueLu_OnePtAggregationAlgorithm_fwd.hpp
"
29
#include "
MueLu_PreserveDirichletAggregationAlgorithm_fwd.hpp
"
30
31
#include "
MueLu_AggregationPhase1Algorithm_fwd.hpp
"
32
#include "
MueLu_AggregationPhase2aAlgorithm_fwd.hpp
"
33
#include "
MueLu_AggregationPhase2bAlgorithm_fwd.hpp
"
34
#include "
MueLu_AggregationPhase3Algorithm_fwd.hpp
"
35
36
// Structured Agg
37
#include "
MueLu_AggregationStructuredAlgorithm_fwd.hpp
"
38
39
namespace
MueLu
{
40
94
95
template
<
class
LocalOrdinal,
class
GlobalOrdinal,
class
Node>
96
class
HybridAggregationFactory
:
public
SingleLevelFactoryBase
{
97
#undef MUELU_HYBRIDAGGREGATIONFACTORY_SHORT
98
#include "
MueLu_UseShortNamesOrdinal.hpp
"
99
100
public
:
102
103
105
HybridAggregationFactory
();
106
108
virtual
~HybridAggregationFactory
() {}
109
110
RCP<const ParameterList>
GetValidParameterList
()
const
;
111
113
115
116
117
void
DeclareInput
(
Level
& currentLevel)
const
;
118
120
122
123
125
void
Build
(
Level
& currentLevel)
const
;
126
128
void
BuildInterfaceAggregates
(
Level
& currentLevel,
129
RCP<Aggregates> aggregates,
130
typename
AggregationAlgorithmBase<LocalOrdinal, GlobalOrdinal, Node>::AggStatHostType
& aggStat,
131
LO& numNonAggregatedNodes,
132
Array<LO> coarseRate)
const
;
133
135
136
private
:
138
// will be filled in Build routine
139
mutable
std::vector<RCP<MueLu::AggregationAlgorithmBase<LO, GO, Node> > >
algos_
;
140
144
mutable
bool
bDefinitionPhase_
;
145
146
};
// class HybridAggregationFactory
147
148
}
// namespace MueLu
149
150
#define MUELU_HYBRIDAGGREGATIONFACTORY_SHORT
151
#endif
/* MUELU_HYBRIDAGGREGATIONFACTORY_DECL_HPP_ */
MueLu_Aggregates_fwd.hpp
MueLu_AggregationAlgorithmBase.hpp
MueLu_AggregationPhase1Algorithm_fwd.hpp
MueLu_AggregationPhase2aAlgorithm_fwd.hpp
MueLu_AggregationPhase2bAlgorithm_fwd.hpp
MueLu_AggregationPhase3Algorithm_fwd.hpp
MueLu_AggregationStructuredAlgorithm_fwd.hpp
MueLu_ConfigDefs.hpp
MueLu_Exceptions.hpp
MueLu_HybridAggregationFactory_fwd.hpp
MueLu_InterfaceAggregationAlgorithm_fwd.hpp
MueLu_LWGraph_fwd.hpp
MueLu_Level_fwd.hpp
MueLu_OnePtAggregationAlgorithm_fwd.hpp
MueLu_PreserveDirichletAggregationAlgorithm_fwd.hpp
MueLu_SingleLevelFactoryBase.hpp
MueLu_UseShortNamesOrdinal.hpp
MueLu::AggregationAlgorithmBase::AggStatHostType
Kokkos::View< unsigned *, typename LWGraphHostType::device_type > AggStatHostType
Definition
MueLu_AggregationAlgorithmBase.hpp:37
MueLu::HybridAggregationFactory::~HybridAggregationFactory
virtual ~HybridAggregationFactory()
Destructor.
Definition
MueLu_HybridAggregationFactory_decl.hpp:108
MueLu::HybridAggregationFactory::algos_
std::vector< RCP< MueLu::AggregationAlgorithmBase< LO, GO, Node > > > algos_
aggregation algorithms
Definition
MueLu_HybridAggregationFactory_decl.hpp:139
MueLu::HybridAggregationFactory::GetValidParameterList
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
Definition
MueLu_HybridAggregationFactory_def.hpp:53
MueLu::HybridAggregationFactory::BuildInterfaceAggregates
void BuildInterfaceAggregates(Level ¤tLevel, RCP< Aggregates > aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatHostType &aggStat, LO &numNonAggregatedNodes, Array< LO > coarseRate) const
Specifically build aggregates along interfaces.
Definition
MueLu_HybridAggregationFactory_def.hpp:401
MueLu::HybridAggregationFactory::DeclareInput
void DeclareInput(Level ¤tLevel) const
Input.
Definition
MueLu_HybridAggregationFactory_def.hpp:121
MueLu::HybridAggregationFactory::HybridAggregationFactory
HybridAggregationFactory()
Constructor.
Definition
MueLu_HybridAggregationFactory_def.hpp:48
MueLu::HybridAggregationFactory::Build
void Build(Level ¤tLevel) const
Build aggregates.
Definition
MueLu_HybridAggregationFactory_def.hpp:198
MueLu::HybridAggregationFactory::bDefinitionPhase_
bool bDefinitionPhase_
Definition
MueLu_HybridAggregationFactory_decl.hpp:144
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
src
Graph
HybridAggregation
MueLu_HybridAggregationFactory_decl.hpp
Generated by
1.17.0