1#ifndef CHITECH_CHI_MATH_NON_LINEAR_SOLVER_H
2#define CHITECH_CHI_MATH_NON_LINEAR_SOLVER_H
16template <
class MatType,
class VecType,
class SolverType>
26 :
solver_name_(params.GetParamValue<std::string>(
"name")),
virtual ~NonLinearSolver()
virtual void SetMonitor()
NonLinearSolverContext< VecType, SolverType > NLSolverContext
NonLinearSolverOptions & ToleranceOptions()
virtual void PostSolveCallback()
virtual void SetConvergenceTest()
virtual void PreSolveCallback()
const std::string solver_name_
virtual void SetSystemSize()=0
std::shared_ptr< NLSolverContext > NLSolverContextPtr
NonLinearSolverOptions options_
virtual void SetOptions()
std::string converged_reason_string_
NonLinearSolver(NLSolverContextPtr context_ptr, const chi::InputParameters ¶ms=NonLinearSolverOptions::GetInputParameters())
std::string GetConvergedReasonString() const
virtual void SetSystem()=0
NLSolverContextPtr context_ptr_
virtual void SetPreconditioner()
virtual void SetFunction()=0
NLSolverContextPtr & GetContext()
void ApplyToleranceOptions()
virtual void PostSetupCallback()
virtual void SetJacobian()=0
virtual void SetSolverContext()
virtual void PreSetupCallback()
virtual void SetInitialGuess()=0
static chi::InputParameters GetInputParameters()