MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu::Misc::BlockDiagonalizeVectorFunctor< 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

 BlockDiagonalizeVectorFunctor (matrix_type &A_, block_indices_type &point_to_block_, Teuchos::RCP< const map_type > non_unique_map_, results_view &results_, id_translation_type row_translation_, id_translation_type col_translation_)
 
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::Vector< LocalOrdinal, LocalOrdinal, GlobalOrdinal, Node >
 
using local_block_indices_view_type = typename block_indices_type::dual_view_type_const::t_dev
 
using id_translation_type = Kokkos::View< local_ordinal_type *, memory_space >
 
using map_type = Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node >
 

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
 
id_translation_type row_translation
 
id_translation_type col_translation
 
Teuchos::RCP< block_indices_typeghosted_point_to_blockMV
 

Detailed Description

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

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

Definition at line 339 of file MueLu_DroppingCommon.hpp.

Member Typedef Documentation

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

Definition at line 341 of file MueLu_DroppingCommon.hpp.

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

Definition at line 342 of file MueLu_DroppingCommon.hpp.

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

Definition at line 344 of file MueLu_DroppingCommon.hpp.

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

Definition at line 345 of file MueLu_DroppingCommon.hpp.

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

Definition at line 346 of file MueLu_DroppingCommon.hpp.

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

Definition at line 347 of file MueLu_DroppingCommon.hpp.

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

Definition at line 349 of file MueLu_DroppingCommon.hpp.

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

Definition at line 350 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::Misc::BlockDiagonalizeVectorFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::id_translation_type = Kokkos::View<local_ordinal_type*, memory_space>
private

Definition at line 351 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::Misc::BlockDiagonalizeVectorFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::map_type = Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node>
private

Definition at line 352 of file MueLu_DroppingCommon.hpp.

Constructor & Destructor Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::Misc::BlockDiagonalizeVectorFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::BlockDiagonalizeVectorFunctor ( matrix_type A_,
block_indices_type point_to_block_,
Teuchos::RCP< const map_type non_unique_map_,
results_view results_,
id_translation_type  row_translation_,
id_translation_type  col_translation_ 
)
inline

Definition at line 363 of file MueLu_DroppingCommon.hpp.

Member Function Documentation

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

Definition at line 380 of file MueLu_DroppingCommon.hpp.

Member Data Documentation

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

Definition at line 354 of file MueLu_DroppingCommon.hpp.

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

Definition at line 355 of file MueLu_DroppingCommon.hpp.

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

Definition at line 356 of file MueLu_DroppingCommon.hpp.

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

Definition at line 357 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
id_translation_type MueLu::Misc::BlockDiagonalizeVectorFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::row_translation
private

Definition at line 358 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
id_translation_type MueLu::Misc::BlockDiagonalizeVectorFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::col_translation
private

Definition at line 359 of file MueLu_DroppingCommon.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP<block_indices_type> MueLu::Misc::BlockDiagonalizeVectorFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ghosted_point_to_blockMV
private

Definition at line 360 of file MueLu_DroppingCommon.hpp.


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