10 #ifndef MUELU_TRANSPFACTORY_DEF_HPP
11 #define MUELU_TRANSPFACTORY_DEF_HPP
21 #include "MueLu_PerfUtils.hpp"
22 #include "MueLu_Utilities.hpp"
26 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
33 norecurse.disableRecursiveValidation();
34 validParamList->
set<
ParameterList>(
"matrixmatrix: kernel params", norecurse,
"MatrixMatrix kernel parameters");
36 return validParamList;
39 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
41 Input(coarseLevel,
"P");
44 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
49 RCP<Matrix> P = Get<RCP<Matrix> >(coarseLevel,
"P");
52 if (P == Teuchos::null)
return;
58 if (pL.
isSublist(
"matrixmatrix: kernel params"))
64 Tparams->
set(
"compute global constants: temporaries", Tparams->
get(
"compute global constants: temporaries",
false));
65 Tparams->
set(
"compute global constants", Tparams->
get(
"compute global constants",
false));
71 params->
set(
"printLoadBalancingInfo",
true);
72 params->
set(
"printCommInfo",
true);
76 Set(coarseLevel,
"R", R);
79 if (P->IsView(
"stridedMaps"))
80 R->CreateView(
"stridedMaps", P,
true);
86 #endif // MUELU_TRANSPFACTORY_DEF_HPP
T & get(const std::string &name, T def_value)
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
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)
Print even more statistics.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Class that holds all level-specific information.
bool isSublist(const std::string &name) const
static RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Transpose(Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, bool optimizeTranspose=false, const std::string &label=std::string(), const Teuchos::RCP< Teuchos::ParameterList > ¶ms=Teuchos::null)
static std::string PrintMatrixInfo(const Matrix &A, const std::string &msgTag, RCP< const Teuchos::ParameterList > params=Teuchos::null)
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
ParameterList & sublist(const std::string &name, bool mustAlreadyExist=false, const std::string &docString="")
int GetLevelID() const
Return level number.
std::string toString(const T &t)