Invert Kohn-Sham equations to get effective potential for a given electron density. More...
#include <RadialSchrodinger.h>
Public Member Functions | |
InvertKS (const RadialFunctionR &nTarget) | |
Initialize for a given target electron density nTarget. | |
RadialFunctionR | getTau () |
Get the orbital KE density. | |
void | step (const diagMatrix &dV, double alpha) |
Move the state in parameter space along direction dir with scale alpha. | |
double | compute (diagMatrix *E_V) |
Returns the objective function at the current state and store the gradient in grad, if non-null. | |
diagMatrix | precondition (const diagMatrix &grad) |
![]() | |
virtual bool | report (int iter) |
virtual void | constrain (diagMatrix &) |
virtual double | sync (double x) const |
Override to synchronize scalars over MPI processes (if the same minimization is happening in sync over many processes) | |
double | minimize (const MinimizeParams ¶ms) |
Minimize this objective function with algorithm controlled by params and return the minimized value. | |
void | fdTest (const MinimizeParams ¶ms) |
Invert Kohn-Sham equations to get effective potential for a given electron density.
|
virtual |
Override to enable preconditioning: return the preconditioned gradient, given the gradient The last call to compute() is guaranteed to be at the same position, so a cached result may be returned
Reimplemented from Minimizable< diagMatrix >.