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);
Exception throws to report errors in the internal logical of the program.
Teuchos::RCP< Teuchos::ParameterList > SetParameterList(const Teuchos::ParameterList ¶mList)
Set parameter list for FacadeClassFactory interpreter.
FacadeClassFactory()
Constructor.
Namespace for MueLu classes and methods.