Page tree


CP2K is a program to perform atomistic and molecular simulations of solid state, liquid, molecular, and biological systems.

It provides a general framework for different methods such as e.g., density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW) and classical pair and many-body potentials.

For more information, see the CP2K web site

How to use

First you need to decide on the version of the software you want to use. Use

 $ module avail cp2k

to check what versions are available. We recommend using the latest version available. For example, to load the 7.1.0 version of cp2k use

$ module load cp2k/8.1.0

For more details on using modules see our software applications guide. 

Here is an example of a parallel cp2k job.

The example pbs job script cp2k_pbs uses a fictitious project a99, using 48 cpus, and is submitted to run within 10 minutes of wall clock time, and 64 GiB of memory.

#PBS -P a99
#PBS -l ncpus=48
#PBS -l mem=64GB
#PBS -l walltime=10:00:00
#PBS -l software=cp2k
#PBS -l wd
# Load module, always specify version number.
module load cp2k/8.1.0
# Must include `#PBS -l storage=scratch/ab12+gdata/yz98` if the job
# needs access to `/scratch/ab12/` and `/g/data/yz98/`
mpirun cp2k.psmp your-input-file-name

To submit the job to the queueing system:

$ qsub cp2k_pbs

Special note for running cp2k v9.1.0 and v2022.1 on multiple nodes

An extra parameter -mca coll_hcoll_enable 0 needs to be added to mpirun line, so it should look like this:

mpirun -mca coll_hcoll_enable 0 cp2k.psmp your-input-file-name

Authors: Yue Sun, Andrey Bliznyuk, Mohsin Ali
  • No labels