User Tools

Site Tools


dev:codestructure

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
codestructure [2013/10/10 11:39] 159.92.9.130dev:codestructure [2020/08/21 10:15] (current) – external edit 127.0.0.1
Line 7: Line 7:
  
   * ''qs_*'' for Quickstep related source codes (Hamiltonian construction, integration, collocation, energy minimisation and SCF cycle etc)   * ''qs_*'' for Quickstep related source codes (Hamiltonian construction, integration, collocation, energy minimisation and SCF cycle etc)
-  * ''xc_*'' for Exchange-Correlation functionals used by Quickstep+  * ''xc_*'' for Exchange-Correlation functionals used by Quickstep 
   * ''md_*'' for Molecular Dynamics related source codes   * ''md_*'' for Molecular Dynamics related source codes
   * ''mc_*'' for Quantum Monte Carlo related source codes   * ''mc_*'' for Quantum Monte Carlo related source codes
Line 13: Line 13:
   * ''input_*'' for general input functions of CP2K   * ''input_*'' for general input functions of CP2K
   * ''qmmm_*'' for QM/MM related source codes   * ''qmmm_*'' for QM/MM related source codes
-  * ''messsage_*'' for MPI message passing related source codes+  * ''message_*'' for MPI message passing related source codes
   * ''machine_*'' for architecture dependent codes   * ''machine_*'' for architecture dependent codes
   * ''admm_*'' for auxilliary density matrix (ADMM) method related codes   * ''admm_*'' for auxilliary density matrix (ADMM) method related codes
Line 26: Line 26:
 ====== Overall Structure ====== ====== Overall Structure ======
  
-  * Extensive use of Fortran modules, and there are **no** global variables+  * Extensive use of Fortran modules, and there are //no// global variables
   * Major parts of the CP2K code are compiled into separate libraries, for example:   * Major parts of the CP2K code are compiled into separate libraries, for example:
-    * ''cp2k_lib'', ''cp2k_base_lib'', ''cp2k_dbcsr_lib'', ''cp2k_ft_lib'' etc.+    * ''libcp2kmain'', ''libcp2kbase'', ''libcp2kdbcsrwrap'', ''libcp2kfft'' etc. 
 +    * each library corresponds to a ''PACKAGE'' file in ''cp2k/src'' and its subdirectories. 
 + 
 +====== Structure of Quickstep ====== 
 + 
 +Quickstep part of the CP2K code calculates the ab initio self-consistent Kohn-Sham energy and the associated forces of a periodic system. The calculation involves 
 + 
 +  * Construction of the Kohn-Sham energy functional and Hamiltonian, which involves: 
 +    * Mapping of operators represented as matrices in Gaussian basis onto the real space (RS) multi-grids (//collocation//). This is required for the computation of the Hartree potential, which is calculated in the planewave basis, and the exchange-correlation energy density functional 
 +    * Mapping of functions defined on the RS grids into matrix elements represented in the Gaussian basis (//integration//
 +    * Fast Fourier Transform that maps functions defined on each level of the RS multi-grid into the corresponding planewave coefficients; and its reverse operation 
 +  * Dense and Sparse linear algebra operations, e.g. matrix multiplications 
 +  * Minimisation of the Kohn-Sham energy with respect to the electronic density matrix (using matrix operations) 
 +  * Self-consistent cycle for the electronic charge density 
 + 
 +Most of the computational time are spent on: 
 + 
 +  * Collocation 
 +  * Integration 
 +  * Linear algebraic operations 
 +  * Fast Fourier Transforms 
 + 
 +===== Data Structure of Key Variables ===== 
 + 
 +This subsection is the modules containing the definition the key data used in Quickstep calculations 
 + 
 +  * Electronic density and its derivatives, in various representations: sparse matrix in Gaussian basis, function on RS multi-grid, and as planewave coefficients etc. All density data are contained in a single container derived type. 
 +    * Module: ''qs_rho_types'' 
 +    * File: ''qs_rho_types.F'' 
 +    * Container type: ''qs_rho_type'' 
  
  
dev/codestructure.1381405194.txt.gz · Last modified: 2020/08/21 10:14 (external edit)