20#ifndef NonLinearSolver_h
21#define NonLinearSolver_h
73 const std::string checkpointFileName =
"",
74 const bool restart =
false) = 0;
77 save(
const std::string &checkpointFileName) = 0;
86 const unsigned int maxNumberIterations,
87 const double tolerance = 0);
const double d_tolerance
nonlinear solve stopping tolerance
Definition nonLinearSolver.h:123
virtual ReturnValueType solve(nonlinearSolverProblem &problem, const std::string checkpointFileName="", const bool restart=false)=0
Solve non-linear algebraic equation.
unsigned int getMaximumNumberIterations() const
Get maximum number of iterations.
double getTolerance() const
Get tolerance.
const unsigned int d_debugLevel
controls the verbosity of the printing
Definition nonLinearSolver.h:117
virtual ~nonLinearSolver()=0
Destructor.
virtual void save(const std::string &checkpointFileName)=0
nonLinearSolver(const unsigned int debugLevel, const unsigned int maxNumberIterations, const double tolerance=0)
Constructor.
unsigned int getDebugLevel() const
Get debug level.
ReturnValueType
Definition nonLinearSolver.h:45
@ MAX_ITER_REACHED
Definition nonLinearSolver.h:49
@ RESTART
Definition nonLinearSolver.h:50
@ FAILURE
Definition nonLinearSolver.h:47
@ LINESEARCH_FAILED
Definition nonLinearSolver.h:48
@ SUCCESS
Definition nonLinearSolver.h:46
const unsigned int d_maxNumberIterations
maximum number of nonlinear solve iterations
Definition nonLinearSolver.h:120
Abstract class for solver functions.
Definition nonlinearSolverProblem.h:30
Definition pseudoPotentialToDftfeConverter.cc:34