10#ifndef MUELU_AMALGAMATIONFACTORY_DECL_HPP
11#define MUELU_AMALGAMATIONFACTORY_DECL_HPP
13#include <Xpetra_Matrix_fwd.hpp>
14#include <Xpetra_Map_fwd.hpp>
43#undef MUELU_AMALGAMATIONFACTORY_SHORT
67 void Build(
Level& currentLevel)
const override;
94 static void AmalgamateMap(
const Map& sourceMap,
const Matrix& A, RCP<const Map>& amalgamatedMap, Array<LO>& translation);
102 static void AmalgamateMap(RCP<const StridedMap> sourceMap, RCP<const Map>& amalgamatedMap);
108#define MUELU_AMALGAMATIONFACTORY_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
AmalgamationFactory for subblocks of strided map based amalgamation data.
RCP< const ParameterList > GetValidParameterList() const override
Return a const parameter list of valid parameters that setParameterList() will accept.
void DeclareInput(Level ¤tLevel) const override
Input.
static void AmalgamateMap(const Map &sourceMap, const Matrix &A, RCP< const Map > &amalgamatedMap, Array< LO > &translation)
Method to create merged map for systems of PDEs.
static const GlobalOrdinal DOFGid2NodeId(GlobalOrdinal gid, LocalOrdinal blockSize, const GlobalOrdinal offset, const GlobalOrdinal indexBase)
Translate global (row/column) id to global amalgamation block id.
static const GlobalOrdinal DOFGidOffset(RCP< const StridedMap > stridedMap)
Method to calculate the global (row) id offset from scratch.
virtual ~AmalgamationFactory()
Destructor.
AmalgamationFactory()
Constructor.
void Build(Level ¤tLevel) const override
Build an object with this factory.
Class that holds all level-specific information.
Base class for factories that use one level (currentLevel).
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar