MueLu Version of the Day
Loading...
Searching...
No Matches
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

◆ matrix_type

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.

◆ local_matrix_type

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.

◆ scalar_type

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.

◆ local_ordinal_type

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.

◆ memory_space

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.

◆ results_view

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.

◆ block_indices_type

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.

◆ local_block_indices_view_type

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

◆ BlockDiagonalizeFunctor()

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

◆ operator()()

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

◆ A

◆ point_to_block

Definition at line 300 of file MueLu_DroppingCommon.hpp.

◆ ghosted_point_to_block

Definition at line 301 of file MueLu_DroppingCommon.hpp.

◆ results

Definition at line 302 of file MueLu_DroppingCommon.hpp.


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