MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_SmooVecCoalesceDropFactory_decl.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_SMOOVECCOALESCEDROPFACTORY_DECL_HPP
11
#define MUELU_SMOOVECCOALESCEDROPFACTORY_DECL_HPP
12
13
#include <Xpetra_Matrix_fwd.hpp>
14
#include <Xpetra_MultiVector_fwd.hpp>
15
#include <Xpetra_VectorFactory_fwd.hpp>
16
#include <Xpetra_Vector_fwd.hpp>
17
#include <Xpetra_MapFactory_fwd.hpp>
18
#include <Xpetra_Map_fwd.hpp>
19
20
#include "
MueLu_ConfigDefs.hpp
"
21
#include "
MueLu_SingleLevelFactoryBase.hpp
"
22
#include "
MueLu_SmooVecCoalesceDropFactory_fwd.hpp
"
23
24
#include "
MueLu_Level_fwd.hpp
"
25
#include "MueLu_LWGraph.hpp"
26
27
#include "
MueLu_LWGraph_fwd.hpp
"
28
#include "
MueLu_PreDropFunctionBaseClass_fwd.hpp
"
29
30
namespace
MueLu
{
31
80
81
template
<
class
Scalar
=
DefaultScalar
,
82
class
LocalOrdinal
=
DefaultLocalOrdinal
,
83
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
84
class
Node
=
DefaultNode
>
85
class
SmooVecCoalesceDropFactory
:
public
SingleLevelFactoryBase
{
86
#undef MUELU_SMOOVECCOALESCEDROPFACTORY_SHORT
87
#include "
MueLu_UseShortNames.hpp
"
88
89
public
:
91
92
94
SmooVecCoalesceDropFactory
();
95
97
virtual
~SmooVecCoalesceDropFactory
() {}
98
99
RCP<const ParameterList>
GetValidParameterList
()
const
;
100
102
104
105
106
void
DeclareInput
(
Level
& currentLevel)
const
;
107
109
void
SetPreDropFunction
(
const
RCP<
MueLu::PreDropFunctionBaseClass<Scalar, LocalOrdinal, GlobalOrdinal, Node>
>& predrop) {
predrop_
= predrop; }
110
112
113
void
Build
(
Level
& currentLevel)
const
;
// Build
114
115
private
:
116
// pre-drop function
117
mutable
RCP<PreDropFunctionBaseClass>
predrop_
;
118
120
void
badGuysCoalesceDrop
(
const
Matrix& Amat, Teuchos::ArrayRCP<Scalar>& dropParams, LO nPDEs,
const
MultiVector& smoothedTVecs,
const
MultiVector& smoothedNull, RCP<LWGraph>& filteredGraph)
const
;
121
void
badGuysDropfunc
(LO row,
const
Teuchos::ArrayView<const LocalOrdinal>& indices,
const
Teuchos::ArrayView<const Scalar>& vals,
const
MultiVector& smoothedTVecs, LO nPDEs, Teuchos::ArrayRCP<Scalar>& penalties,
const
MultiVector& smoothedNull, Teuchos::ArrayRCP<LO>& Bcols, Teuchos::ArrayRCP<bool>& keepOrNot, LO& Nbcols, LO nLoc)
const
;
122
123
};
// class SmooVecCoalesceDropFactory
124
125
}
// namespace MueLu
126
127
#define MUELU_SMOOVECCOALESCEDROPFACTORY_SHORT
128
#endif
// MUELU_SMOOVECCOALESCEDROPFACTORY_DECL_HPP
MueLu_ConfigDefs.hpp
MueLu_LWGraph_fwd.hpp
MueLu_Level_fwd.hpp
MueLu_PreDropFunctionBaseClass_fwd.hpp
MueLu_SingleLevelFactoryBase.hpp
MueLu_SmooVecCoalesceDropFactory_fwd.hpp
LocalOrdinal
MueLu::DefaultLocalOrdinal LocalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:13
Scalar
MueLu::DefaultScalar Scalar
Definition
MueLu_UseDefaultTypes.hpp:12
GlobalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:14
Node
MueLu::DefaultNode Node
Definition
MueLu_UseDefaultTypes.hpp:15
MueLu_UseShortNames.hpp
MueLu::Level
Class that holds all level-specific information.
Definition
MueLu_Level.hpp:63
MueLu::PreDropFunctionBaseClass
Definition
MueLu_PreDropFunctionBaseClass_decl.hpp:27
MueLu::SingleLevelFactoryBase::SingleLevelFactoryBase
SingleLevelFactoryBase()
Constructor.
MueLu::SmooVecCoalesceDropFactory::~SmooVecCoalesceDropFactory
virtual ~SmooVecCoalesceDropFactory()
Destructor.
Definition
MueLu_SmooVecCoalesceDropFactory_decl.hpp:97
MueLu::SmooVecCoalesceDropFactory::predrop_
RCP< PreDropFunctionBaseClass > predrop_
Definition
MueLu_SmooVecCoalesceDropFactory_decl.hpp:117
MueLu::SmooVecCoalesceDropFactory::Build
void Build(Level ¤tLevel) const
Build an object with this factory.
Definition
MueLu_SmooVecCoalesceDropFactory_def.hpp:95
MueLu::SmooVecCoalesceDropFactory::SetPreDropFunction
void SetPreDropFunction(const RCP< MueLu::PreDropFunctionBaseClass< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &predrop)
set predrop function
Definition
MueLu_SmooVecCoalesceDropFactory_decl.hpp:109
MueLu::SmooVecCoalesceDropFactory::SmooVecCoalesceDropFactory
SmooVecCoalesceDropFactory()
Constructor.
Definition
MueLu_SmooVecCoalesceDropFactory_def.hpp:80
MueLu::SmooVecCoalesceDropFactory::badGuysDropfunc
void badGuysDropfunc(LO row, const Teuchos::ArrayView< const LocalOrdinal > &indices, const Teuchos::ArrayView< const Scalar > &vals, const MultiVector &smoothedTVecs, LO nPDEs, Teuchos::ArrayRCP< Scalar > &penalties, const MultiVector &smoothedNull, Teuchos::ArrayRCP< LO > &Bcols, Teuchos::ArrayRCP< bool > &keepOrNot, LO &Nbcols, LO nLoc) const
Definition
MueLu_SmooVecCoalesceDropFactory_def.hpp:370
MueLu::SmooVecCoalesceDropFactory::badGuysCoalesceDrop
void badGuysCoalesceDrop(const Matrix &Amat, Teuchos::ArrayRCP< Scalar > &dropParams, LO nPDEs, const MultiVector &smoothedTVecs, const MultiVector &smoothedNull, RCP< LWGraph > &filteredGraph) const
Methods to support compatible-relaxation style dropping.
Definition
MueLu_SmooVecCoalesceDropFactory_def.hpp:196
MueLu::SmooVecCoalesceDropFactory::GetValidParameterList
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
Definition
MueLu_SmooVecCoalesceDropFactory_def.hpp:59
MueLu::SmooVecCoalesceDropFactory::DeclareInput
void DeclareInput(Level ¤tLevel) const
Input.
Definition
MueLu_SmooVecCoalesceDropFactory_def.hpp:84
MueLu
Namespace for MueLu classes and methods.
Definition
MueLu_BrickAggregationFactory_decl.hpp:42
MueLu::DefaultNode
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Definition
MueLu_Details_DefaultTypes.hpp:32
MueLu::DefaultGlobalOrdinal
int DefaultGlobalOrdinal
Definition
MueLu_Details_DefaultTypes.hpp:29
MueLu::DefaultLocalOrdinal
int DefaultLocalOrdinal
Definition
MueLu_Details_DefaultTypes.hpp:22
MueLu::DefaultScalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
Definition
MueLu_Details_DefaultTypes.hpp:20
src
Graph
MatrixTransformation
MueLu_SmooVecCoalesceDropFactory_decl.hpp
Generated by
1.17.0