i-PI v2 has been released!

The second release of i-PI is ready for download. Several new features including replica exchange molecular dynamics, instanton calculations, perturbed path integrals and open path integrals have been implemented and merged to the master branch in the official i-PI repo, which has also been stripped of the (rather intricate) git history. The release is accompanied by the publication of a reference paper on Computer Physics Communications, that constitutes the new default reference to acknowledge use of this release. The reference paper is also freely available in arXiv. Further development of i-PI will happen on the official repository. You are invited to fork and contribute back by means of pull requests.

i-PI is a universal force engine interface written in Python, designed to be used together with an ab-initio (or force-field based) evaluation of the interactions between the atoms. The main goal is to decouple the problem of evolving the ionic positions to sample the appropriate thermodynamic ensemble and the problem of computing the inter-atomic forces.


The implementation is based on a client-server paradigm, where i-PI acts as the server and deals with the propagation of the nuclear motion, whereas the calculation of the potential energy, forces and the potential energy part of the pressure virial is delegated to one or more instances of an external code, acting as clients.

i-PI is free software, distributed under a dual MIT/GPLv3 licence. You are welcome to dowload, use, modify and redistribute it. If you find it useful for your research, a citation would be appreciated to

Kapil et al., Comp. Phys. Comm. 236, 214–223 (2018)

As of today, the following codes provide out-of-the-box an i-PI interface: CP2K, DFTB+, Lammps, Quantum ESPRESSO, Siesta, FHI-aims, Yaff, deMonNano, TBE. If you are interested in interfacing your code to i-PI please get in touch, we are always glad to help!

If you have questions about running i-PI calculations, or including new features into the code, you can get help on the user forum, or on the github pages.