GAMMA: Difference between revisions

From VASP Wiki
(Created page with "The {{FILE|GAMMA}} file is an input file used with the {{TAG|ICHARG}}=5 tag. It's employed during electronic minimization to add occupations per k-point and orbital before calculating a new charge density. The file's format is structured as follows: 567 -1 ! Number of k-points, default number of bands 1 81 92 -0.88697620213424 -0.00000000000110 0.00952263319978 -0.00013538025816 -0.00003023919061 0.00036153047962 … 0.00952263319978 0.00013538025...")
 
No edit summary
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The {{FILE|GAMMA}} file is an input file used with the {{TAG|ICHARG}}=5 tag. It's employed during [[electronic minimization]] to add occupations per k-point and orbital before calculating a new charge density. The file's format is structured as follows:  
The {{FILE|GAMMA}} file is an input file used when {{TAG|ICHARG}}=5 is set. It is read by VASP during an [[electronic minimization]] to incorporate additional occupation changes per k-point and orbital before calculating a new charge density. The file's format is structured as follows:  


   567  -1  ! Number of k-points, default number of bands
   567  -1  ! Number of k-points, default number of bands
   1  81  92
   1  81  92 ! k-point index, band window of occupations to be added
   -0.88697620213424  -0.00000000000110 0.00952263319978  -0.00013538025816 -0.00003023919061  0.00036153047962
   -0.88697620213424  -0.00000000000110 0.00952263319978  -0.00013538025816 -0.00003023919061  0.00036153047962 ... ! 1 nbnd row per line
   0.00952263319978  0.00013538025816 -0.90621349117750 -0.00000000000092 -0.00002036611614  0.00020787085249
   0.00952263319978  0.00013538025816 -0.90621349117750 -0.00000000000092 -0.00002036611614  0.00020787085249 ...
   (10 more lines)
   ... (10 more lines)
   2  81  92
   2  81  92
   -0.89265621432703 -0.00000000000107 -0.00944765243065  -0.00671452451385 -0.00029309275635  -0.00012146585216  
   -0.89265621432703 -0.00000000000107 -0.00944765243065  -0.00671452451385 -0.00029309275635  -0.00012146585216  
   (11 more lines)
   ... (11 more lines)
  
   ...
   567  82  91
   567  82  91
   -0.89056253498876  -0.00000000000112 -0.00449699353373  0.00290102672201 -0.00014095045304  0.00000787119531 -0.00289794970644
   -0.89056253498876  -0.00000000000112 -0.00449699353373  0.00290102672201 -0.00014095045304  0.00000787119531 ...
   …
   …


