What is CPMD?

The CPMD (Car-Parrinello Molecular Dynamics) code is a parallelized plane wave/pseudopotential implementation of density functional theory (DFT) designed to perform AIMD, i.e. ab initio molecular dynamics in its Car-Parrinello, Born-Oppenheimer, or time-dependent DFT based excited states flavor.

CPMD works with norm conserving as well as ultrasoft pseudopotentials. It has local density and local spin density, the most popular generalized gradient corrected and hybrid density functionals, as well as a electronic free energy density functional implementation. Isolated systems and system with periodic boundary conditions can be treated, and k-points be sampled. Molecular and crystal symmetry can be imposed. Wavefunction optimization methods include direct minimization and diagonalization. Geometries can be optimized locally or through simulated annealing. AIMD can be carried out in constant energy, constant temperature and constant pressure ensembles. Path integral AIMD is available for nuclear quantum effects. Response functions of electronic properties and nuclear chemical shifts can be calculated as well as excited states. Many electronic properties are available including polarizabilities, electronic excitations, vibrational frequencies. A wide range of optimization algorithms is implemented, as well as constraints on electrons and atoms. Enhanced sampling methods, such as simulated annealing and meta-dynamics are also available.

Obtaining CPMD

A license must be obtained from http://cpmd.org/search?SearchableText=cpmd+license

Building CPMD for Blue Gene/Q

The current CPMD version, 3.15.3, has not yet a configuration script that generates an official BGQ Makefile. A BGQ Makefile for the 3.15.3_HFX version can be found here:


The code can be run in c8 mode.

Accessing CPMD on Mira

CPMD 3.15.3_HFX is available for use on Mira for legitimate CPMD license holders. Request for access to CPMD 3.15.3_HFX must go directly to support@alcf.anl.gov. You will need to provide evidence of a CPMD license such as the original registration e-mail.

Sample Makefile


Associated Documents: