MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC > Class Template Reference

#include <MueLu_ScalarDroppingDistanceLaplacian_decl.hpp>

Inheritance diagram for MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >:
MueLu::ScalarDroppingBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Public Types

using matrix_type = Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>
using crs_matrix_type = Xpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>
using GraphType = Xpetra::CrsGraph<LocalOrdinal, GlobalOrdinal, Node>
using local_matrix_type = typename crs_matrix_type::local_matrix_device_type
using local_graph_type = typename GraphType::local_graph_device_type
using rowptr_type = typename local_graph_type::row_map_type::non_const_type
using entries_type = typename local_graph_type::entries_type::non_const_type
using values_type = typename local_matrix_type::values_type::non_const_type
using device_type = typename Node::device_type
using memory_space = typename device_type::memory_space
using results_view = Kokkos::View<DecisionType*, memory_space>
using magnitudeType = typename Teuchos::ScalarTraits<Scalar>::magnitudeType
using boundary_nodes_type = typename MueLu::LWGraph_kokkos<LocalOrdinal, GlobalOrdinal, Node>::boundary_nodes_type
using Level = MueLu::Level
Public Types inherited from MueLu::ScalarDroppingBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >
using matrix_type = Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>
using crs_matrix_type = Xpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>
using GraphType = Xpetra::CrsGraph<LocalOrdinal, GlobalOrdinal, Node>
using local_matrix_type = typename crs_matrix_type::local_matrix_device_type
using local_graph_type = typename GraphType::local_graph_device_type
using rowptr_type = typename local_graph_type::row_map_type::non_const_type
using device_type = typename Node::device_type
using memory_space = typename device_type::memory_space
using execution_space = typename local_matrix_type::execution_space
using results_view = Kokkos::View<DecisionType*, memory_space>
using Level = MueLu::Level
using range_type = Kokkos::RangePolicy<LocalOrdinal, execution_space>
using LocalOrdinalVector = Xpetra::Vector<LocalOrdinal, LocalOrdinal, GlobalOrdinal, Node>

Static Public Member Functions

template<class DistanceFunctorType>
static void runDroppingFunctors_on_dlap_inner (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, DistanceFunctorType &dist2, Level &level, const Factory &factory)
static void runDroppingFunctors_on_dlap (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, const std::string &distanceLaplacianMetric, Level &level, const Factory &factory)
Static Public Member Functions inherited from MueLu::ScalarDroppingBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >
template<class... Functors>
static void runDroppingFunctorsImpl (local_matrix_type &lclA, results_view &results, rowptr_type &filtered_rowptr, LocalOrdinal &nnz_filtered, Functors &... functors)
template<class... Functors>
static void runDroppingFunctors (matrix_type &A, results_view &results, rowptr_type &filtered_rowptr, LocalOrdinal &nnz_filtered, const bool useBlocking, Level &level, const Factory &factory, Functors &... functors)

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
class MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >

Definition at line 24 of file MueLu_ScalarDroppingDistanceLaplacian_decl.hpp.

Member Typedef Documentation

◆ matrix_type

◆ crs_matrix_type

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
using MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::crs_matrix_type = Xpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>

◆ GraphType

◆ local_matrix_type

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
using MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::local_matrix_type = typename crs_matrix_type::local_matrix_device_type

◆ local_graph_type

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
using MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::local_graph_type = typename GraphType::local_graph_device_type

◆ rowptr_type

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
using MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::rowptr_type = typename local_graph_type::row_map_type::non_const_type

◆ entries_type

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
using MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::entries_type = typename local_graph_type::entries_type::non_const_type

◆ values_type

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
using MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::values_type = typename local_matrix_type::values_type::non_const_type

◆ device_type

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
using MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::device_type = typename Node::device_type

◆ memory_space

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
using MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::memory_space = typename device_type::memory_space

◆ results_view

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
using MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::results_view = Kokkos::View<DecisionType*, memory_space>

◆ magnitudeType

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
using MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::magnitudeType = typename Teuchos::ScalarTraits<Scalar>::magnitudeType

◆ boundary_nodes_type

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
using MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::boundary_nodes_type = typename MueLu::LWGraph_kokkos<LocalOrdinal, GlobalOrdinal, Node>::boundary_nodes_type

◆ Level

Member Function Documentation

◆ runDroppingFunctors_on_dlap_inner()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
template<class DistanceFunctorType>
void MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::runDroppingFunctors_on_dlap_inner ( 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,
DistanceFunctorType & dist2,
Level & level,
const Factory & factory )
inlinestatic

◆ runDroppingFunctors_on_dlap()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, Misc::StrengthMeasure SoC>
void MueLu::ScalarDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::runDroppingFunctors_on_dlap ( 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,
const std::string & distanceLaplacianMetric,
Level & level,
const Factory & factory )
static

The documentation for this class was generated from the following files: