MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_Zoltan2Interface_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_ZOLTAN2INTERFACE_DECL_HPP
11
#define MUELU_ZOLTAN2INTERFACE_DECL_HPP
12
13
#include "
MueLu_ConfigDefs.hpp
"
14
15
#if defined(HAVE_MUELU_ZOLTAN2) && defined(HAVE_MPI)
16
17
#include <Xpetra_Matrix_fwd.hpp>
18
#include <Xpetra_VectorFactory_fwd.hpp>
19
20
#include "
MueLu_SingleLevelFactoryBase.hpp
"
21
#include "
MueLu_Zoltan2Interface_fwd.hpp
"
22
23
#include "
MueLu_Level_fwd.hpp
"
24
#include "
MueLu_FactoryBase_fwd.hpp
"
25
26
#if defined(HAVE_MUELU_ZOLTAN)
27
#include "MueLu_ZoltanInterface.hpp"
28
#endif
29
30
namespace
MueLu
{
31
73
74
// FIXME: this class should not be templated
75
template
<
class
Scalar
,
76
class
LocalOrdinal
=
DefaultLocalOrdinal
,
77
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
78
class
Node
=
DefaultNode
>
79
class
Zoltan2Interface
:
public
SingleLevelFactoryBase
{
80
#undef MUELU_ZOLTAN2INTERFACE_SHORT
81
#include "
MueLu_UseShortNames.hpp
"
82
83
public
:
85
86
88
Zoltan2Interface
();
89
91
virtual
~Zoltan2Interface
() {}
93
94
RCP<const ParameterList>
GetValidParameterList
()
const
;
95
97
98
void
DeclareInput
(
Level
& currentLevel)
const
;
100
102
103
void
Build
(
Level
& currentLevel)
const
;
104
106
107
private
:
108
RCP<ParameterList>
defaultZoltan2Params
;
109
110
};
// class Zoltan2Interface
111
112
template
<
class
Scalar
,
113
class
LocalOrdinal
=
DefaultLocalOrdinal
,
114
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
115
class
Node
=
DefaultNode
>
116
struct
Zoltan2Utilities
{
117
#undef MUELU_ZOLTAN2INTERFACE_SHORT
118
#include "
MueLu_UseShortNames.hpp
"
119
120
using
real_type
=
typename
Teuchos::ScalarTraits<SC>::coordinateType;
121
using
RealValuedMultiVector
=
typename
Xpetra::MultiVector<real_type, LO, GO, NO>;
122
123
static
RCP<GOVector>
124
ComputeDecomposition
(
int
numPartitions, RCP<Matrix>& A, RCP<RealValuedMultiVector> coords, Teuchos::ParameterList& Zoltan2Params, std::string debuggingFile =
""
);
125
};
126
127
}
// namespace MueLu
128
129
#define MUELU_ZOLTAN2INTERFACE_SHORT
130
#endif
// if defined(HAVE_MUELU_ZOLTAN2) && defined(HAVE_MPI)
131
132
#endif
// MUELU_ZOLTAN2INTERFACE_DECL_HPP
MueLu_ConfigDefs.hpp
MueLu_FactoryBase_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_Zoltan2Interface_fwd.hpp
MueLu::Level
Class that holds all level-specific information.
Definition
MueLu_Level.hpp:63
MueLu::SingleLevelFactoryBase::SingleLevelFactoryBase
SingleLevelFactoryBase()
Constructor.
MueLu::Zoltan2Interface::DeclareInput
void DeclareInput(Level ¤tLevel) const
Specifies the data that this class needs, and the factories that generate that data.
Definition
MueLu_Zoltan2Interface_def.hpp:59
MueLu::Zoltan2Interface::GetValidParameterList
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
Definition
MueLu_Zoltan2Interface_def.hpp:46
MueLu::Zoltan2Interface::Zoltan2Interface
Zoltan2Interface()
Constructor.
Definition
MueLu_Zoltan2Interface_def.hpp:34
MueLu::Zoltan2Interface::Build
void Build(Level ¤tLevel) const
Build an object with this factory.
Definition
MueLu_Zoltan2Interface_def.hpp:82
MueLu::Zoltan2Interface::~Zoltan2Interface
virtual ~Zoltan2Interface()
Destructor.
Definition
MueLu_Zoltan2Interface_decl.hpp:91
MueLu::Zoltan2Interface< Scalar, LocalOrdinal, GlobalOrdinal, Node >::defaultZoltan2Params
RCP< ParameterList > defaultZoltan2Params
Definition
MueLu_Zoltan2Interface_decl.hpp:108
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::Zoltan2Utilities
Definition
MueLu_Zoltan2Interface_decl.hpp:116
MueLu::Zoltan2Utilities::real_type
typename Teuchos::ScalarTraits< SC >::coordinateType real_type
Definition
MueLu_Zoltan2Interface_decl.hpp:120
MueLu::Zoltan2Utilities::RealValuedMultiVector
typename Xpetra::MultiVector< real_type, LO, GO, NO > RealValuedMultiVector
Definition
MueLu_Zoltan2Interface_decl.hpp:121
MueLu::Zoltan2Utilities::ComputeDecomposition
static RCP< GOVector > ComputeDecomposition(int numPartitions, RCP< Matrix > &A, RCP< RealValuedMultiVector > coords, Teuchos::ParameterList &Zoltan2Params, std::string debuggingFile="")
Definition
MueLu_Zoltan2Interface_def.hpp:149
src
Rebalancing
MueLu_Zoltan2Interface_decl.hpp
Generated by
1.17.0