MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC > Class Template Reference

#include <MueLu_VectorDroppingDistanceLaplacian_decl.hpp>

Inheritance diagram for MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >:
MueLu::VectorDroppingBase< 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_type
 
using local_graph_type = typename GraphType::local_graph_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 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
 
using nnz_count_type = Kokkos::pair< LocalOrdinal, LocalOrdinal >
 
using block_indices_view_type = typename Kokkos::View< LocalOrdinal *, typename Node::device_type >
 
- Public Types inherited from MueLu::VectorDroppingBase< 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_type
 
using local_graph_type = typename GraphType::local_graph_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 >
 
using nnz_count_type = Kokkos::pair< LocalOrdinal, LocalOrdinal >
 
using block_indices_view_type = typename Kokkos::View< LocalOrdinal *, typename Node::device_type >
 

Static Public Member Functions

template<class DistanceFunctorType >
static void runDroppingFunctors_on_dlap_inner (matrix_type &A, matrix_type &mergedA, typename matrix_type::local_ordinal_type blkPartSize, block_indices_view_type &rowTranslation, block_indices_view_type &colTranslation, results_view &results, rowptr_type &filtered_rowptr, rowptr_type &graph_rowptr, nnz_count_type &nnz, 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, matrix_type &mergedA, LocalOrdinal blkPartSize, block_indices_view_type &rowTranslation, block_indices_view_type &colTranslation, results_view &results, rowptr_type &filtered_rowptr, rowptr_type &graph_rowptr, nnz_count_type &nnz, boundary_nodes_type &boundaryNodes, const std::string &droppingMethod, const magnitudeType threshold, const bool aggregationMayCreateDirichlet, const bool symmetrizeDroppedGraph, const bool useBlocking, const std::string &distanceLaplacianMetric, Teuchos::Array< double > &dlap_weights, LocalOrdinal interleaved_blocksize, Level &level, const Factory &factory)
 
- Static Public Member Functions inherited from MueLu::VectorDroppingBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >
template<class... Functors>
static void runDroppingFunctorsImpl (local_matrix_type &lclA, typename matrix_type::local_ordinal_type &blkPartSize, block_indices_view_type &colTranslation, results_view &results, rowptr_type &filtered_rowptr, rowptr_type &graph_rowptr, nnz_count_type &nnz, Functors &...functors)
 
template<class... Functors>
static void runDroppingFunctors (matrix_type &A, matrix_type &mergedA, typename matrix_type::local_ordinal_type &blkPartSize, block_indices_view_type &rowTranslation, block_indices_view_type &colTranslation, results_view &results, rowptr_type &filtered_rowptr, rowptr_type &graph_rowptr, nnz_count_type &nnz, 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::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >

Definition at line 25 of file MueLu_VectorDroppingDistanceLaplacian_decl.hpp.

Member Typedef Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::matrix_type = Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::crs_matrix_type = Xpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::GraphType = Xpetra::CrsGraph<LocalOrdinal, GlobalOrdinal, Node>
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::local_matrix_type = typename crs_matrix_type::local_matrix_type
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::local_graph_type = typename GraphType::local_graph_type
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::rowptr_type = typename local_graph_type::row_map_type::non_const_type
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::device_type = typename Node::device_type
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::memory_space = typename device_type::memory_space
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::results_view = Kokkos::View<DecisionType*, memory_space>
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::magnitudeType = typename Teuchos::ScalarTraits<Scalar>::magnitudeType
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::boundary_nodes_type = typename MueLu::LWGraph_kokkos<LocalOrdinal, GlobalOrdinal, Node>::boundary_nodes_type
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::Level = MueLu::Level
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::nnz_count_type = Kokkos::pair<LocalOrdinal, LocalOrdinal>
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
using MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::block_indices_view_type = typename Kokkos::View<LocalOrdinal*, typename Node::device_type>

Member Function Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
template<class DistanceFunctorType >
static void MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::runDroppingFunctors_on_dlap_inner ( matrix_type A,
matrix_type mergedA,
typename matrix_type::local_ordinal_type  blkPartSize,
block_indices_view_type rowTranslation,
block_indices_view_type colTranslation,
results_view results,
rowptr_type filtered_rowptr,
rowptr_type graph_rowptr,
nnz_count_type nnz,
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
template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , Misc::StrengthMeasure SoC>
void MueLu::VectorDroppingDistanceLaplacian< Scalar, LocalOrdinal, GlobalOrdinal, Node, SoC >::runDroppingFunctors_on_dlap ( matrix_type A,
matrix_type mergedA,
LocalOrdinal  blkPartSize,
block_indices_view_type rowTranslation,
block_indices_view_type colTranslation,
results_view results,
rowptr_type filtered_rowptr,
rowptr_type graph_rowptr,
nnz_count_type nnz,
boundary_nodes_type boundaryNodes,
const std::string &  droppingMethod,
const magnitudeType  threshold,
const bool  aggregationMayCreateDirichlet,
const bool  symmetrizeDroppedGraph,
const bool  useBlocking,
const std::string &  distanceLaplacianMetric,
Teuchos::Array< double > &  dlap_weights,
LocalOrdinal  interleaved_blocksize,
Level level,
const Factory factory 
)
static

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