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 to represent orbitals and plane-wave basis sets to represent 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 also 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 HIP. It is freely available under the GPL license (performance critical code under BSD3).
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. For larger development projects within CP2K or with CP2K as a library, contact us (Thomas Kühne or Frederick Stein) for more support.