10 #ifndef __Teko_AdaptivePreconditionerFactory_hpp__
11 #define __Teko_AdaptivePreconditionerFactory_hpp__
13 #include "Teuchos_RCP.hpp"
14 #include "Teko_PreconditionerFactory.hpp"
19 struct AdaptiveSolverSettings {
20 int numAppliesCycle = 100;
21 double targetResidualReduction = 0.1;
58 using SizeOrdinalType = Thyra::Ordinal;
68 const std::vector<Teuchos::RCP<InverseFactory>>& get_inverses()
const {
return inverses; }
70 const std::vector<Teuchos::RCP<InverseFactory>>& get_preconditioners()
const {
71 return preconditioners;
75 std::vector<Teuchos::RCP<InverseFactory>> inverses;
76 std::vector<Teuchos::RCP<InverseFactory>> preconditioners;
77 std::vector<SizeOrdinalType> maximumSizes;
78 AdaptiveSolverSettings settings{};
void initializeFromParameterList(const Teuchos::ParameterList &pl) override
This function builds the internals of the preconditioner factory from a parameter list...
Abstract class which block preconditioner factories in Teko should be based on.
LinearOp buildPreconditionerOperator(LinearOp &lo, PreconditionerState &state) const override
Function that is called to build the preconditioner for the linear operator that is passed in...
An implementation of a state object preconditioners.