- Contact us
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 DFTB, LDA, GGA, MP2, RPA, 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. It is therefore easy to give the code a try, and to make modifications as needed.
CP2K is freely available under the GPL license and is used by thousands of users worldwide. CP2K has over 200 reference papers which describe the implemented features. There are currently over 25 developers and many contributors to the code. The user forum hosted on Google groups is active and the questions and answers are exchanged every day.
CP2K relies on the performance and scalability of several external numerical libraries such as PBLAS, ScaLAPACK, ELPA and DBCSR. While DBCSR – a sparse matrix-matrix multiplication library – is already optimized for parallel performance and has multiple architecture backends, other libraries, such as ScaLAPACK are lagging behind. CP2K has a dedicated page on representative performance benchmarks. It contains input files and the results of the execution on different platforms.
CP2K is a program to perform simulations of solid state, liquid, molecular and biological systems. It is especially aimed at massively parallel and linear scaling electronic structure methods and state-of-the-art ab-initio molecular dynamics (AIMD) simulations.
CP2K is optimized for the mixed Gaussian and Plane-Waves (GPW) method based on pseudopotentials, but is able to run all-electron or pure plane-wave/Gaussian calculations as well. Features include the following.
Ab-initio electronic structure theory methods using the QUICKSTEP module
Ab-initio Molecular Dynamics
Mixed quantum-classical (QM/MM) simulations
Further features include
CP2K does not implement conventional Car-Parrinello Molecular Dynamics (CPMD).
CP2K is written in Fortran90 with MPI+OpenMP+CUDA programming model. The high standards of coding and software development are respected: code is modularised, documented and uniformly formatted, continuous integration and regression testing is used to check every commit, issues are tracked on the Github page.
CP2K depends on many libraries that are used to perform linear algebra operations, compute symmetries, special functions, exchange-correlation potentials, Fourier transforms, etc. The performance crucial libraries for CP2K are: PBLAS, ScaLAPACK, ELPA, SIRIUS, and DBCSR. Not all of them are used in a single calculations (this depends on the method being employed)
CP2K is using MPI for the distributed memory operations. The node-level parallelism is implemented with OpenMP. This is especially useful for the GPU-accelerated backend libraries which usually work well then the GPU card is not shared between many MPI ranks on a node. CUDA programming model is used in DBCSR library for sparse matrix-matrix multiplication which is a key component in O(N) linear scaling method of CP2K.
CP2K is optimized to avoid I/O operations. Checkpoints are written during the MD runs. Potential and density on the regular grid are saved at the end of the simulation.