10 #ifndef MUELU_INITIALBLOCKNUMBER_FACTORY_DEF_HPP
11 #define MUELU_INITIALBLOCKNUMBER_FACTORY_DEF_HPP
14 #include "Xpetra_Map.hpp"
26 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
29 #define SET_VALID_ENTRY(name) validParamList->setEntry(name, MasterList::getEntry(name))
31 #undef SET_VALID_ENTRY
35 return validParamList;
38 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
40 Input(currentLevel,
"A");
43 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
48 RCP<Matrix> A = Get<RCP<Matrix> >(currentLevel,
"A");
49 LO blocksize = as<LO>(pL.
get<
int>(
"aggregation: block diagonal: interleaved blocksize"));
51 GetOStream(
Statistics1) <<
"Generating interleaved blocking with " << blocksize <<
" equations" << std::endl;
54 for (
LO i = 0; i < (
LO)A->getRowMap()->getLocalNumElements(); i++)
55 bn_data[i] = i % blocksize;
57 Set(currentLevel,
"BlockNumber", BlockNumber);
62 #endif // MUELU_INITIALBLOCKNUMBER_FACTORY_DEF_HPP
void DeclareInput(Level ¤tLevel) const
Specifies the data that this class needs, and the factories that generate that data.
#define SET_VALID_ENTRY(name)
T & get(const std::string &name, T def_value)
void Build(Level ¤tLevel) const
Build an object with this factory.
Timer to be used in factories. Similar to Monitor but with additional timers.
ParameterList & set(std::string const &name, T &&value, std::string const &docString="", RCP< const ParameterEntryValidator > const &validator=null)
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Class that holds all level-specific information.
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.