42 #ifndef THYRA_DEFAULT_NONLINEAR_SOLVER_BUILDER_HPP 43 #define THYRA_DEFAULT_NONLINEAR_SOLVER_BUILDER_HPP 45 #include "Thyra_NonlinearSolverBuilderBase.hpp" 46 #include "Teuchos_AbstractFactory.hpp" 62 :
public Thyra::NonlinearSolverBuilderBase<double>
78 &nonlinearSolverFactory,
79 const std::string &nonlinearSolverTypeName
109 virtual Teuchos::RCP<NonlinearSolverBase<Scalar> >
119 typedef RCP<const AbstractFactory<Thyra::NonlinearSolverBase<double> > >
125 RCP<ParameterList> paramList_;
126 mutable RCP<const ParameterList> validParamList_;
127 Array<std::string> validNonlinearSolverNames_;
128 Array<ns_fcty_t> nonlinearSolverArray_;
129 std::string defaultNonlinearSolverName_;
134 void initializeDefaults();
145 template<
class NonlinearSolverType,
class Scalar>
146 void setNonlinearSolverFactory(
147 const std::string &nonlinearSolverTypeName,
148 const Ptr<DefaultNonlinearSolverBuilder<Scalar> > &defaultNonlinearSolverBuilder
151 TEUCHOS_TEST_FOR_EXCEPT(
true);
155 #endif // THYRA_DEFAULT_NONLINEAR_SOLVER_BUILDER_HPP RCP< ParameterList > getNonconstParameterList()
DefaultNonlinearSolverBuilder()
RCP< const ParameterList > getParameterList() const
Base class for all nonlinear equation solvers.
std::string getNonlinearSolverName() const
Get the name of the NonlinearSolver type that will be created on the next call to this->createNonline...
RCP< ParameterList > unsetParameterList()
RCP< const ParameterList > getValidParameters() const
virtual Teuchos::RCP< NonlinearSolverBase< Scalar > > createNonlinearSolver(const std::string &nonlinearSolverTypeName) const
void setParameterList(RCP< ParameterList > const ¶mList)
Concrete subclass of Thyra::NonlinearSolverBuilderBase for creating NonlinearSolverBase objects and P...
~DefaultNonlinearSolverBuilder()
void setNonlinearSolverFactory(const RCP< const AbstractFactory< Thyra::NonlinearSolverBase< double > > > &nonlinearSolverFactory, const std::string &nonlinearSolverTypeName)
Set a new NonlinearSolverBase factory object.