MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_RepartitionFactory_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_REPARTITIONFACTORY_DECL_HPP
11
#define MUELU_REPARTITIONFACTORY_DECL_HPP
12
13
#include "
MueLu_ConfigDefs.hpp
"
14
#ifdef HAVE_MPI
15
16
// Some classes are only used in the definition (_def.hpp) of this class
17
// but forward declarations are needed here to enable the UseShortNames mechanism.
18
#include <Xpetra_Map_fwd.hpp>
19
#include <Xpetra_MapFactory_fwd.hpp>
20
#include <Xpetra_Import_fwd.hpp>
21
#include <Xpetra_ImportFactory_fwd.hpp>
22
#include <Xpetra_Export_fwd.hpp>
23
#include <Xpetra_ExportFactory_fwd.hpp>
24
#include <Xpetra_Vector_fwd.hpp>
25
#include <Xpetra_Matrix_fwd.hpp>
26
27
#include "
MueLu_SingleLevelFactoryBase.hpp
"
28
#include "
MueLu_RepartitionFactory_fwd.hpp
"
29
#include "
MueLu_CloneRepartitionInterface_fwd.hpp
"
30
#include "
MueLu_Utilities_fwd.hpp
"
31
#include "
MueLu_PerfUtils_fwd.hpp
"
32
33
namespace
MueLu
{
34
74
75
template
<
class
Scalar
=
DefaultScalar
,
76
class
LocalOrdinal
=
DefaultLocalOrdinal
,
77
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
78
class
Node
=
DefaultNode
>
79
class
RepartitionFactory
:
public
SingleLevelFactoryBase
{
80
#undef MUELU_REPARTITIONFACTORY_SHORT
81
#include "
MueLu_UseShortNames.hpp
"
82
83
public
:
85
86
88
RepartitionFactory
();
89
91
virtual
~RepartitionFactory
();
92
93
RCP<const ParameterList>
GetValidParameterList
()
const
;
94
96
98
99
105
void
DeclareInput
(
Level
& currentLevel)
const
;
106
108
110
111
113
void
Build
(
Level
& currentLevel)
const
;
114
116
118
119
128
void
DeterminePartitionPlacement
(
const
Matrix& A, GOVector& decomposition, GO numPartitions,
bool
willAcceptPartition =
true
,
bool
allSubdomainsAcceptPartitions =
true
)
const
;
129
130
};
// class RepartitionFactory
131
132
}
// namespace MueLu
133
134
#define MUELU_REPARTITIONFACTORY_SHORT
135
136
#endif
// ifdef HAVE_MPI
137
#endif
// MUELU_REPARTITIONFACTORY_DECL_HPP
MueLu_CloneRepartitionInterface_fwd.hpp
MueLu_ConfigDefs.hpp
MueLu_PerfUtils_fwd.hpp
MueLu_RepartitionFactory_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_Utilities_fwd.hpp
MueLu::Level
Class that holds all level-specific information.
Definition
MueLu_Level.hpp:63
MueLu::RepartitionFactory::~RepartitionFactory
virtual ~RepartitionFactory()
Destructor.
MueLu::RepartitionFactory::Build
void Build(Level ¤tLevel) const
Build an object with this factory.
Definition
MueLu_RepartitionFactory_def.hpp:82
MueLu::RepartitionFactory::DeterminePartitionPlacement
void DeterminePartitionPlacement(const Matrix &A, GOVector &decomposition, GO numPartitions, bool willAcceptPartition=true, bool allSubdomainsAcceptPartitions=true) const
Determine which process should own each partition.
Definition
MueLu_RepartitionFactory_def.hpp:343
MueLu::RepartitionFactory::DeclareInput
void DeclareInput(Level ¤tLevel) const
Determines the data that RepartitionFactory needs, and the factories that generate that data.
Definition
MueLu_RepartitionFactory_def.hpp:75
MueLu::RepartitionFactory::RepartitionFactory
RepartitionFactory()
Constructor.
MueLu::RepartitionFactory::GetValidParameterList
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
Definition
MueLu_RepartitionFactory_def.hpp:55
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
Rebalancing
MueLu_RepartitionFactory_decl.hpp
Generated by
1.17.0