47 #ifndef PACKAGES_MUELU_SRC_INTERFACE_FACADECLASSES_MUELU_FACADECLASSFACTORY_DEF_HPP_ 48 #define PACKAGES_MUELU_SRC_INTERFACE_FACADECLASSES_MUELU_FACADECLASSFACTORY_DEF_HPP_ 50 #include <Teuchos_XMLParameterListHelpers.hpp> 51 #include <Teuchos_XMLParameterListCoreHelpers.hpp> 56 #include "MueLu_FacadeClassBase.hpp" 64 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
71 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
74 TEUCHOS_TEST_FOR_EXCEPTION(paramList.isParameter(
"MueLu preconditioner") ==
false,
MueLu::Exceptions::RuntimeError,
"FacadeClassFactory: undefined MueLu preconditioner. Set the \"MueLu preconditioner\" parameter correctly in your input file.");
75 TEUCHOS_TEST_FOR_EXCEPTION(paramList.get<std::string>(
"MueLu preconditioner") ==
"undefined",
MueLu::Exceptions::RuntimeError,
"FacadeClassFactory: undefined MueLu preconditioner. Set the \"MueLu preconditioner\" parameter correctly in your input file.");
77 std::string precMueLu = paramList.get<std::string>(
"MueLu preconditioner");
80 if(facadeClasses_.find(precMueLu) == facadeClasses_.end()) {
81 GetOStream(
Errors) <<
"FacadeClassFactory: Could not find facade class \"" << precMueLu <<
"\"!" << std::endl;
82 GetOStream(
Errors) <<
"The available facade classes are:" << std::endl;
84 GetOStream(
Errors) <<
" " << it->first << std::endl;
89 return facadeClasses_[precMueLu]->SetParameterList(paramList);
Namespace for MueLu classes and methods.
Teuchos::RCP< Teuchos::ParameterList > SetParameterList(const Teuchos::ParameterList ¶mList)
Set parameter list for FacadeClassFactory interpreter.
FacadeClassFactory()
Constructor.
Exception throws to report errors in the internal logical of the program.