MueLu Version of the Day
Loading...
Searching...
No Matches
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_, const RCP< const importer_type > &importer, 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_device_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 importer_type = Xpetra::Import< 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 442 of file MueLu_DroppingCommon.hpp.

Member Typedef Documentation

◆ matrix_type

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 444 of file MueLu_DroppingCommon.hpp.

◆ local_matrix_type

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_device_type
private

Definition at line 445 of file MueLu_DroppingCommon.hpp.

◆ scalar_type

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 447 of file MueLu_DroppingCommon.hpp.

◆ local_ordinal_type

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 448 of file MueLu_DroppingCommon.hpp.

◆ memory_space

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 449 of file MueLu_DroppingCommon.hpp.

◆ results_view

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 450 of file MueLu_DroppingCommon.hpp.

◆ block_indices_type

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 452 of file MueLu_DroppingCommon.hpp.

◆ local_block_indices_view_type

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 453 of file MueLu_DroppingCommon.hpp.

◆ id_translation_type

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 454 of file MueLu_DroppingCommon.hpp.

◆ importer_type

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

Definition at line 455 of file MueLu_DroppingCommon.hpp.

Constructor & Destructor Documentation

◆ BlockDiagonalizeVectorFunctor()

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_,
const RCP< const importer_type > &  importer,
results_view results_,
id_translation_type  row_translation_,
id_translation_type  col_translation_ 
)
inline

Definition at line 466 of file MueLu_DroppingCommon.hpp.

Member Function Documentation

◆ operator()()

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 481 of file MueLu_DroppingCommon.hpp.

Member Data Documentation

◆ A

◆ point_to_block

Definition at line 458 of file MueLu_DroppingCommon.hpp.

◆ ghosted_point_to_block

Definition at line 459 of file MueLu_DroppingCommon.hpp.

◆ results

Definition at line 460 of file MueLu_DroppingCommon.hpp.

◆ row_translation

Definition at line 461 of file MueLu_DroppingCommon.hpp.

◆ col_translation

Definition at line 462 of file MueLu_DroppingCommon.hpp.

◆ ghosted_point_to_blockMV

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 463 of file MueLu_DroppingCommon.hpp.


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