LAUTOSCALE=.TRUE. problem in LBFGS?
Posted: Mon Sep 14, 2015 2:44 pm
Hello,
I've had an issue with the LBFGS optimizer for a while now, and I may have even mentioned it in a previous thread, but now I've found a good test case that shows that the problem is related to the inverse curvature calculation. Basically, during a geometry minimization the energy will occasionally spike due to atoms moving far too close to one another. I noticed that these spikes were preceded by the printed value of invcurv in the OUTCAR file becoming large (over 0.1, occasionally reaching 0.5). I found that by setting LAUTOSCALE=.FALSE. in the INCAR, the geometry relaxation becomes monotonic decreasing after an initial spike, and converges with 30% fewer ionic steps. I imagine that lowering the value of MAXMOVE may also solve this issue, but I have not tested that yet.
My question is, does this look like a bug? Or perhaps is it simply a poor default setting for MAXMOVE? Or are my systems just pathological? In any case, I'd be interested in hearing your opinions on these examples.
(Note: If you run my calculation as they are presented here you will not converge to the same value, because I am using a custom-patched version of VASP that implements the three-body contributions to Grimme's D3 dispersion correction).
I've had an issue with the LBFGS optimizer for a while now, and I may have even mentioned it in a previous thread, but now I've found a good test case that shows that the problem is related to the inverse curvature calculation. Basically, during a geometry minimization the energy will occasionally spike due to atoms moving far too close to one another. I noticed that these spikes were preceded by the printed value of invcurv in the OUTCAR file becoming large (over 0.1, occasionally reaching 0.5). I found that by setting LAUTOSCALE=.FALSE. in the INCAR, the geometry relaxation becomes monotonic decreasing after an initial spike, and converges with 30% fewer ionic steps. I imagine that lowering the value of MAXMOVE may also solve this issue, but I have not tested that yet.
My question is, does this look like a bug? Or perhaps is it simply a poor default setting for MAXMOVE? Or are my systems just pathological? In any case, I'd be interested in hearing your opinions on these examples.
(Note: If you run my calculation as they are presented here you will not converge to the same value, because I am using a custom-patched version of VASP that implements the three-body contributions to Grimme's D3 dispersion correction).