MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_InterfaceAggregationAlgorithm_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_InterfaceAggregationAlgorithm_decl.hpp
12  *
13  * Created on: Sep 18, 2012
14  * Author: Tobias Wiesner
15  */
16 
17 #ifndef MUELU_INTERFACEAGGREGATIONALGORITHM_DECL_HPP_
18 #define MUELU_INTERFACEAGGREGATIONALGORITHM_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 {
45 template <class LocalOrdinal = DefaultLocalOrdinal,
47  class Node = DefaultNode>
48 class InterfaceAggregationAlgorithm : public MueLu::AggregationAlgorithmBase<LocalOrdinal, GlobalOrdinal, Node> {
49 #undef MUELU_INTERFACEAGGREGATIONALGORITHM_SHORT
51 
52  public:
54 
55 
57  InterfaceAggregationAlgorithm(RCP<const FactoryBase> const& graphFact = Teuchos::null);
58 
61 
63 
65 
66 
69  void BuildAggregatesNonKokkos(Teuchos::ParameterList const& params, LWGraph const& graph, Aggregates& aggregates, typename AggregationAlgorithmBase<LocalOrdinal, GlobalOrdinal, Node>::AggStatHostType& aggStat, LO& numNonAggregatedNodes) const;
70 
71  void BuildAggregates(const Teuchos::ParameterList& params,
72  const LWGraph_kokkos& graph,
73  Aggregates& aggregates,
75  LO& numNonAggregatedNodes) const;
77 
78 }; // class InterfaceAggregationAlgorithm
79 
80 } // namespace MueLu
81 
82 #define MUELU_INTERFACEAGGREGATIONALGORITHM_SHORT
83 #endif /* MUELU_INTERFACEAGGREGATIONALGORITHM_DECL_HPP_ */
Kokkos::View< unsigned *, typename LWGraphHostType::device_type > AggStatHostType
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
Algorithm for coarsening a graph with uncoupled aggregation. creates aggregates along an interface us...
void BuildAggregates(const Teuchos::ParameterList &params, const LWGraph_kokkos &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatType &aggStat, LO &numNonAggregatedNodes) const
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Lightweight MueLu representation of a compressed row storage graph.
InterfaceAggregationAlgorithm(RCP< const FactoryBase > const &graphFact=Teuchos::null)
Constructor.
void BuildAggregatesNonKokkos(Teuchos::ParameterList const &params, LWGraph const &graph, Aggregates &aggregates, typename AggregationAlgorithmBase< LocalOrdinal, GlobalOrdinal, Node >::AggStatHostType &aggStat, LO &numNonAggregatedNodes) const
Local aggregation.
Kokkos::View< unsigned *, typename LWGraphType::device_type > AggStatType