MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_CoupledRBMFactory_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_COUPLEDRBMFACTORY_DECL_HPP
11
#define MUELU_COUPLEDRBMFACTORY_DECL_HPP
12
13
#include <Xpetra_Matrix_fwd.hpp>
14
#include <Xpetra_MultiVectorFactory_fwd.hpp>
15
#include <Xpetra_VectorFactory_fwd.hpp>
16
17
#include "
MueLu_ConfigDefs.hpp
"
18
#include "
MueLu_SingleLevelFactoryBase.hpp
"
19
#include "
MueLu_CoupledRBMFactory_fwd.hpp
"
20
21
#include "
MueLu_Level_fwd.hpp
"
22
23
namespace
MueLu
{
24
34
template
<
class
Scalar
=
DefaultScalar
,
35
class
LocalOrdinal
=
DefaultLocalOrdinal
,
36
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
37
class
Node
=
DefaultNode
>
38
class
CoupledRBMFactory
:
public
SingleLevelFactoryBase
{
39
#undef MUELU_COUPLEDRBMFACTORY_SHORT
40
#include "
MueLu_UseShortNames.hpp
"
41
42
public
:
44
45
46
CoupledRBMFactory
(
const
int
numPDEs)
47
:
nspName_
(
"Nullspace"
)
48
,
numPDEs_
(numPDEs) {}
49
50
CoupledRBMFactory
(
const
std::string& nspName =
"Nullspace"
)
51
:
nspName_
(nspName)
52
,
numPDEs_
(3) {}
53
55
virtual
~CoupledRBMFactory
();
56
58
60
61
67
void
DeclareInput
(
Level
& currentLevel)
const
;
68
70
72
73
75
void
Build
(
Level
& currentLevel)
const
;
76
77
void
BuildRBM
(RCP<Matrix>& A, RCP<MultiVector>& Coords, RCP<MultiVector>& nullspace)
const
;
78
80
void
setNumPDEs
(
int
numPDEs) {
81
numPDEs_
= numPDEs;
82
}
83
84
void
setLastAcousticDOF
(
int
lastDOF) {
85
lastAcousticDOF_
= lastDOF;
86
}
87
88
private
:
90
std::string
nspName_
;
91
92
int
numPDEs_
;
93
94
int
lastAcousticDOF_
;
95
96
};
// class CoupledRBMFactory
97
98
}
// namespace MueLu
99
100
#define MUELU_COUPLEDRBMFACTORY_SHORT
101
#endif
// MUELU_COUPLEDRBMFACTORY_DECL_HPP
MueLu_ConfigDefs.hpp
MueLu_CoupledRBMFactory_fwd.hpp
MueLu_Level_fwd.hpp
MueLu_SingleLevelFactoryBase.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::CoupledRBMFactory::numPDEs_
int numPDEs_
Definition
MueLu_CoupledRBMFactory_decl.hpp:92
MueLu::CoupledRBMFactory::nspName_
std::string nspName_
name of nullspace vector on finest level
Definition
MueLu_CoupledRBMFactory_decl.hpp:90
MueLu::CoupledRBMFactory::BuildRBM
void BuildRBM(RCP< Matrix > &A, RCP< MultiVector > &Coords, RCP< MultiVector > &nullspace) const
Definition
MueLu_CoupledRBMFactory_def.hpp:112
MueLu::CoupledRBMFactory::lastAcousticDOF_
int lastAcousticDOF_
Definition
MueLu_CoupledRBMFactory_decl.hpp:94
MueLu::CoupledRBMFactory::CoupledRBMFactory
CoupledRBMFactory(const int numPDEs)
Constructor.
Definition
MueLu_CoupledRBMFactory_decl.hpp:46
MueLu::CoupledRBMFactory::Build
void Build(Level ¤tLevel) const
Build an object with this factory.
Definition
MueLu_CoupledRBMFactory_def.hpp:38
MueLu::CoupledRBMFactory::setNumPDEs
void setNumPDEs(int numPDEs)
Definition
MueLu_CoupledRBMFactory_decl.hpp:80
MueLu::CoupledRBMFactory::~CoupledRBMFactory
virtual ~CoupledRBMFactory()
Destructor.
Definition
MueLu_CoupledRBMFactory_def.hpp:24
MueLu::CoupledRBMFactory::CoupledRBMFactory
CoupledRBMFactory(const std::string &nspName="Nullspace")
Constructor.
Definition
MueLu_CoupledRBMFactory_decl.hpp:50
MueLu::CoupledRBMFactory::setLastAcousticDOF
void setLastAcousticDOF(int lastDOF)
Definition
MueLu_CoupledRBMFactory_decl.hpp:84
MueLu::CoupledRBMFactory::DeclareInput
void DeclareInput(Level ¤tLevel) const
Specifies the data that this class needs, and the factories that generate that data.
Definition
MueLu_CoupledRBMFactory_def.hpp:27
MueLu::Level
Class that holds all level-specific information.
Definition
MueLu_Level.hpp:63
MueLu::SingleLevelFactoryBase::SingleLevelFactoryBase
SingleLevelFactoryBase()
Constructor.
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
Utils
MueLu_CoupledRBMFactory_decl.hpp
Generated by
1.17.0