46 #ifndef MUELU_CONSTRAINTFACTORY_DEF_HPP
47 #define MUELU_CONSTRAINTFACTORY_DEF_HPP
51 #include "MueLu_Constraint.hpp"
56 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
64 return validParamList;
67 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
69 Input(fineLevel,
"Nullspace",
"FineNullspace");
70 Input(coarseLevel,
"Nullspace",
"CoarseNullspace");
71 Input(coarseLevel,
"Ppattern");
74 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
78 RCP<MultiVector> fineNullspace = Get<RCP<MultiVector> >(fineLevel,
"Nullspace",
"FineNullspace");
79 RCP<MultiVector> coarseNullspace = Get<RCP<MultiVector> >(coarseLevel,
"Nullspace",
"CoarseNullspace");
82 constraint->Setup(*fineNullspace, *coarseNullspace,
85 Set(coarseLevel,
"Constraint", constraint);
90 #endif // MUELU_CONSTRAINTFACTORY_DEF_HPP
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.
Constraint space information for the potential prolongator.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Class that holds all level-specific information.
void Build(Level &fineLevel, Level &coarseLevel) const
Build method.
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.