PyBerny DocumentationΒΆ
This Python package can optimize molecular structures (with experimental support for crystals) with respect to total energy, using nuclear gradient information.
In each step, it takes energy and Cartesian gradients as an input, and returns a new structure estimate.
The algorithm is an amalgam of several techniques, comprising redundant internal coordinates, iterative Hessian estimate, trust region, line search, and coordinate weighting, mostly inspired by the optimizer in the Gaussian program.
The Birkholz benchmark molecules used to test the optimizer can be browsed in an interactive 3D viewer.
- Getting started
- Algorithm
- Standard method β full reference
- How to read this page
- Notation
- Overview of one optimization step
- Coordinate definitions
- Construction of the coordinate set
- B-matrix
- Generalised inverse
- Projection
- RFO step
- Trust region
- Hessian update
- Back-transformation
- Initial Hessian
- Convergence
- Coordinate weighting
- Linear search
- PyBerny vs. SM at a glance
- Additional references
- API