CP2K

CP2K is a quantum chemistry and solid state physics software package running on graphics processing units and thousands of processing units. It is open-source and allows simulations, spectroscopy, vibrational analysis and energy minimization on a vast variety of theory levels.

2228
mentions
8
contributors

Cite this software

What CP2K can do for you

Features

CP2K allows simulations of

  • molecules
  • surfaces
  • liquids
  • crystals
  • biological systems

The supported levels of theory are

  • DFT (LDA, GGA, meta-GGA, hybrid, double-hybrid), Hartree-Fock, RPA, MP2, GW, BSE
  • Subsystem embedding
  • Semiempirical methods (AM1, PM3, PM6, RM1, MNDO, ...) and DFTB
  • Classical force fields (AMBER, CHARMM, Allegro, NequIP, DeepMD, …)

The supported types of simulations are

  • Molecular dynamics (Ab-initio-Born-Oppenheimer dynamics)
  • Metadynamics
  • Monte Carlo simulations
  • Ehrenfest dynamics
  • Core-level spectroscopy
  • Vibrational analysis
  • Transition state optimization (NEB, dimer method)
  • Energy minimization

For its high-level methods, CP2K employs pseudopotentials of the Goedecker-Teter-Hutter-type, Gaussian basis sets for the representation of orbitals and a plane-wave basis for densities. All-electron calculations are available within the GAPW approach. K-point calculations are available for a selection of methods. Plane-wave based calculations are available using the SIRIUS library.

CP2K is written in Fortran 2008 and can be run efficiently in parallel using a combination of multi-threading (OpenMP), MPI, and CUDA or Rocm. It is freely available under the GPL license.

Related Projects

DBCSR
For the exploitation of sparsity, CP2K employs the block-compressed sparse-row format as implemented in the DBCSR library. Formerly, an in-house library, it evolved into an independent project available on Github. It supports matrix-matrix multiplication and also has a tensor interface.

Information for Users

CP2K offers an extensive documentation. The official manual provides information on the installation process, a description of the different methods and an input reference. The CP2K Google group offers help for users by users and developers. Bug reports and feature request should be submitted to the CP2K Github repository.

Information for Developers

CP2K is completely open-source on Github. Bug fixes, new features and improvements to the documentation should be submitted as Pull requests on the CP2K Github page.

Logo of CP2K
Keywords
Programming languages
  • Fortran 96%
  • C 1%
  • Python 1%
  • Shell 1%
  • Other 1%
License
</>Source code
Packages
hub.docker.com

Participating organisations

Uni
Center for Advanced Systems Understanding
Paul Scherrer Institute
Pad

Reference papers

Mentions

Contributors