The atomic simulation environment-a Python library for working with atoms

AH Larsen and JJ Mortensen and J Blomqvist and IE Castelli and R Christensen and M Dulak and J Friis and MN Groves and B Hammer and C Hargus and ED Hermes and PC Jennings and PB Jensen and J Kermode and JR Kitchin and EL Kolsbjerg and J Kubal and K Kaasbjerg and S Lysgaard and JB Maronsson and T Maxson and T Olsen and L Pastewka and A Peterson and C Rostgaard and J Schiotz and O Schutt and M Strange and KS Thygesen and T Vegge and L Vilhelmsen and M Walter and ZH Zeng and KW Jacobsen, JOURNAL OF PHYSICS-CONDENSED MATTER, 29, 273002 (2017).

DOI: 10.1088/1361-648X/aa680e

The atomic simulation environment (ASE) is a software package written in the Python programming language with the aim of setting up, steering, and analyzing atomistic simulations. In ASE, tasks are fully scripted in Python. The powerful syntax of Python combined with the NumPy array library make it possible to perform very complex simulation tasks. For example, a sequence of calculations may be performed with the use of a simple 'for-loop' construction. Calculations of energy, forces, stresses and other quantities are performed through interfaces to many external electronic structure codes or force fields using a uniform interface. On top of this calculator interface, ASE provides modules for performing many standard simulation tasks such as structure optimization, molecular dynamics, handling of constraints and performing nudged elastic band calculations.

Return to Publications page