Skip to main content

Molecular/crystal structure optimizer

Project description

Berny

build coverage python pypi commits since last commit license code style

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 constraints, coordinate weighting, transition state search.

Berny is available in PySCF and ASE.

Installing

Install and update using Pip:

pip install -U pyberny

Example

from berny import Berny, geomlib

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

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyberny, version 0.6.2
Filename, size File type Python version Upload date Hashes
Filename, size pyberny-0.6.2-py3-none-any.whl (27.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pyberny-0.6.2.tar.gz (25.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page