User Tools

Site Tools


howto:gw

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
howto:gw [2021/04/21 20:43] – [4. Self-consistent GW calculations] jwilhelmhowto:gw [2021/04/21 20:51] jwilhelm
Line 152: Line 152:
 ===== 4. Self-consistent GW calculations and DFT starting point ===== ===== 4. Self-consistent GW calculations and DFT starting point =====
  
-The G0W0@PBE HOMO value of the H2O molecule (~ -12.0 eV) is not in good agreement with the experimental ionization potential (12.62 eV). Benchmarks on molecules and solids indicate that self-consistency of eigenvalues in the Green's function G improves the agreement between the GW calculation and experiment. This scheme is called GW0@PBE and is our favorite GW flavor so far (experience based on nano-sized aromatic molecules). You can also check [[https://www.youtube.com/watch?v=1vUuethWhbs&t=5563s|this video]] or [[>>doi]] on which GW scheme could be good for your system+The G0W0@PBE HOMO value of the H2O molecule (~ -12.0 eV) is not in good agreement with the experimental ionization potential (12.62 eV). Benchmarks on molecules and solids indicate that self-consistency of eigenvalues in the Green's function G improves the agreement between the GW calculation and experiment. This scheme is called GW0@PBE and is our favorite GW flavor so far (experience based on nano-sized aromatic molecules). You can also check [[https://www.youtube.com/watch?v=1vUuethWhbs&t=5563s|this video]] or [[doi>10.3389/fchem.2019.00377]] on which DFT starting functional and which self-consistency scheme could be good for your system
 + 
 +You can run GW0 calculations in CP2K by putting 
 +<code> 
 +&GW 
 +  SC_GW0_ITER  10 
 +  CORR_OCC     10 
 +  CORR_VIRT    20 
 +  RI_SIGMA_X 
 +&END GW 
 +</code> 
 +"SC_GW0_ITER 10" means that at most ten iterations in the eigenvalues of G are performed. In case convergence is found, the code terminates earlier. "SC_GW0_ITER 1" corresponds to G0W0. 
 ===== 5. Periodic GW calculations ===== ===== 5. Periodic GW calculations =====
-For periodic GW calculations, a special correction scheme is necessary. A similar problem is appearing in Hartree-Fock calculations. In HF, an easy way out is given by the truncation of the Coulomb operator which works due to the convenient form of the HF equations. GW does not exhibit this convenient form and therefore, this truncation does not work for GW calculations. The theory why a correction is necessary and the correction scheme is described in [[doi>10.1103/PhysRevB.95.235123]] [7].+For periodic GW calculations, a special correction scheme is necessary. A similar problem is appearing in Hartree-Fock calculations. In HF, an easy way out is given by the truncation of the Coulomb operator which works due to the convenient form of the HF equations. GW does not exhibit this convenient form and therefore, this truncation does not work for GW calculations. The theory why a correction is necessary and the correction scheme is described in [[doi>10.1103/PhysRevB.95.235123]].
  
-The basis can be found in {{exercises:2017_uzh_cp2k-tutorial:LiH_BASIS_RI.tar ?direct&400 |}}. Then run the calculation as listed below. The computed gap of LiH with the input from below should be 6.05 eV which is still significantly off from the converged result of 4.7 eV from [[doi>10.1103/PhysRevB.95.235123]] [7]. Here, a basis set extrapolation (as shown above) and a larger supercell are necessary to get closer to the result of 4.7 eV. Please redo the calculation without the flag PERIODIC in the GW section and see that the resulting gap of 11.25 eV is much more off than the gap with correction. +The basis can be found in {{exercises:2017_uzh_cp2k-tutorial:LiH_BASIS_RI.tar ?direct&400 |}}. Then run the calculation as listed below. The computed gap of LiH with the input from below should be 6.05 eV which is still significantly off from the converged result of 4.7 eV from [[doi>10.1103/PhysRevB.95.235123]]. Here, a basis set extrapolation (as shown above) and a larger supercell are necessary to get closer to the result of 4.7 eV. Please redo the calculation without the flag PERIODIC in the GW section and see that the resulting gap of 11.25 eV is much more off than the gap with correction. 
  
 <code - LiH_periodic.inp> <code - LiH_periodic.inp>
Line 182: Line 194:
       &END XC_FUNCTIONAL       &END XC_FUNCTIONAL
       &WF_CORRELATION       &WF_CORRELATION
-        METHOD  RI_RPA_GPW 
         &RI_RPA         &RI_RPA
-          RPA_NUM_QUAD_POINTS  100 +          QUADRATURE_POINTS  100 
-          GW +          &GW
-          &RI_G0W0+
            CORR_OCC  5            CORR_OCC  5
            CORR_VIRT 5            CORR_VIRT 5
            ! activate the periodic correction            ! activate the periodic correction
            PERIODIC            PERIODIC
-           ANALYTIC_CONTINUATION PADE +          &END GW
-           CROSSING_SEARCH NEWTON +
-          &END RI_G0W0+
           ! HF calculation for the exchange part of the self-energy           ! HF calculation for the exchange part of the self-energy
           ! Here, the truncation of the Coulomb operator works            ! Here, the truncation of the Coulomb operator works 
Line 233: Line 241:
     &KIND H     &KIND H
       BASIS_SET cc-DZVP-GTH       BASIS_SET cc-DZVP-GTH
-      RI_AUX_BASIS_SET  RI_DZ_opt_basis+      BASIS_SET RI_AUX RI_DZ_opt_basis
       POTENTIAL GTH-PBE-q1       POTENTIAL GTH-PBE-q1
     &END KIND     &END KIND
     &KIND Li     &KIND Li
       BASIS_SET cc-DZVP-GTH       BASIS_SET cc-DZVP-GTH
-      RI_AUX_BASIS_SET  RI_DZ_opt_basis+      BASIS_SET RI_AUX RI_DZ_opt_basis
       POTENTIAL GTH-PBE-q3       POTENTIAL GTH-PBE-q3
     &END KIND     &END KIND
Line 247: Line 255:
   PRINT_LEVEL MEDIUM   PRINT_LEVEL MEDIUM
   RUN_TYPE ENERGY   RUN_TYPE ENERGY
-&END GLOBAL 
-</code> 
- 
- 
-===== 6. Cubic-scaling GW calculations ===== 
-Cubic-scaling GW calculations could be a more efficient alternative for large systems. See below an exemplary input for one water molecule. Compare the results to the ones from Sec. 1. In general, small deviations (< 0.05 eV) for GW levels can be expected from cubic-scaling GW calculations compared to canonical GW calculations due to additional approximations in cubic-scaling GW.  
- 
-Please observe that the input below is much slower than the input for canonical GW. Therefore, it can be beneficial to run it with more MPI tasks. The beneficial scaling of cubic-scaling GW only pays off for large systems where it is more efficient as canonical GW calculations (rule of thumb: cubic-scaling GW can be more efficient for systems with more than 100 atoms if the filter parameters are well set).  
- 
-<code - H2O_GW100_cubic_scaling.inp> 
-&FORCE_EVAL 
-  METHOD Quickstep 
-  &DFT 
-    ! retrieve basis set from the CP2K trunk version 
-    BASIS_SET_FILE_NAME BASIS_def2_QZVP_RI_ALL 
-    POTENTIAL_FILE_NAME POTENTIAL 
-    &MGRID 
-      CUTOFF 400 
-      REL_CUTOFF 50 
-    &END MGRID 
-    &QS 
-      ! all electron calculation since GW100 is all-electron test 
-      METHOD GAPW 
-    &END QS 
-    &POISSON 
-      PERIODIC NONE 
-      PSOLVER MT 
-    &END 
-    &SCF 
-      EPS_SCF 1.0E-6 
-      SCF_GUESS ATOMIC 
-      MAX_SCF 200 
-    &END SCF 
-    &XC 
-      &XC_FUNCTIONAL PBE 
-      &END XC_FUNCTIONAL 
-      &WF_CORRELATION 
-        METHOD RI_RPA_GPW 
-        ERI_METHOD OS 
-        ! cubic-scaling GW only works with overlap metric RI 
-        RI OVERLAP 
-        &WFC_GPW 
-          ! EPS_FILTER should be tuned for the specific application: 
-          ! the computational cost strongly depends on EPS_FILTER 
-          EPS_FILTER 1.0E-12 
-          ! EPS_GRID may be tuned since memory is weakly  
-          ! dependent on it 
-          EPS_GRID   1.0E-12 
-        &END WFC_GPW 
-        &RI_RPA 
-          ! cubic-scaling GW only works with the minimax grid  
-          ! in imag. time and frequency 
-          MINIMAX 
-          ! If the HOMO-LUMO gap of the system is small, 20  
-          ! points for the time/frequency grid should be used 
-          ! (flag RPA_NUM_QUAD_POINTS). The time and frequency grid  
-          ! are equally large. The maximum grid size is 20.  
-          ! For large-gap systems (as the water molecule), 12 points 
-          ! should be sufficient 
-          RPA_NUM_QUAD_POINTS  12 
-          ! imaginary time flag enables cubic-scaling RPA or  
-          ! GW calculations 
-          IM_TIME 
-          &IM_TIME 
-            ! EPS_FILTER_IM_TIME should be tuned for the specific  
-            ! application: the computational cost strongly  
-            ! depends on EPS_FILTER 
-            EPS_FILTER_IM_TIME 1.0E-12 
-            ! for large systems, increase GROUP_SIZE_3C   
-            ! to prevent out of memory (OOM) 
-            GROUP_SIZE_3C 1 
-            ! for extremely large systems, increase GROUP_SIZE_P  
-            ! to prevent OOM 
-            ! for very large systems, it is also recommended  
-            ! to use OMP threads to prevent OOM 
-            GROUP_SIZE_P 1 
-            ! for larger systems, MEMORY_CUT must be increased 
-            ! to prevent out of memory (OOM) 
-            MEMORY_CUT  1 
-            GW 
-          &END IM_TIME 
-          &RI_G0W0 
-           CORR_OCC   20 
-           CORR_VIRT  20 
-           ANALYTIC_CONTINUATION PADE 
-           NPARAM_PADE 16 
-           CROSSING_SEARCH NEWTON 
-           RI_SIGMA_X 
-          &END RI_G0W0 
-        &END RI_RPA 
-      &END 
-    &END XC 
-  &END DFT 
-  &SUBSYS 
-    &CELL 
-      ABC 10.0 10.0 10.0 
-      PERIODIC NONE 
-    &END CELL 
-    &COORD 
-      O  0.0000 0.0000 0.0000 
-      H  0.7571 0.0000 0.5861 
-      H -0.7571 0.0000 0.5861 
-    &END COORD 
-    &TOPOLOGY 
-      &CENTER_COORDINATES 
-      &END 
-    &END TOPOLOGY 
-    &KIND H 
-      BASIS_SET def2-QZVP 
-      RI_AUX_BASIS RI-5Z 
-      POTENTIAL ALL 
-    &END KIND 
-    &KIND O 
-      BASIS_SET def2-QZVP 
-      RI_AUX_BASIS RI-5Z 
-      POTENTIAL ALL 
-    &END KIND 
-  &END SUBSYS 
-&END FORCE_EVAL 
-&GLOBAL 
-  RUN_TYPE     ENERGY 
-  PROJECT      ALL_ELEC 
-  PRINT_LEVEL  MEDIUM 
 &END GLOBAL &END GLOBAL
 </code> </code>
howto/gw.txt · Last modified: 2024/01/14 12:15 by oschuett