How to use CPMD on ENEA-grid

Application Name: CPMD
Discipline: Computational Materials Science

The CPMD code is a parallelized plane wave/pseudopotential implementation of Density Functional Theory, particularly designed for ab-initio molecular dynamics. Some features are: works with norm conserving or ultrasoft pseudopotentials, LDA, LSD and the most popular gradient correction schemes; free energy density functional implementation, isolated systems and system with periodic boundary conditions; k-points, molecular and crystal symmetry, wavefunction optimization: direct minimization and diagonalization, geometry optimization: local optimization and simulated annealing, molecular dynamics: constant energy, constant temperature and constant pressure, path integral MD, response functions, excited states, many electronic properties, time-dependent DFT (excitations, molecular dynamics in excited states), coarse-grained non-Markovian metadynamics.

In this page you can find the launching and submission syntax for CPMD code on the ENEA-GRID. Please, read the following documentation for running serial/parallel application on CRESCO clusters using LSF framework: Batch Jobs / LSF. This is not a tutorial about using codes like CPMD, for that, you may find documentation and tutorial on the official web site

The CPMD ver.3.15.3, ver.3.17.1 and ver.4.1.0 are available for use on ENEA-GRID for legitimate CPMD license holders. Request for access to CPMD must go directly to cmast lab contacts. You will need to provide evidence of a CPMD license such as the original registration e-mail. A license must be obtained from

ENEA-GRID/CRESCO utilization rules (link).




LSF submission
bsub -n N -q queue bsub_options -o file.out -e file.err cpmdxxx_par
bsub -n 1 -q queue bsub_options -o file.out -e file.err cpmdxxx_ser

CPMD version 4.1.0 (manual)
  • To use CPMD ver.4.1.0 replace xxx with 4.1.0.
CPMD version 3.17.1 (manual)
  • To use CPMD ver.3.17.1 replace xxx with 3.17.1.
CPMD version 3.15.3 (manual)
  • To use CPMD ver.3.15.3 replace xxx with 3.15.3.
example for submission on CRESCO3: cresco3x001, cresco3x002.
bsub -n 240 -q cresco3_72h24 -o file.out -e err.dat cpmdxxx_par
bsub -n 48 -q cresco3_h144 -o file.out -e err.dat cpmdxxx_par
bsub -n 1 -q cresco3_h144 -o file.out -e err.dat cpmdxxx_ser

example for submission on CRESCO4: cresco4x001, cresco4x002.
bsub -n 400 -q cresco4_256h24 -o file.out -e err.dat cpmdxxx_par
bsub -n 64 -q cresco4_16h24 -o file.out -e err.dat cpmdxxx_par
bsub -n 64 -q cresco4_h6 -o file.out -e err.dat cpmdxxx_par
bsub -n 1 -q small_h144 -o file.out -e err.dat cpmdxxx_se

example for submission on CRESCOF: crescof01.
bsub -n 240 -q parallel -o file.out -e err.dat cpmdxxx_par
bsub -n 1 -q serial -o file.out -e err.dat cpmdxxx_ser

  • It is not necessary to set the MPI enviroment;
  • From each cresco cluster it is possible to use RESTART files generated by the other cresco clusters;
  • For the interactive submission on the front-ends cresco3x002 and cresco4x002 use the command:
    • cpmdxxx_ser > file.out
  • Pseudopotentials: different types of pseudopotentials are in the directory:
    /afs/ (link);
    • Pseudopotentials webpage on (link);
    • external link.
  • The CPMD test suite, with input and reference outputs, is in the directory:
    /afs/ (link).
  • The cpmd2cube, trimcube and cutcube utilities for cubefile are available on the CRESCO front-ends. The commands are:
    • cpmd2cube;
    • cpmdtrimcube;
    • cpmdcutcube.
Some useful bsub options: -W time_in_minute, -R "span[ptile=16]", -R "span[ptile=24]",
-R "same[model]", -R "select[model==xxx]",
-R "select[hname==crescoxx1 || hname==crescoxx2]", -R "select[hname!=crescoxx3]"

Cookies Policy