MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu_PreDropFunctionConstVal_def.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// MueLu: A package for multigrid based preconditioning
4//
5// Copyright 2012 NTESS and the MueLu contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef MUELU_PREDROPFUNCTIONCONSTVAL_DEF_HPP
11#define MUELU_PREDROPFUNCTIONCONSTVAL_DEF_HPP
12
13#include <Xpetra_CrsGraphFactory.hpp>
14
16#include "Teuchos_ScalarTraits.hpp"
17
18namespace MueLu {
19
20template <class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
23
24template <class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
25bool PreDropFunctionConstVal<Scalar, LocalOrdinal, GlobalOrdinal, Node>::Drop(size_t /* lrow */, GlobalOrdinal grow, size_t k, LocalOrdinal /* lcid */, GlobalOrdinal gcid, const Teuchos::ArrayView<const LocalOrdinal>& /* indices */, const Teuchos::ArrayView<const Scalar>& vals) {
26 if (Teuchos::ScalarTraits<Scalar>::magnitude(vals[k]) > Teuchos::ScalarTraits<Scalar>::magnitude(threshold_) || grow == gcid) {
27 return false; // keep values
28 }
29 return true; // values too small -> drop them
30}
31
32template <class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
36
37template <class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
39 std::ostringstream out;
40 out << "PreDropFunctionConstVal: threshold = " << threshold_ << std::endl;
41 return out.str();
42}
43
44/*template <class Scalar,class LocalOrdinal, class GlobalOrdinal, class Node>
45void PreDropFunctionConstVal<Scalar, LocalOrdinal, GlobalOrdinal, Node>::describe(Teuchos::FancyOStream &out, const VerbLevel verbLevel) const {
46 MUELU_DESCRIBE;
47 if (verbLevel & Parameters0) {
48 out0 << "PreDropFunctionConstVal: threshold = " << threshold_ << std::endl;
49 }
50}*/
51
52} // namespace MueLu
53
54#define MUELU_PREDROPFUNCTIONCONSTVAL_SHORT
55#endif // MUELU_PREDROPFUNCTIONCONSTVAL_DEF_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
PreDropFunctionConstVal(const Scalar threshold=0.0)
Constructor.
Scalar GetThreshold() const
Return threshold value.
std::string description() const
Return a simple one-line description of this object.
bool Drop(size_t lrow, GlobalOrdinal grow, size_t k, LocalOrdinal lcid, GlobalOrdinal gcid, const Teuchos::ArrayView< const LocalOrdinal > &indices, const Teuchos::ArrayView< const Scalar > &vals)
Namespace for MueLu classes and methods.