MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_OnePtAggregationAlgorithm_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 /*
11  * MueLu_OnePtAggregationAlgorithm_decl.hpp
12  *
13  * Created on: Sep 18, 2012
14  * Author: Tobias Wiesner
15  */
16 
17 #ifndef MUELU_ONEPTAGGREGATIONALGORITHM_DECL_HPP_
18 #define MUELU_ONEPTAGGREGATIONALGORITHM_DECL_HPP_
19 
20 #include "MueLu_ConfigDefs.hpp"
23 
25 #include "MueLu_Aggregates_fwd.hpp"
26 
27 #include "MueLu_LWGraph.hpp"
28 
29 namespace MueLu {
48 template <class LocalOrdinal = DefaultLocalOrdinal,
50  class Node = DefaultNode>
51 class OnePtAggregationAlgorithm : public MueLu::AggregationAlgorithmBase<LocalOrdinal, GlobalOrdinal, Node> {
52 #undef MUELU_ONEPTAGGREGATIONALGORITHM_SHORT
54 
55  public:
57 
58 
60  OnePtAggregationAlgorithm(RCP<const FactoryBase> const& graphFact = Teuchos::null);
61 
64 
66 
68 
69 
72  void BuildAggregatesNonKokkos(Teuchos::ParameterList const& params, LWGraph const& graph, Aggregates& aggregates, typename AggregationAlgorithmBase<LocalOrdinal, GlobalOrdinal, Node>::AggStatHostType& aggStat, LO& numNonAggregatedNodes) const;
73 
74  void BuildAggregates(Teuchos::ParameterList const& params,
75  LWGraph_kokkos const& graph,
76  Aggregates& aggregates,
78  LO& numNonAggregatedNodes) const;
80 
81 }; // class OnePtAggregationAlgorithm
82 
83 } // namespace MueLu
84 
85 #define MUELU_ONEPTAGGREGATIONALGORITHM_SHORT
86 #endif /* MUELU_ONEPTAGGREGATIONALGORITHM_DECL_HPP_ */
Kokkos::View< unsigned *, typename LWGraphHostType::device_type > AggStatHostType
Algorithm for coarsening a graph with uncoupled aggregation. keep special marked nodes as singleton n...
void BuildAggregatesNonKokkos(Teuchos::ParameterList const &params, LWGraph const &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatHostType &aggStat, LO &numNonAggregatedNodes) const
Local aggregation.
MueLu::DefaultLocalOrdinal LocalOrdinal
Lightweight MueLu representation of a compressed row storage graph.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Container class for aggregation information.
Pure virtual base class for all MueLu aggregation algorithms.
LocalOrdinal LO
MueLu::DefaultNode Node
OnePtAggregationAlgorithm(RCP< const FactoryBase > const &graphFact=Teuchos::null)
Constructor.
MueLu::DefaultGlobalOrdinal GlobalOrdinal
void BuildAggregates(Teuchos::ParameterList const &params, LWGraph_kokkos const &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatType &aggStat, LO &numNonAggregatedNodes) const
Lightweight MueLu representation of a compressed row storage graph.
Kokkos::View< unsigned *, typename LWGraphType::device_type > AggStatType