Sella, an open-source automation-friendly molecular saddle point optimizer

20 April 2022, Version 1
This content is a preprint and has not undergone peer review at the time of posting.


We present a new algorithm for the optimization of molecular structures to saddle points on the potential energy surface using a redundant internal coordinate system. This algorithm automates the procedure of defining the internal coordinate system, including the handling of linear bending angles, e.g. through the addition of dummy atoms. Additionally, the algorithm supports constrained optimization using the null-space sequential quadratic programming formalism. Our algorithm determines the direction of the reaction coordinate through iterative diagonalization of the Hessian matrix, and does not require evaluation of the full Hessian matrix. Geometry optimization steps are chosen using the restricted step partitioned rational function optimization method, and displacements are realized using a high-performance geodesic stepping algorithm. This results in a robust and efficient optimization algorithm suitable for use in automated frameworks. We have implemented our algorithm in Sella, an open source software package designed to optimize atomic systems to saddle point structures. We also introduce a new benchmark test comprising 500 molecular structures that approximate saddle point geometries in order to enable comparison of the performance of different saddle point optimization algorithms.


geometry optimization
saddle point
internal coordinates

Supplementary materials

Optimization benchmark input files
Contains the xyz files for all 500 initial guess structures for the saddle point benchmark in this work. Additionally, contains a Python script that can be used to perform the saddle point optimizations for these structures using Sella. Requires NWChem.


Comments are not moderated before they are posted, but they can be removed by the site moderators if they are found to be in contravention of our Commenting Policy [opens in a new tab] - please read this policy before you post. Comments should be used for scholarly discussion of the content in question. You can find more information about how to use the commenting feature here [opens in a new tab] .
This site is protected by reCAPTCHA and the Google Privacy Policy [opens in a new tab] and Terms of Service [opens in a new tab] apply.