duartegroup / autodE

automated reaction profile generation
https://duartegroup.github.io/autodE/
MIT License
173 stars 52 forks source link

Better optimisers for NEB #293

Open shoubhikraj opened 1 year ago

shoubhikraj commented 1 year ago

Currently autodE's NEB uses scipy's LBFGS. However, scipy uses a function value tolerance criteria that stops the optimiser when relative reduction in the value is below certain range "REL_REDUCTION_OFF <= FACTR * EPSMCH". Most NEB implementations (ORCA, NWChem) use a gradient convergence criteria. It seems that not using gradient criteria can cause the NEB to not converge completely. Also, the convergence is inconsistent with number of images, so CI-NEB(10) does not seem to provide better TS guess than CI-NEB(5), but increasing number of images should generally improve results. I have encountered this problem particularly with metal systems such as Pd(OAc)2 benzene C-H activation.

This can be fixed by using our own LBFGS optimisers and gradient criteria.