47 #ifndef MUELU_BLOCKEDCOARSEMAPFACTORY_DEF_HPP_
48 #define MUELU_BLOCKEDCOARSEMAPFACTORY_DEF_HPP_
51 #include <Xpetra_StridedMapFactory.hpp>
56 #include "MueLu_Aggregates.hpp"
63 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
69 validParamList->
set<
RCP<const FactoryBase>>(
"CoarseMap", Teuchos::null,
"Generating factory of previous coarse map. (must be set by user!).");
72 validParamList->
set<std::string>(
"Striding info",
"{}",
"Striding information");
73 validParamList->
set<
LocalOrdinal>(
"Strided block id", -1,
"Strided block id");
75 return validParamList;
78 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
80 this->Input(currentLevel,
"Aggregates");
81 this->Input(currentLevel,
"Nullspace");
89 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
93 GlobalOrdinal domainGIDOffset = GetDomainGIDOffset(currentLevel);
97 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
99 Level ¤tLevel)
const {
102 GlobalOrdinal maxGlobalIndex = subPDomainMap->getMaxAllGlobalIndex();
RCP< const ParameterList > GetValidParameterList() const final
Return a const parameter list of valid parameters that setParameterList() will accept.
MueLu::DefaultLocalOrdinal LocalOrdinal
T & Get(const std::string &ename, const FactoryBase *factory=NoFactory::get())
Get data without decrementing associated storage counter (i.e., read-only access). Usage: Level->Get< RCP<Matrix> >("A", factory) if factory == NULL => use default factory.
void Build(Level ¤tLevel) const final
Build an object with this factory.
ParameterList & set(std::string const &name, T const &value, std::string const &docString="", RCP< const ParameterEntryValidator > const &validator=null)
Timer to be used in factories. Similar to Monitor but with additional timers.
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
virtual void BuildCoarseMap(Level ¤tLevel, const GlobalOrdinal domainGIDOffset) const
Build the coarse map using the domain GID offset.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Class that holds all level-specific information.
virtual GlobalOrdinal GetDomainGIDOffset(Level ¤tLevel) const final
Compute domain GID offset from another CoarseMap.
Exception throws to report errors in the internal logical of the program.
void DeclareInput(const std::string &ename, const FactoryBase *factory, const FactoryBase *requestedBy=NoFactory::get())
Callback from FactoryBase::CallDeclareInput() and FactoryBase::DeclareInput()
void DeclareInput(Level ¤tLevel) const final
Specifies the data that this class needs, and the factories that generate that data.