46#ifndef MUELU_AMALGAMATIONFACTORY_DECL_HPP
47#define MUELU_AMALGAMATIONFACTORY_DECL_HPP
49#include <Xpetra_Matrix_fwd.hpp>
50#include <Xpetra_Map_fwd.hpp>
79#undef MUELU_AMALGAMATIONFACTORY_SHORT
104 void Build(
Level ¤tLevel)
const override;
125 static void AmalgamateMap(
const Map& sourceMap,
const Matrix& A, RCP<const Map>& amalgamatedMap, Array<LO>& translation);
132#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.
virtual ~AmalgamationFactory()=default
Destructor.
AmalgamationFactory()=default
Constructor.
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.
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.
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar