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, diagMatrix *KE_V) |
Returns the objective function at the current state and store the gradient in grad and preconditioned gradient in Kgrad, if non-null. | |
diagMatrix | precondition (const diagMatrix &grad) |
Public Member Functions inherited from Minimizable< diagMatrix > | |
virtual bool | report (int iter) |
virtual void | constrain (diagMatrix &) |
Constrain search directions to the space of free directions for minimize. | |
virtual double | sync (double x) const |
Override to synchronize scalars over MPI processes (if the same minimization is happening in sync over many processes) | |
virtual double | safeStepSize (const diagMatrix &dir) const |
Override to return maximum safe step size along a given direction. Steps can be arbitrarily large by default. | |
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.