CP2K

From RCSWiki
Jump to navigation Jump to search

Background


CP2K is a quantum chemistry and solid state physics software package that can perform atomistic simulations of solid state, liquid, molecular, periodic, material, crystal, and biological systems. CP2K provides a general framework for different modeling methods such as DFT using the mixed Gaussian and plane waves approaches GPW and GAPW. Supported theory levels include DFT, MP2, RPA, GW, tight-binding (xTB, DFTB), semi-empirical methods (AM1, PM3, PM6, RM1, MNDO, ...), and classical force fields (AMBER, CHARMM, ...). CP2K can do simulations of molecular dynamics, metadynamics, Monte Carlo, Ehrenfest dynamics, vibrational analysis, core level spectroscopy, energy minimization, and transition state optimization using NEB or dimer method.


CP2K is written in Fortran 2008 and can be run efficiently in parallel using a combination of multi-threading, MPI, and CUDA.

Types of Executable files

CP2K provides a single and only Makefile in cp2k/makefiles/ directory. The actual compilation settings are set in cp2k/arch/arch.version files. The arch file is included in the Makefile during a building run.

Conventionally, there are four versions:

  • sopt - serial
  • popt - parallel (only MPI) - recommended for general usage
  • ssmp - parallel (only OpenMP)
  • psmp - parallel (MPI + OpenMP)

CP2K on ARC

Various versions of CP2K software package is available on on ARC as

  • Natively installed application -- the application is compiled and built on ARC using source codes.
  • Apptainer containers -- Containerized version of CP2K is compiled by the developers and provided as-is for downloads.

Natively Installed CP2K

Currently there are several software modules on ARC that provide different versions of GROMACS. The versions differ in the release date as well as the CPU architecture the software is compiled for.

You can see them using the module command:

$ module avail cp2k
---------------------- /global/software/Modules/5.5.0/modulefiles -----------------------------------
cp2k/7.1-legacy  cp2k/7.1-skylake 

The names of the modules give hints on the specific version of CP2K they provide access to.

  • The legacy module activates the version capable of running on older hardware, such as the legacy partition on ARC.
  • The skylake module activates the version built for newer compute nodes, such as cpu2019 and newer.

Activating natively installed CP2K

Before CP2K can be used, it has to be activated. To activate the specific version of CP2K, a corresponding module has to be loaded. Like this:

$ cp2k 
bash: cp2k: command not found...

$ module load cp2k/7.1-legacy  
...

CP2K Official Containers

The more recent versions of CP2K installed on ARC have been built as Apptainer containers based off of the official docker containers available on Dockerhub.

The path to the directory with the container files is /global/software/cp2k/containers.

To see what versions of containerized CP2K are available, simply list the content of the corresponding directory:

$ ls -l /global/software/cp2k/containers/

Running commands from the containers

You can run a command from the container of your choice with the command line like this:

$ apptainer exec <container> <command> [command arguments]

Links

ARC Software