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

Functor that drops all entries that are not on the block diagonal. More...

#include <MueLu_DroppingCommon.hpp>

Public Member Functions

 BlockDiagonalizeFunctor (matrix_type &A_, block_indices_type &point_to_block_, block_indices_type &ghosted_point_to_block_, results_view &results_)
 
KOKKOS_FORCEINLINE_FUNCTION void operator() (local_ordinal_type rlid) const
 

Private Types

using matrix_type = Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >
 
using local_matrix_type = typename matrix_type::local_matrix_type
 
using scalar_type = typename local_matrix_type::value_type
 
using local_ordinal_type = typename local_matrix_type::ordinal_type
 
using memory_space = typename local_matrix_type::memory_space
 
using results_view = Kokkos::View< DecisionType *, memory_space >
 
using block_indices_type = Xpetra::MultiVector< LocalOrdinal, LocalOrdinal, GlobalOrdinal, Node >
 
using local_block_indices_view_type = typename block_indices_type::dual_view_type_const::t_dev
 

Private Attributes

local_matrix_type A
 
local_block_indices_view_type point_to_block
 
local_block_indices_view_type ghosted_point_to_block
 
results_view results
 

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
class MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Functor that drops all entries that are not on the block diagonal.

Definition at line 286 of file MueLu_DroppingCommon.hpp.

Member Typedef Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::matrix_type = Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>
private

Definition at line 288 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_matrix_type = typename matrix_type::local_matrix_type
private

Definition at line 289 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scalar_type = typename local_matrix_type::value_type
private

Definition at line 291 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type = typename local_matrix_type::ordinal_type
private

Definition at line 292 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::memory_space = typename local_matrix_type::memory_space
private

Definition at line 293 of file MueLu_DroppingCommon.hpp.

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

Definition at line 294 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::block_indices_type = Xpetra::MultiVector<LocalOrdinal, LocalOrdinal, GlobalOrdinal, Node>
private

Definition at line 296 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_block_indices_view_type = typename block_indices_type::dual_view_type_const::t_dev
private

Definition at line 297 of file MueLu_DroppingCommon.hpp.

Constructor & Destructor Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::BlockDiagonalizeFunctor ( matrix_type A_,
block_indices_type point_to_block_,
block_indices_type ghosted_point_to_block_,
results_view results_ 
)
inline

Definition at line 305 of file MueLu_DroppingCommon.hpp.

Member Function Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
KOKKOS_FORCEINLINE_FUNCTION void MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::operator() ( local_ordinal_type  rlid) const
inline

Definition at line 312 of file MueLu_DroppingCommon.hpp.

Member Data Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
local_matrix_type MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::A
private

Definition at line 299 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
local_block_indices_view_type MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::point_to_block
private

Definition at line 300 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
local_block_indices_view_type MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ghosted_point_to_block
private

Definition at line 301 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
results_view MueLu::Misc::BlockDiagonalizeFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::results
private

Definition at line 302 of file MueLu_DroppingCommon.hpp.


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