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.
CP2K allows simulations of
The supported levels of theory are
The supported types of simulations are
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.
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.
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.
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.