Loading [MathJax]/extensions/tex2jax.js
MueLu  Version of the Day
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure > Class Template Reference

#include <MueLu_DistanceLaplacianDropping.hpp>

Public 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 block_indices_view_type = Kokkos::View< local_ordinal_type *, memory_space >
 
using diag_vec_type = Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >
 
using diag_view_type = typename Kokkos::DualView< const scalar_type *, Kokkos::LayoutStride, typename Node::device_type, Kokkos::MemoryUnmanaged >::t_dev
 
using results_view = Kokkos::View< DecisionType *, memory_space >
 
using ATS = Kokkos::ArithTraits< scalar_type >
 
using magnitudeType = typename ATS::magnitudeType
 
using boundary_nodes_view = Kokkos::View< const bool *, memory_space >
 
using mATS = Kokkos::ArithTraits< magnitudeType >
 

Public Member Functions

 VectorDropFunctor (matrix_type &A_, matrix_type &mergedA_, magnitudeType threshold, DistanceFunctorType &dist2_, results_view &results_, block_indices_view_type point_to_block_, block_indices_view_type ghosted_point_to_block_)
 
KOKKOS_FORCEINLINE_FUNCTION void operator() (local_ordinal_type rlid) const
 

Private Attributes

local_matrix_type A
 
magnitudeType eps
 
Teuchos::RCP< diag_vec_typediagVec
 
diag_view_type diag
 
DistanceFunctorType dist2
 
results_view results
 
block_indices_view_type point_to_block
 
block_indices_view_type ghosted_point_to_block
 
const scalar_type one = ATS::one()
 

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
class MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >

Definition at line 653 of file MueLu_DistanceLaplacianDropping.hpp.

Member Typedef Documentation

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::matrix_type = Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>

Definition at line 655 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::local_matrix_type = typename matrix_type::local_matrix_type

Definition at line 656 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::scalar_type = typename local_matrix_type::value_type

Definition at line 657 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::local_ordinal_type = typename local_matrix_type::ordinal_type

Definition at line 658 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::memory_space = typename local_matrix_type::memory_space

Definition at line 659 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::block_indices_view_type = Kokkos::View<local_ordinal_type*, memory_space>

Definition at line 660 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::diag_vec_type = Xpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>

Definition at line 661 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::diag_view_type = typename Kokkos::DualView<const scalar_type*, Kokkos::LayoutStride, typename Node::device_type, Kokkos::MemoryUnmanaged>::t_dev

Definition at line 662 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::results_view = Kokkos::View<DecisionType*, memory_space>

Definition at line 664 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::ATS = Kokkos::ArithTraits<scalar_type>

Definition at line 666 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::magnitudeType = typename ATS::magnitudeType

Definition at line 667 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::boundary_nodes_view = Kokkos::View<const bool*, memory_space>

Definition at line 668 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
using MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::mATS = Kokkos::ArithTraits<magnitudeType>

Definition at line 669 of file MueLu_DistanceLaplacianDropping.hpp.

Constructor & Destructor Documentation

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::VectorDropFunctor ( matrix_type A_,
matrix_type mergedA_,
magnitudeType  threshold,
DistanceFunctorType &  dist2_,
results_view results_,
block_indices_view_type  point_to_block_,
block_indices_view_type  ghosted_point_to_block_ 
)
inline

Definition at line 683 of file MueLu_DistanceLaplacianDropping.hpp.

Member Function Documentation

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
KOKKOS_FORCEINLINE_FUNCTION void MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::operator() ( local_ordinal_type  rlid) const
inline

Definition at line 702 of file MueLu_DistanceLaplacianDropping.hpp.

Member Data Documentation

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
local_matrix_type MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::A
private

Definition at line 672 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
magnitudeType MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::eps
private

Definition at line 673 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
Teuchos::RCP<diag_vec_type> MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::diagVec
private

Definition at line 674 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
diag_view_type MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::diag
private

Definition at line 675 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
DistanceFunctorType MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::dist2
private

Definition at line 676 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
results_view MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::results
private

Definition at line 677 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
block_indices_view_type MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::point_to_block
private

Definition at line 678 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
block_indices_view_type MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::ghosted_point_to_block
private

Definition at line 679 of file MueLu_DistanceLaplacianDropping.hpp.

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node, class DistanceFunctorType, Misc::StrengthMeasure measure>
const scalar_type MueLu::DistanceLaplacian::VectorDropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::one = ATS::one()
private

Definition at line 680 of file MueLu_DistanceLaplacianDropping.hpp.


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