47 #ifndef STRATIMIKOS_MUELU_TPETRA_HELPERS_HPP 
   48 #define STRATIMIKOS_MUELU_TPETRA_HELPERS_HPP 
   51 #include "Stratimikos_DefaultLinearSolverBuilder.hpp" 
   56 #if defined(HAVE_MUELU_EXPERIMENTAL) && defined(HAVE_MUELU_TEKO) 
   63 #include "Teuchos_AbstractFactoryStd.hpp" 
   67 namespace Stratimikos {
 
   72   template <
typename LocalOrdinal = MueLu::DefaultLocalOrdinal, 
typename GlobalOrdinal = MueLu::DefaultGlobalOrdinal, 
typename Node = MueLu::DefaultNode>
 
   73   void enableMueLu(DefaultLinearSolverBuilder& builder, 
const std::string& stratName = 
"MueLu")
 
   78                                "Stratimikos::enableMueLu cannot add \"" + stratName +
"\" because it is already included in builder!");
 
   80     typedef Thyra::PreconditionerFactoryBase<double>                                     Base;
 
   83     builder.setPreconditioningStrategyFactory(Teuchos::abstractFactoryStd<Base, Impl>(), stratName);
 
   89   template <
typename LocalOrdinal = MueLu::DefaultLocalOrdinal, 
typename GlobalOrdinal = MueLu::DefaultGlobalOrdinal, 
typename Node = MueLu::DefaultNode>
 
   90   void enableMueLuRefMaxwell(DefaultLinearSolverBuilder& builder, 
const std::string& stratName = 
"MueLuRefMaxwell")
 
   95                                "Stratimikos::enableMueLuRefMaxwell cannot add \"" + stratName +
"\" because it is already included in builder!");
 
   97     typedef Thyra::PreconditionerFactoryBase<double>                                     Base;
 
  100     builder.setPreconditioningStrategyFactory(Teuchos::abstractFactoryStd<Base, Impl>(), stratName);
 
  103 #if defined(HAVE_MUELU_EXPERIMENTAL) && defined(HAVE_MUELU_TEKO) 
  106   void enableMueLuTpetraQ2Q1(DefaultLinearSolverBuilder &builder, 
const std::string &stratName = 
"MueLu");
 
  112   template <
typename LocalOrdinal, 
typename GlobalOrdinal, 
typename Node>
 
  117                                "Stratimikos::enableMueLuTpetraQ2Q1 cannot add \"" + stratName +
"\" because it is already included in builder!");
 
  119     typedef Thyra::PreconditionerFactoryBase<double>                                              Base;
 
  122     builder.setPreconditioningStrategyFactory(Teuchos::abstractFactoryStd<Base, Impl>(), stratName);
 
void enableMueLuTpetraQ2Q1(DefaultLinearSolverBuilder &builder, const std::string &stratName="MueLu")
Concrete preconditioner factory subclass for Thyra based on MueLu.Add support for MueLu preconditione...
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Concrete preconditioner factory subclass based on MueLu. 
bool isParameter(const std::string &name) const 
Concrete preconditioner factory subclass for Thyra based on MueLu.Add support for MueLu preconditione...
void enableMueLu(DefaultLinearSolverBuilder &builder, const std::string &stratName="MueLu")
void enableMueLuRefMaxwell(DefaultLinearSolverBuilder &builder, const std::string &stratName="MueLuRefMaxwell")