MueLu
Version of the Day
|
Drops entries the unscaled distance Laplacian. More...
#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 | 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 | |
DropFunctor (matrix_type &A_, magnitudeType threshold, DistanceFunctorType &dist2_, results_view &results_) | |
KOKKOS_FORCEINLINE_FUNCTION void | operator() (local_ordinal_type rlid) const |
Private Attributes | |
local_matrix_type | A |
magnitudeType | eps |
Teuchos::RCP< diag_vec_type > | diagVec |
diag_view_type | diag |
DistanceFunctorType | dist2 |
results_view | results |
const scalar_type | one = ATS::one() |
Drops entries the unscaled distance Laplacian.
Evaluates the dropping criterion
\[ \frac{|d_{ij}|^2}{|d_{ii}| |d_{jj}|} \le \theta^2 \]
where \(d_{ij}\) is a distance metric.
Definition at line 533 of file MueLu_DistanceLaplacianDropping.hpp.
using MueLu::DistanceLaplacian::DropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::matrix_type = Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> |
Definition at line 535 of file MueLu_DistanceLaplacianDropping.hpp.
using MueLu::DistanceLaplacian::DropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::local_matrix_type = typename matrix_type::local_matrix_type |
Definition at line 536 of file MueLu_DistanceLaplacianDropping.hpp.
using MueLu::DistanceLaplacian::DropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::scalar_type = typename local_matrix_type::value_type |
Definition at line 537 of file MueLu_DistanceLaplacianDropping.hpp.
using MueLu::DistanceLaplacian::DropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::local_ordinal_type = typename local_matrix_type::ordinal_type |
Definition at line 538 of file MueLu_DistanceLaplacianDropping.hpp.
using MueLu::DistanceLaplacian::DropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::memory_space = typename local_matrix_type::memory_space |
Definition at line 539 of file MueLu_DistanceLaplacianDropping.hpp.
using MueLu::DistanceLaplacian::DropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::diag_vec_type = Xpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> |
Definition at line 540 of file MueLu_DistanceLaplacianDropping.hpp.
using MueLu::DistanceLaplacian::DropFunctor< 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 541 of file MueLu_DistanceLaplacianDropping.hpp.
using MueLu::DistanceLaplacian::DropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::results_view = Kokkos::View<DecisionType*, memory_space> |
Definition at line 543 of file MueLu_DistanceLaplacianDropping.hpp.
using MueLu::DistanceLaplacian::DropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::ATS = Kokkos::ArithTraits<scalar_type> |
Definition at line 545 of file MueLu_DistanceLaplacianDropping.hpp.
using MueLu::DistanceLaplacian::DropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::magnitudeType = typename ATS::magnitudeType |
Definition at line 546 of file MueLu_DistanceLaplacianDropping.hpp.
using MueLu::DistanceLaplacian::DropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::boundary_nodes_view = Kokkos::View<const bool*, memory_space> |
Definition at line 547 of file MueLu_DistanceLaplacianDropping.hpp.
using MueLu::DistanceLaplacian::DropFunctor< Scalar, LocalOrdinal, GlobalOrdinal, Node, DistanceFunctorType, measure >::mATS = Kokkos::ArithTraits<magnitudeType> |
Definition at line 548 of file MueLu_DistanceLaplacianDropping.hpp.
|
inline |
Definition at line 560 of file MueLu_DistanceLaplacianDropping.hpp.
|
inline |
Definition at line 577 of file MueLu_DistanceLaplacianDropping.hpp.
|
private |
Definition at line 551 of file MueLu_DistanceLaplacianDropping.hpp.
|
private |
Definition at line 552 of file MueLu_DistanceLaplacianDropping.hpp.
|
private |
Definition at line 553 of file MueLu_DistanceLaplacianDropping.hpp.
|
private |
Definition at line 554 of file MueLu_DistanceLaplacianDropping.hpp.
|
private |
Definition at line 555 of file MueLu_DistanceLaplacianDropping.hpp.
|
private |
Definition at line 556 of file MueLu_DistanceLaplacianDropping.hpp.
|
private |
Definition at line 557 of file MueLu_DistanceLaplacianDropping.hpp.