Interface a class must implement to have its root found by BisectionSolver. Unlike NewtonRaphsonSolverFunction, no derivative (getForce) is required - bisection only ever evaluates getValue(), which is what makes it immune to sharply-peaked or vanishing derivatives that can send Newton-Raphson to +-infinity. More...
#include <BisectionSolverFunction.h>
Public Member Functions | |
| virtual | ~BisectionSolverFunction ()=default |
| virtual const ValueType | getValue (ValueType &x) const =0 |
| virtual void | setSolution (const ValueType &x)=0 |
| virtual void | getSolution (ValueType &solution)=0 |
| virtual const ValueType | getLowerBound () const =0 |
| Lower end of an interval known to bracket the root, i.e. getValue(getLowerBound()) and getValue(getUpperBound()) must have opposite signs (or one of them exactly zero). More... | |
| virtual const ValueType | getUpperBound () const =0 |
| Upper end of the bracketing interval. See getLowerBound(). More... | |
Interface a class must implement to have its root found by BisectionSolver. Unlike NewtonRaphsonSolverFunction, no derivative (getForce) is required - bisection only ever evaluates getValue(), which is what makes it immune to sharply-peaked or vanishing derivatives that can send Newton-Raphson to +-infinity.
|
virtualdefault |
|
pure virtual |
Lower end of an interval known to bracket the root, i.e. getValue(getLowerBound()) and getValue(getUpperBound()) must have opposite signs (or one of them exactly zero).
Implemented in dftefe::ksdft::FractionalOccupancyFunction.

|
pure virtual |
Implemented in dftefe::ksdft::FractionalOccupancyFunction.
|
pure virtual |
Upper end of the bracketing interval. See getLowerBound().
Implemented in dftefe::ksdft::FractionalOccupancyFunction.

|
pure virtual |
Implemented in dftefe::ksdft::FractionalOccupancyFunction.

|
pure virtual |
Implemented in dftefe::ksdft::FractionalOccupancyFunction.
