duartegroup / autodE

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

Better optimisers for NEB #293

Open shoubhikraj opened 11 months ago

shoubhikraj commented 11 months 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.