44 #ifndef ROL_KRYLOVFACTORY_H 45 #define ROL_KRYLOVFACTORY_H 49 #include "Teuchos_ParameterList.hpp" 50 #include "Teuchos_RCP.hpp" 63 inline Teuchos::RCP<Krylov<Real> >
KrylovFactory( Teuchos::ParameterList &parlist ) {
64 Real em4(1e-4), em2(1e-2);
66 parlist.sublist(
"General").sublist(
"Krylov").get(
"Type",
"Conjugate Gradients"));
67 Real absTol = parlist.sublist(
"General").sublist(
"Krylov").get(
"Absolute Tolerance", em4);
68 Real relTol = parlist.sublist(
"General").sublist(
"Krylov").get(
"Relative Tolerance", em2);
69 int maxit = parlist.sublist(
"General").sublist(
"Krylov").get(
"Iteration Limit", 20);
70 bool inexact = parlist.sublist(
"General").get(
"Inexact Hessian-Times-A-Vector",
false);
78 default:
return Teuchos::null;
Provides definition of the Conjugate Residual solver.
Contains definitions of custom data types in ROL.
EKrylov
Enumeration of Krylov methods.
EKrylov StringToEKrylov(std::string s)
Preconditioned GMRES solver.
Provides definitions of the Conjugate Gradient solver.
Teuchos::RCP< Krylov< Real > > KrylovFactory(Teuchos::ParameterList &parlist)