MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_ScalarDroppingClassical_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_SCALARDROPPINGCLASSICAL_DECL_HPP
11
#define MUELU_SCALARDROPPINGCLASSICAL_DECL_HPP
12
13
#include "
MueLu_ScalarDroppingBase.hpp
"
14
#include "
MueLu_ClassicalDropping.hpp
"
15
#include "
MueLu_CutDrop.hpp
"
16
#include "
MueLu_DroppingCommon.hpp
"
17
#include "
MueLu_MatrixConstruction.hpp
"
18
#include "MueLu_Utilities.hpp"
19
#include "MueLu_LWGraph_kokkos.hpp"
20
21
namespace
MueLu
{
22
23
template
<
class
Scalar,
class
LocalOrdinal,
class
GlobalOrdinal,
class
Node, Misc::StrengthMeasure SoC>
24
class
ScalarDroppingClassical
:
private
ScalarDroppingBase
<Scalar, LocalOrdinal, GlobalOrdinal, Node> {
25
public
:
26
using
matrix_type
= Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
27
using
crs_matrix_type
= Xpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>;
28
using
GraphType
= Xpetra::CrsGraph<LocalOrdinal, GlobalOrdinal, Node>;
29
using
local_matrix_type
=
typename
crs_matrix_type::local_matrix_device_type;
30
using
local_graph_type
=
typename
GraphType::local_graph_device_type;
31
using
rowptr_type
=
typename
local_graph_type::row_map_type::non_const_type;
32
using
device_type
=
typename
Node::device_type;
33
using
memory_space
=
typename
device_type::memory_space;
34
using
results_view
= Kokkos::View<DecisionType*, memory_space>;
35
using
magnitudeType
=
typename
Teuchos::ScalarTraits<Scalar>::magnitudeType;
36
using
boundary_nodes_type
=
typename
MueLu::LWGraph_kokkos<LocalOrdinal, GlobalOrdinal, Node>::boundary_nodes_type
;
37
using
Level
=
MueLu::Level
;
38
39
static
void
runDroppingFunctors_on_A
(
matrix_type
& A,
40
results_view
& results,
41
rowptr_type
& filtered_rowptr,
42
LocalOrdinal
& nnz_filtered,
43
boundary_nodes_type
& boundaryNodes,
44
const
std::string& droppingMethod,
45
const
magnitudeType
threshold,
46
const
bool
aggregationMayCreateDirichlet,
47
const
bool
symmetrizeDroppedGraph,
48
const
bool
useBlocking,
49
Level
& level,
50
const
Factory
& factory);
51
};
52
53
}
// namespace MueLu
54
#endif
MueLu_ClassicalDropping.hpp
MueLu_CutDrop.hpp
MueLu_DroppingCommon.hpp
MueLu_MatrixConstruction.hpp
MueLu_ScalarDroppingBase.hpp
LocalOrdinal
MueLu::DefaultLocalOrdinal LocalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:13
MueLu::Factory
Definition
MueLu_Factory.hpp:33
MueLu::LWGraphBase< LocalOrdinal, GlobalOrdinal, Node, false >::boundary_nodes_type
Kokkos::View< bool *, memory_space > boundary_nodes_type
Definition
MueLu_LWGraphBase.hpp:95
MueLu::Level
Class that holds all level-specific information.
Definition
MueLu_Level.hpp:63
MueLu::ScalarDroppingBase
Definition
MueLu_ScalarDroppingBase.hpp:22
MueLu::ScalarDroppingClassical
Definition
MueLu_ScalarDroppingClassical_decl.hpp:24
MueLu::ScalarDroppingClassical::matrix_type
Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > matrix_type
Definition
MueLu_ScalarDroppingClassical_decl.hpp:26
MueLu::ScalarDroppingClassical::magnitudeType
typename Teuchos::ScalarTraits< Scalar >::magnitudeType magnitudeType
Definition
MueLu_ScalarDroppingClassical_decl.hpp:35
MueLu::ScalarDroppingClassical::boundary_nodes_type
typename MueLu::LWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Node >::boundary_nodes_type boundary_nodes_type
Definition
MueLu_ScalarDroppingClassical_decl.hpp:36
MueLu::ScalarDroppingClassical::memory_space
typename device_type::memory_space memory_space
Definition
MueLu_ScalarDroppingClassical_decl.hpp:33
MueLu::ScalarDroppingClassical::crs_matrix_type
Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > crs_matrix_type
Definition
MueLu_ScalarDroppingClassical_decl.hpp:27
MueLu::ScalarDroppingClassical::local_graph_type
typename GraphType::local_graph_device_type local_graph_type
Definition
MueLu_ScalarDroppingClassical_decl.hpp:30
MueLu::ScalarDroppingClassical::runDroppingFunctors_on_A
static void runDroppingFunctors_on_A(matrix_type &A, results_view &results, rowptr_type &filtered_rowptr, LocalOrdinal &nnz_filtered, boundary_nodes_type &boundaryNodes, const std::string &droppingMethod, const magnitudeType threshold, const bool aggregationMayCreateDirichlet, const bool symmetrizeDroppedGraph, const bool useBlocking, Level &level, const Factory &factory)
Definition
MueLu_ScalarDroppingClassical_def.hpp:18
MueLu::ScalarDroppingClassical::Level
MueLu::Level Level
Definition
MueLu_ScalarDroppingClassical_decl.hpp:37
MueLu::ScalarDroppingClassical::local_matrix_type
typename crs_matrix_type::local_matrix_device_type local_matrix_type
Definition
MueLu_ScalarDroppingClassical_decl.hpp:29
MueLu::ScalarDroppingClassical::rowptr_type
typename local_graph_type::row_map_type::non_const_type rowptr_type
Definition
MueLu_ScalarDroppingClassical_decl.hpp:31
MueLu::ScalarDroppingClassical::results_view
Kokkos::View< DecisionType *, memory_space > results_view
Definition
MueLu_ScalarDroppingClassical_decl.hpp:34
MueLu::ScalarDroppingClassical::device_type
typename Node::device_type device_type
Definition
MueLu_ScalarDroppingClassical_decl.hpp:32
MueLu::ScalarDroppingClassical::GraphType
Xpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > GraphType
Definition
MueLu_ScalarDroppingClassical_decl.hpp:28
MueLu
Namespace for MueLu classes and methods.
Definition
MueLu_BrickAggregationFactory_decl.hpp:42
src
Graph
MatrixTransformation
MueLu_ScalarDroppingClassical_decl.hpp
Generated by
1.17.0