User Tools

Site Tools


dev:codestructure

This is an old revision of the document!


CP2K Code Structure

CP2K is a large, complex application which has many features, methods and algorithms implemented. When looking at the code for the first time it can be very challenging to understand how it all works, or even where to start looking! This page is intended for novice developers who have read and understood the literature and wish to locate the relevant algorithms and data structures in the code.

- Source files should have prefix:

  1. qs_* for Quickstep related source codes (Hamiltonian

construction, integration, collocation, energy minimisation and

     SCF cycle etc)
   - ''xc_*'' for Exchange-Correlation functionals used by Quickstep
   - ''md_*'' for Molecular Dynamics related source codes
   - ''mc_*'' for Quantum Monte Carlo related source codes
   - ''fist_*'' for FIST classical MD related source codes
   - ''input_*'' for general input functions of CP2K
   - ''qmmm_*'' for QM/MM related source codes
   - ''messsage_*'' for MPI message passing related source codes
   - ''machine_*'' for architecture dependent codes
   - ''admm_*'' for auxilliary density matrix (ADMM) method related codes
 - These prefixes are not exclusive, nor are they always
   logical. There are exceptions in code naming conventions.
dev/codestructure.1381330902.txt.gz · Last modified: 2020/08/21 10:14 (external edit)