MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_CoalesceDropFactory_kokkos_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_COALESCEDROPFACTORY_KOKKOS_DECL_HPP
11
#define MUELU_COALESCEDROPFACTORY_KOKKOS_DECL_HPP
12
13
#include "
MueLu_ConfigDefs.hpp
"
14
15
#include <Tpetra_KokkosCompat_ClassicNodeAPI_Wrapper.hpp>
16
17
#include "Xpetra_Matrix_fwd.hpp"
18
19
#include "
MueLu_CoalesceDropFactory_kokkos_fwd.hpp
"
20
21
#include "
MueLu_AmalgamationInfo_fwd.hpp
"
22
#include "
MueLu_AmalgamationFactory_fwd.hpp
"
23
#include "
MueLu_Level_fwd.hpp
"
24
#include "
MueLu_LWGraph_kokkos_decl.hpp
"
25
#include "
MueLu_SingleLevelFactoryBase.hpp
"
26
#include "
MueLu_Utilities_fwd.hpp
"
27
28
namespace
MueLu
{
29
95
template
<
class
Scalar,
class
LocalOrdinal,
class
GlobalOrdinal,
class
Node>
96
class
CoalesceDropFactory_kokkos
97
:
public
SingleLevelFactoryBase
{
98
public
:
99
using
local_ordinal_type
=
LocalOrdinal
;
100
using
global_ordinal_type
=
GlobalOrdinal
;
101
using
execution_space
=
typename
Node::execution_space;
102
using
range_type
= Kokkos::RangePolicy<local_ordinal_type, execution_space>;
103
using
node_type
=
Node
;
104
105
private
:
106
using
boundary_nodes_type
=
typename
MueLu::LWGraph_kokkos<LocalOrdinal, GlobalOrdinal, Node>::boundary_nodes_type
;
107
108
// For compatibility
109
#undef MUELU_COALESCEDROPFACTORY_KOKKOS_SHORT
110
#include "
MueLu_UseShortNames.hpp
"
111
112
public
:
114
115
117
CoalesceDropFactory_kokkos
() {}
118
120
virtual
~CoalesceDropFactory_kokkos
() {}
121
122
RCP<const ParameterList>
GetValidParameterList
()
const
;
123
125
127
128
129
void
DeclareInput
(
Level
& currentLevel)
const
;
130
132
133
void
Build
(
Level
& currentLevel)
const
;
134
135
Teuchos::RCP<MultiVector>
GetMaterial
(
Level
& currentLevel,
size_t
spatialDim)
const
;
136
137
std::tuple<GlobalOrdinal, boundary_nodes_type>
BuildScalar
(
Level
& currentLevel)
const
;
138
139
std::tuple<GlobalOrdinal, boundary_nodes_type>
BuildVector
(
Level
& currentLevel)
const
;
140
};
141
142
}
// namespace MueLu
143
144
#define MUELU_COALESCEDROPFACTORY_KOKKOS_SHORT
145
#endif
// MUELU_COALESCEDROPFACTORY_KOKKOS_DECL_HPP
MueLu_AmalgamationFactory_fwd.hpp
MueLu_AmalgamationInfo_fwd.hpp
MueLu_CoalesceDropFactory_kokkos_fwd.hpp
MueLu_ConfigDefs.hpp
MueLu_LWGraph_kokkos_decl.hpp
MueLu_Level_fwd.hpp
MueLu_SingleLevelFactoryBase.hpp
LocalOrdinal
MueLu::DefaultLocalOrdinal LocalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:13
GlobalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:14
Node
MueLu::DefaultNode Node
Definition
MueLu_UseDefaultTypes.hpp:15
MueLu_UseShortNames.hpp
MueLu_Utilities_fwd.hpp
MueLu::CoalesceDropFactory_kokkos::DeclareInput
void DeclareInput(Level ¤tLevel) const
Input.
Definition
MueLu_CoalesceDropFactory_kokkos_def.hpp:106
MueLu::CoalesceDropFactory_kokkos::range_type
Kokkos::RangePolicy< local_ordinal_type, execution_space > range_type
Definition
MueLu_CoalesceDropFactory_kokkos_decl.hpp:102
MueLu::CoalesceDropFactory_kokkos::execution_space
typename Node::execution_space execution_space
Definition
MueLu_CoalesceDropFactory_kokkos_decl.hpp:101
MueLu::CoalesceDropFactory_kokkos::Build
void Build(Level ¤tLevel) const
Build an object with this factory.
Definition
MueLu_CoalesceDropFactory_kokkos_def.hpp:136
MueLu::CoalesceDropFactory_kokkos::boundary_nodes_type
typename MueLu::LWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Node >::boundary_nodes_type boundary_nodes_type
Definition
MueLu_CoalesceDropFactory_kokkos_decl.hpp:106
MueLu::CoalesceDropFactory_kokkos::GetValidParameterList
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
Definition
MueLu_CoalesceDropFactory_kokkos_def.hpp:46
MueLu::CoalesceDropFactory_kokkos::BuildVector
std::tuple< GlobalOrdinal, boundary_nodes_type > BuildVector(Level ¤tLevel) const
Definition
MueLu_CoalesceDropFactory_kokkos_def.hpp:585
MueLu::CoalesceDropFactory_kokkos::BuildScalar
std::tuple< GlobalOrdinal, boundary_nodes_type > BuildScalar(Level ¤tLevel) const
Definition
MueLu_CoalesceDropFactory_kokkos_def.hpp:269
MueLu::CoalesceDropFactory_kokkos::local_ordinal_type
LocalOrdinal local_ordinal_type
Definition
MueLu_CoalesceDropFactory_kokkos_decl.hpp:99
MueLu::CoalesceDropFactory_kokkos::global_ordinal_type
GlobalOrdinal global_ordinal_type
Definition
MueLu_CoalesceDropFactory_kokkos_decl.hpp:100
MueLu::CoalesceDropFactory_kokkos::~CoalesceDropFactory_kokkos
virtual ~CoalesceDropFactory_kokkos()
Destructor.
Definition
MueLu_CoalesceDropFactory_kokkos_decl.hpp:120
MueLu::CoalesceDropFactory_kokkos::GetMaterial
Teuchos::RCP< MultiVector > GetMaterial(Level ¤tLevel, size_t spatialDim) const
MueLu::CoalesceDropFactory_kokkos::CoalesceDropFactory_kokkos
CoalesceDropFactory_kokkos()
Constructor.
Definition
MueLu_CoalesceDropFactory_kokkos_decl.hpp:117
MueLu::CoalesceDropFactory_kokkos::node_type
Node node_type
Definition
MueLu_CoalesceDropFactory_kokkos_decl.hpp:103
MueLu::LWGraphBase< LocalOrdinal, GlobalOrdinal, Node, false >::boundary_nodes_type
Kokkos::View< bool *, memory_space > boundary_nodes_type
Definition
MueLu_LWGraphBase.hpp:95
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
src
Graph
MatrixTransformation
MueLu_CoalesceDropFactory_kokkos_decl.hpp
Generated by
1.17.0