CP2K
01

Description

02

Short list of features

03

Technical Description

04

Repositories and Download

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.

Diffusion

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.   

Scaling

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

  • Density-Functional Theory (DFT) energies and forces
  • Hartree-Fock (HF) energies and forces
  • Moeller-Plesset 2nd order perturbation theory (MP2) energies and forces
  • Random Phase Approximation (RPA) energies
  • Gas phase or Periodic boundary conditions (PBC)
  • Basis sets include various standard Gaussian-Type Orbitals (GTOs), Pseudopotential plane-waves (PW), and a mixed Gaussian and (augmented) plane wave approach (GPW/GAPW)
  • PW DFT functionality (energy, forces, stress), including LAPW (all-electron).
  • Norm-conserving, seperable Goedecker-Teter-Hutter (GTH) and non-linear core corrected (NLCC) pseudopotentials, or all-electron calculations
  • Local Density Approximation (LDA) XC functionals including SVWN3, SVWN5, PW92 and PADE
  • Gradient-corrected (GGA) XC functionals including BLYP, BP86, PW91, PBE and HCTH120 as well as the meta-GGA XC functional TPSS
  • Hybrid XC functionals with exact Hartree-Fock Exchange (HFX) including B3LYP, PBE0 and MCY3
  • Double-hybrid XC functionals including B2PLYP and B2GPPLYP
  • Additional XC functionals via LibXC
  • Dispersion corrections via DFT-D2 and DFT-D3 pair-potential models
  • Non-local van der Waals corrections for XC functionals including B88-vdW, PBE-vdW and B97X-D
  • DFT+U (Hubbard) correction
  • Density-Fitting for DFT via Bloechl or Density Derived Atomic Point Charges (DDAPC) charges, for HFX via Auxiliary Density Matrix Methods (ADMM) and for MP2/RPA via Resolution-of-identity (RI)
  • Sparse matrix and prescreening techniques for linear-scaling Kohn-Sham (KS) matrix computation
  • Orbital Transformation (OT) or Direct Inversion of the iterative subspace (DIIS) self-consistent field (SCF) minimizer
  • Local Resolution-of-Identity Projector Augmented Wave method (LRIGPW)
  • Absolutely Localized Molecular Orbitals SCF (ALMO-SCF) energies for linear scaling of molecular systems
  • Excited states via time-dependent density-functional perturbation theory (TDDFPT)

 

Ab-initio Molecular Dynamics

  • Born-Oppenheimer Molecular Dynamics (BOMD)
  • Ehrenfest Molecular Dynamics (EMD)
  • PS extrapolation of initial wavefunction
  • Time-reversible Always Stable Predictor-Corrector (ASPC) integrator
  • Approximate Car-Parrinello like Langevin Born-Oppenheimer Molecular Dynamics (Second-Generation Car-Parrinello Molecular Dynamics)

 

Mixed quantum-classical (QM/MM) simulations

  • Real-space multigrid approach for the evaluation of the Coulomb interactions between the QM and the MM part
  • Linear-scaling electrostatic coupling treating of periodic boundary conditions
  • Adaptive QM/MM

 

Further features include

  • Single-point energies, geometry optimizations and frequency calculations
  • Several nudged-elastic band (NEB) algorithms (B-NEB, IT-NEB, CI-NEB, D-NEB) for minimum energy path (MEP) calculations
  • Global optimization of geometries
  • Solvation via the Self-Consistent Continuum Solvation (SCCS) model
  • Semi-Empirical calculations including the AM1, RM1, PM3, MNDO, MNDO-d, PNNL and PM6 parametrizations, density-functional tight-binding (DFTB) and self-consistent-polarization tight-binding (SCP-TB), with or without periodic boundary conditions
  • Classical Molecular Dynamics (MD) simulations in microcanonical ensemble (NVE) or canonical ensmble (NVT) with Nose-Hover and canonical sampling through velocity rescaling (CSVR) thermostats
  • Metadynamics including well-tempered Metadynamics for Free Energy calculations
  • Classical Force-Field (MM) simulations
  • Monte-Carlo (MC) KS-DFT simulations
  • Static (e.g. spectra) and dynamical (e.g. diffusion) properties
  • ATOM code for pseudopotential generation
  • Integrated molecular basis set optimization

 

CP2K does not implement conventional Car-Parrinello Molecular Dynamics (CPMD).

Software

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. 

Particular Libraries

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)

Parallel programming

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.

I/O requirements

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.