The file contains a small header marking the number kpoints (must be consistent with the current number of kpoints in the irreducible Brillouin zone, and if there is a default number of bands it should assume for each kpoint. Then follows a line that increments the kpoint parsed and the band window, i.e. the indices of bands for which the occupation changes are read in. Next, comes a nband times nband matrix one row per line, where complex number formatting is used, first number is the real part and the second is the complex part etc.
The file contains a small header marking the number of k-points (must be consistent with the current number of k-points in the irreducible Brillouin zone), and if there is a default number of bands to be assumed per k-point. Next, is a line that increments through the k-point indices and the current band window, i.e. the indices of bands for which the occupation changes are read in (indices must be smaller or equal to {{TAG|NBANDS}}). This is followed by the actual occupation changes as a nband times nband matrix (one row per line), where complex number formatting is used. First number is the real part and the second is the complex part, third is again real part, etc.
 
While {{TAG|ICHARG}}=5 is set, VASP will read this file right before the new charge density is calculated. However, VASP will only read the file and continues calculation if an additional file called {{FILE|vasp.lock}} is present in the current directory. This design allows to interface to an external code that performs between the SCF step some extra computation and updates the KS occupations.
 
The procedure to construct a new charge density from the combined occupations (KS occupations + {{FILE|GAMMA}} file) is as follows: The additional occupation changes from the {{FILE|GAMMA}} can be a off-diagonal matrix <math>\Delta N_{n n'}({\bf k})</math>, new natural orbitals are found by a transformation matrix <math>V</math>. This transformation is found by diagonalizing the total correlated density matrix:
 
<span id="natorb">
<math>
f'_{\nu {\bf k}} \delta_{\nu \nu'} = \sum_{n n'} V_{\nu n} \left[ f_{n {\bf k}} \delta_{n n'}  + \Delta N_{n n'} \right] V^*_{n' \nu'},
</math>
<span>
 
<span id="trafo">
<math>
|\Psi'_{\nu {\bf k}}\rangle = \sum_n V_{\nu n} |\Psi_{n {\bf k}}\rangle
</math>
<span>
 
The new orbitals <math>|\Psi'_{\nu {\bf k}}\rangle</math> together with <math>f'_{\nu {\bf k}}</math> are then used to calculate the new charge density. For more information see Ref.{{cite|schueler:jpcm:30}} Eq. (30)-(32).


While {{TAG|ICHARG}}=5 is set, Vasp will only run while the file {{FILE|vasp.lock}} is present in the current directory. Vasp will wait right before the {{FILE|GAMMA}} is read and check if such file is present. If not Vasp will wait for an external process to create it. This useful to write and interface to an external code that performs in each SCF step some extra computation and updates the KS occupations. The TRIQS software package{{cite|parcollet:cpc:196}} makes use of it to perform charge self-consistent DFT plus dynamical mean field theory (DMFT) calculations{{cite|merkel:joss:7}}{{cite|aichhorn:cpc:204}}, and provides tutorials on how to perform such calculations with VASP{{cite|triqsdfttoolstutorial:web}}{{cite|soliddmfttutorial:web}}.
The TRIQS software package{{cite|parcollet:cpc:196}} makes use of it to perform charge self-consistent DFT plus dynamical mean field theory (DMFT) calculations{{cite|merkel:joss:7}}{{cite|aichhorn:cpc:204}}, and provides tutorials on how to perform such calculations with VASP{{cite|triqsdfttoolstutorial:web}}{{cite|soliddmfttutorial:web}}.


== Related tags and articles ==
== Related tags and articles ==


{{TAG|ICHARG}}, {{TAG|TRIQSH5}}
{{TAG|ICHARG}}, {{FILE|vasp.lock}}


== References ==
== References ==
<references/>
<references/>
----


[[Category:Files]] [[Category:Input Files]]
[[Category:Files]][[Category:Input files]][[Category:Electronic occupancy]]

Latest revision as of 07:37, 18 October 2024

The GAMMA file is an input file used when ICHARG=5 is set. It is read by VASP during an electronic minimization to incorporate additional occupation changes per k-point and orbital before calculating a new charge density. The file's format is structured as follows:

 567  -1  ! Number of k-points, default number of bands
 1  81  92 ! k-point index, band window of occupations to be added
 -0.88697620213424  -0.00000000000110 0.00952263319978  -0.00013538025816 -0.00003023919061  0.00036153047962 ... ! 1 nbnd row per line
  0.00952263319978   0.00013538025816 -0.90621349117750 -0.00000000000092 -0.00002036611614  0.00020787085249 ...
  ... (10 more lines)
 2  81  92
 -0.89265621432703 -0.00000000000107 -0.00944765243065  -0.00671452451385 -0.00029309275635  -0.00012146585216 
  ... (11 more lines)
 ...
 567  82  91
 -0.89056253498876  -0.00000000000112 -0.00449699353373  0.00290102672201 -0.00014095045304  0.00000787119531 ... 
 …

The file contains a small header marking the number of k-points (must be consistent with the current number of k-points in the irreducible Brillouin zone), and if there is a default number of bands to be assumed per k-point. Next, is a line that increments through the k-point indices and the current band window, i.e. the indices of bands for which the occupation changes are read in (indices must be smaller or equal to NBANDS). This is followed by the actual occupation changes as a nband times nband matrix (one row per line), where complex number formatting is used. First number is the real part and the second is the complex part, third is again real part, etc.

While ICHARG=5 is set, VASP will read this file right before the new charge density is calculated. However, VASP will only read the file and continues calculation if an additional file called vasp.lock is present in the current directory. This design allows to interface to an external code that performs between the SCF step some extra computation and updates the KS occupations.

The procedure to construct a new charge density from the combined occupations (KS occupations + GAMMA file) is as follows: The additional occupation changes from the GAMMA can be a off-diagonal matrix , new natural orbitals are found by a transformation matrix . This transformation is found by diagonalizing the total correlated density matrix:

The new orbitals together with are then used to calculate the new charge density. For more information see Ref.[1] Eq. (30)-(32).

The TRIQS software package[2] makes use of it to perform charge self-consistent DFT plus dynamical mean field theory (DMFT) calculations[3][4], and provides tutorials on how to perform such calculations with VASP[5][6].

Related tags and articles

ICHARG, vasp.lock

References