Skip to content
Molecular structure optimizer
Branch: master
Clone or download
jhrmnn update links
[skip ci]
Latest commit bcbc10e Jan 17, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis reorganize python tooling Oct 14, 2018
berny add option to store trajectory in an XYZ format Dec 7, 2018
docs update links Jan 17, 2019
tests change criterium for a linear angle to 5° Dec 7, 2018
.gitignore update poetry version Nov 6, 2018
.travis.yml [travis] use xenial for all Nov 14, 2018
LICENSE add MPL license May 22, 2017


build coverage python pypi commits since last commit license

Berny is an optimizer of molecular geometries with respect to the total energy, using nuclear gradient information.

In each step, it takes energy and Cartesian gradients as an input, and returns a new equilibrium structure estimate.

The package implements a single optimization algorithm, which is an amalgam of several techniques, comprising the quasi-Newton method, redundant internal coordinates, an iterative Hessian approximation, a trust region scheme, and linear search. The algorithm is described in more detailed in the documentation.

Several desirable features are missing at the moment but planned, some of them being actively worked on (help is always welcome): crystal geometriescoordinate constraintscoordinate weighting, transition state search.


Install and update using Pip:

pip install -U pyberny


from berny import Berny, geomlib

optimizer = Berny(geomlib.readfile(''))
for geom in optimizer:
    # get energy and gradients for geom
    optimizer.send((energy, gradients))


You can’t perform that action at this time.