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

Signed classical smoothed aggregation dropping criterion. More...

#include <MueLu_ClassicalDropping.hpp>

Public Member Functions

 SignedSAFunctor (matrix_type &A_, magnitudeType threshold, results_view &results_)
 
KOKKOS_FORCEINLINE_FUNCTION void operator() (const local_ordinal_type rlid) const
 

Private Types

using matrix_type = Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >
 
using diag_vec_type = Xpetra::MultiVector< 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 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 mATS = Kokkos::ArithTraits< magnitudeType >
 
using boundary_nodes_view = Kokkos::View< const bool *, memory_space >
 

Private Attributes

local_matrix_type A
 
Teuchos::RCP< diag_vec_typediagVec
 
diag_view_type diag
 
magnitudeType eps
 
results_view results
 

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
class MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Signed classical smoothed aggregation dropping criterion.

Evaluates the dropping criterion

\[ \frac{-\operatorname{sign}(A_{ij}) |A_{ij}|^2}{|A_{ii}| |A_{jj}|} \le \theta^2 \]

Definition at line 147 of file MueLu_ClassicalDropping.hpp.

Member Typedef Documentation

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

Definition at line 149 of file MueLu_ClassicalDropping.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::diag_vec_type = Xpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>
private

Definition at line 150 of file MueLu_ClassicalDropping.hpp.

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

Definition at line 151 of file MueLu_ClassicalDropping.hpp.

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

Definition at line 152 of file MueLu_ClassicalDropping.hpp.

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

Definition at line 153 of file MueLu_ClassicalDropping.hpp.

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

Definition at line 154 of file MueLu_ClassicalDropping.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::diag_view_type = typename Kokkos::DualView<const scalar_type*, Kokkos::LayoutStride, typename Node::device_type, Kokkos::MemoryUnmanaged>::t_dev
private

Definition at line 155 of file MueLu_ClassicalDropping.hpp.

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

Definition at line 157 of file MueLu_ClassicalDropping.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ATS = Kokkos::ArithTraits<scalar_type>
private

Definition at line 159 of file MueLu_ClassicalDropping.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::magnitudeType = typename ATS::magnitudeType
private

Definition at line 160 of file MueLu_ClassicalDropping.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::mATS = Kokkos::ArithTraits<magnitudeType>
private

Definition at line 161 of file MueLu_ClassicalDropping.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
using MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::boundary_nodes_view = Kokkos::View<const bool*, memory_space>
private

Definition at line 162 of file MueLu_ClassicalDropping.hpp.

Constructor & Destructor Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SignedSAFunctor ( matrix_type A_,
magnitudeType  threshold,
results_view results_ 
)
inline

Definition at line 171 of file MueLu_ClassicalDropping.hpp.

Member Function Documentation

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

Definition at line 182 of file MueLu_ClassicalDropping.hpp.

Member Data Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
local_matrix_type MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::A
private

Definition at line 164 of file MueLu_ClassicalDropping.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP<diag_vec_type> MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::diagVec
private

Definition at line 165 of file MueLu_ClassicalDropping.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
diag_view_type MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::diag
private

Definition at line 166 of file MueLu_ClassicalDropping.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
magnitudeType MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::eps
private

Definition at line 167 of file MueLu_ClassicalDropping.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
results_view MueLu::ClassicalDropping::SignedSAFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node >::results
private

Definition at line 168 of file MueLu_ClassicalDropping.hpp.


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