Atomic Simulation Environment

The Atomic Simulation Environment (ASE) is a set of tools and Python modules for setting up, manipulating, running, visualizing and analyzing atomistic simulations. The code is freely available under the GNU LGPL license.

ASE provides interfaces to different codes through Calculators which are used together with the central Atoms object and the many available algorithms in ASE.

>>> # Example: structure optimization of hydrogen molecule
>>> from ase import Atoms
>>> from ase.optimize import BFGS
>>> from ase.calculators.nwchem import NWChem
>>> from import write
>>> h2 = Atoms('H2',
...            positions=[[0, 0, 0],
...                       [0, 0, 0.7]])
>>> h2.calc = NWChem(xc='PBE')
>>> opt = BFGS(h2)
BFGS:   0  19:10:49    -31.435229     2.2691
BFGS:   1  19:10:50    -31.490773     0.3740
BFGS:   2  19:10:50    -31.492791     0.0630
BFGS:   3  19:10:51    -31.492848     0.0023
>>> write('', h2)
>>> h2.get_potential_energy()

Supported Calculators:

abinit Asap Atomistica CASTEP CP2K CRYSTAL deMon dftb elk exciting EMT fhi-aims fleur gpaw gromacs hotbit jacapo jdftx lammps nwchem octopus onetep q_espresso siesta turbomole vasp amber DMol³ Gaussian Grimme DFT-D3 gulp Mopac tip3p qmmm

Reference publication on ASE

Please go through this check-list to figure out if you need to convert your old ASE trajectory files to the modern file-format:


See how to identify and convert old trajectory files here: Converting old PickleTrajectory files to new Trajectory files.