Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
kohn-sham_random-phase_approximation [2025/07/18 20:59] chemieegortrushikohn-sham_random-phase_approximation [2025/07/30 22:26] (current) – [Kohn-Sham random-phase approximation] hesselmann
Line 1: Line 1:
 ====== Kohn-Sham random-phase approximation ====== ====== Kohn-Sham random-phase approximation ======
 +
 +This chapter describes three different programs that are related to Kohn-Sham based RPA correlation methods. The first one is the density fitting RPA program of Heßelmann et al. described in section [[Kohn-Sham random-phase approximation#Density fitting RPA programs|Density fitting RPA programs]]. The second one is the ''RPATDDFT'' program by Toulouse et al., see section  [[Kohn-Sham random-phase approximation#Random-phase approximation (RPATDDFT) program|Random-phase approximation (RPATDDFT) program]]. And finally section [[Kohn-Sham random-phase approximation#Self consistent RPA programs|Self consistent RPA programs]] presents a set of programs which can be used to perform self consistent EXX and RPA calculations developed by Trushkin and Görling.
 +
 +All of the different codes are capable to perform standard RPA correlation energy calculations, but have distinct features which separate them from each other. More details about each program's capabilities can be found in the respective subsections.
 +===== Density fitting RPA programs =====
  
 Electron correlation energies within the random-phase approximation can be calculated by the programs **DIRPA**, **RPAX2** and **ACFDT** that are subdirectives of the driver command **KSRPA**. These methods should be used in conjunction with Kohn-Sham reference determinants, i.e., orbitals and orbital energies from a preceeding DFT calculation should be supplied. An alterntive implementation of various RPA electron correlation methods by Julien Toulouse and co-workers is described in the subsection [[Kohn-Sham random-phase approximation#Random-phase approximation (RPATDDFT) program|Random-phase approximation (RPATDDFT) program]]. The second alternative implementation of RPA is based on the adiabatic-connection fluctuation-dissipation and is described in the subsection [[Kohn-Sham random-phase approximation#RIRPA program|RIRPA program]]. This implementation additionally allows calculations with σ-functionals, which at negligible computational cost significantly improves over RPA in the calculation of various chemical properties. Electron correlation energies within the random-phase approximation can be calculated by the programs **DIRPA**, **RPAX2** and **ACFDT** that are subdirectives of the driver command **KSRPA**. These methods should be used in conjunction with Kohn-Sham reference determinants, i.e., orbitals and orbital energies from a preceeding DFT calculation should be supplied. An alterntive implementation of various RPA electron correlation methods by Julien Toulouse and co-workers is described in the subsection [[Kohn-Sham random-phase approximation#Random-phase approximation (RPATDDFT) program|Random-phase approximation (RPATDDFT) program]]. The second alternative implementation of RPA is based on the adiabatic-connection fluctuation-dissipation and is described in the subsection [[Kohn-Sham random-phase approximation#RIRPA program|RIRPA program]]. This implementation additionally allows calculations with σ-functionals, which at negligible computational cost significantly improves over RPA in the calculation of various chemical properties.
Line 28: Line 33:
  
  
-===== DIRPA program =====+==== DIRPA program ====
  
 The direct RPA program (implemented with the algorithm described in [1]) has the following options: The direct RPA program (implemented with the algorithm described in [1]) has the following options:
Line 48: Line 53:
 Note that in case of MODE=1 or MODE=2 it is recommended to have the wavefunction (wfu) directory located on a scratch partition. E.g., add the command line option ''%%-W /scratch/$USER/wfu%%'' to the Molpro command. Note that in case of MODE=1 or MODE=2 it is recommended to have the wavefunction (wfu) directory located on a scratch partition. E.g., add the command line option ''%%-W /scratch/$USER/wfu%%'' to the Molpro command.
  
-===== RPAX2 program =====+==== RPAX2 program ====
  
 The RPAX2 method is an extension to the RPA and accounts for higher order particle-hole pair exchange contributions [2,3]. The RPAX2 program has the same options as the DIRPA program, see section [[Kohn-Sham random-phase approximation#DIRPA program|DIRPA program]]. The following list shows a few additional ones that can be used: The RPAX2 method is an extension to the RPA and accounts for higher order particle-hole pair exchange contributions [2,3]. The RPAX2 program has the same options as the DIRPA program, see section [[Kohn-Sham random-phase approximation#DIRPA program|DIRPA program]]. The following list shows a few additional ones that can be used:
Line 57: Line 62:
 Spin-unrestricted calculations can be done using the **URPAX2** program. In this case the orbitals from a preceeding unrestricted Kohn-Sham calculation have to be passed to the program (via the ''ORB'' key). Spin-unrestricted calculations can be done using the **URPAX2** program. In this case the orbitals from a preceeding unrestricted Kohn-Sham calculation have to be passed to the program (via the ''ORB'' key).
  
-===== ACFDT program =====+==== ACFDT program ====
  
 The ACFDT (adiabatic connection fluctuation-dissipation theorem) method is an alternative approach to derive the RPA. If used in conjunction with local adiabatic exchange-correlation kernels, the method can also describe electron-electron interaction contributions beyond the RPA. Currently, the ALDA xc-kernel can be used in the program (ACFDT(ALDA) method), see also Ref. [4]. The **ACFDT** program has the following options: The ACFDT (adiabatic connection fluctuation-dissipation theorem) method is an alternative approach to derive the RPA. If used in conjunction with local adiabatic exchange-correlation kernels, the method can also describe electron-electron interaction contributions beyond the RPA. Currently, the ALDA xc-kernel can be used in the program (ACFDT(ALDA) method), see also Ref. [4]. The **ACFDT** program has the following options:
Line 302: Line 307:
  
  
-===== RIRPA program =====+===== Self consistent RPA programs ===== 
 + 
 +==== RIRPA program ====
  
 The RIRPA and URIRPA programs allow non-self-consistent spin-restricted and spin-unrestricted resolution of identity (RI) random phase approximation (RPA) [1-3] and σ-functional [4-6] calculations. These methods should be used in conjunction with conventional Kohn-Sham (KS) density functional theory (DFT) calculations, i.e. data from a preceding KS DFT calculation should be provided. Conventional KS DFT means calculations with LDA, GGA and hybrid exchange-correlation functionals. The RIRPA and URIRPA programs allow non-self-consistent spin-restricted and spin-unrestricted resolution of identity (RI) random phase approximation (RPA) [1-3] and σ-functional [4-6] calculations. These methods should be used in conjunction with conventional Kohn-Sham (KS) density functional theory (DFT) calculations, i.e. data from a preceding KS DFT calculation should be provided. Conventional KS DFT means calculations with LDA, GGA and hybrid exchange-correlation functionals.
Line 388: Line 395:
   * **verb** determines the level of verbosity in the output file, integer values of 0, 1, 3 provide different levels of verbosity (default ’0’)   * **verb** determines the level of verbosity in the output file, integer values of 0, 1, 3 provide different levels of verbosity (default ’0’)
  
-===== SCEXX program =====+==== SCEXX program ====
 The ''SCEXX'' and ''USCEXX'' programs allow self-consistent exact-exchange calculations for closed-shell and open-shell systems. The ''SCEXX'' and ''USCEXX'' programs allow self-consistent exact-exchange calculations for closed-shell and open-shell systems.
  
Line 597: Line 604:
 {{:uscexx_bef.png?500|}} {{:uscexx_bef.png?500|}}
  
-===== SCRPA program =====+==== SCRPA program ====
 The ''SCRPA'' and ''USCRPA'' programs allow spin-restricted and spin-unrestricted self-consistent random phase approximation calculations. The ''SCRPA'' and ''USCRPA'' programs allow spin-restricted and spin-unrestricted self-consistent random phase approximation calculations.
  
Line 627: Line 634:
  
  
-Below is an example input file for spin-restricted calculations for the CO molecule. Note that the input record from a preceding calculation is mandatory for initialization of orbitals and eigenvalues as starting point for RPA calculation, whereas it can come from HF or DFT calculations with maxit=0.+Below is an example input file for spin-restricted calculations for the hygrogen molecule. Note that the input record from a preceding calculation is mandatory for initialization of orbitals and eigenvalues as starting point for RPA calculation, whereas it can come from HF or DFT calculations with maxit=0.
  
-<code - examples/co_scrpa.inp>+<code - examples/h2_scrpa.inp>
 gdirect ! integral-direct mode gdirect ! integral-direct mode
  
 basis={ basis={
-default,aug-cc-pwCVQZ ! orbital basis +default,aug-cc-pwCVTZ ! orbital basis 
-set,ri;default,aug-cc-pwCVQZ/mp2fit ! RI basis+set,ri;default,aug-cc-pwCVQZ/mp2fit ! RI BASIS
 set,oep;default,aug-cc-pVDZ/mp2fit ! OEP basis set,oep;default,aug-cc-pVDZ/mp2fit ! OEP basis
 set,dfit;default,aug-cc-pwCV5Z/mp2fit ! density fitting basis set,dfit;default,aug-cc-pwCV5Z/mp2fit ! density fitting basis
Line 645: Line 652:
 2 2
  
-C        0.000000    0.000000   -0.646514 +0.0 0.0 0.370946 
-O        0.000000    0.000000    0.484886+0.0 0.0 -0.370946
 } }
  
Line 652: Line 659:
 {cfit,basis_coul=dfit,basis_exch=dfit} {cfit,basis_coul=dfit,basis_exch=dfit}
  
-acfd;scrpa,thr_fai_oep=1.7d-2 ! SCRPA calculation+acfd;scrpa,thr_fai_oep=5d-2,plot_z=1 ! SCRPA calculation
 </code> </code>
  
-As well as an example of a spin-unrestricted calculation for the BeF molecule:+As well as an example of a spin-unrestricted calculation for the lithium molecule:
  
-<code - examples/bef_uscrpa.inp>+<code - examples/li_uscrpa.inp>
 gdirect ! integral-direct mode gdirect ! integral-direct mode
  
 basis={ basis={
-default,aug-cc-pwCVQZ ! orbital basis +default,aug-cc-pwCVTZ ! orbital basis 
-set,ri;default,aug-cc-pwCVQZ/mp2fit ! RI basis+set,ri;default,aug-cc-pwCVQZ/mp2fit ! RI BASIS
 set,oep;default,aug-cc-pVDZ/mp2fit ! OEP basis set,oep;default,aug-cc-pVDZ/mp2fit ! OEP basis
 set,dfit;default,aug-cc-pwCV5Z/mp2fit ! density fitting basis set,dfit;default,aug-cc-pwCV5Z/mp2fit ! density fitting basis
Line 671: Line 678:
 angstrom angstrom
 geometry={ geometry={
-2+1
  
-Be    0.0000000    0.0000000   -0.6823625  +Li 0.0 0.0 0.0
-F     0.0000000    0.0000000    0.6823625 +
 } }
  
 spin=1 spin=1
  
-df-uhf,maxit=0,df_basis=dfit ! HF calculation with 0 iterations+df-uhf,maxit=0,df_basis=dfit ! HF calculation with 0 iteration
 {cfit,basis_coul=dfit,basis_exch=dfit} {cfit,basis_coul=dfit,basis_exch=dfit}
  
-acfd;uscrpa,thr_fai_oep=1.7d-2 ! USCRPA calculation+acfd;uscrpa,thr_fai_oep=5d-2,plot_z=1 ! USCRPA calculation
 </code> </code>
  
Line 733: Line 739:
 ---- ----
  
-Since the local exchange and correlation potentials are important in self-consistent RPA calculations, we provide an illustration of how to plot these potentials. Let us assume that we have performed calculations for CO with the following options:+Since the local exchange and correlation potentials are important in self-consistent RPA calculations, we provide an illustration of how to plot these potentials. Let us assume that we have performed calculations for hydrogen molecule with the following options:
  
 <code> <code>
Line 783: Line 789:
 plt.ylabel('Potential (Hartree)', fontsize=16) plt.ylabel('Potential (Hartree)', fontsize=16)
 plt.xlabel('r (Bohr)', fontsize=16) plt.xlabel('r (Bohr)', fontsize=16)
-plt.ylim(-2, 0.25) 
 plt.xlim(-5, 5) plt.xlim(-5, 5)
 plt.legend(frameon=False, fontsize=14) plt.legend(frameon=False, fontsize=14)
Line 790: Line 795:
 </code> </code>
  
-{{:scrpa_co.png?500|}}+{{:scrpa_h2.png?500|}}
  
-In the similar way, for spin-unrestricted calculations with ''USCRPA'', one ends up with four files ''vxa-final.z'', ''vxb-final.z'', ''vca-final.z'', ''vcb-final.z'' with data for $\alpha$ and $\beta$ spin channels. For BeF, one can plot, e.g., exchange-correlation potentials for $\alpha$ and $\beta$ spins:+In the similar way, for spin-unrestricted calculations with ''USCRPA'', one ends up with four files ''vxa-final.z'', ''vxb-final.z'', ''vca-final.z'', ''vcb-final.z'' with data for $\alpha$ and $\beta$ spin channels. For lithium atom, one can plot, e.g., exchange-correlation potentials for $\alpha$ and $\beta$ spins:
  
 <code python> <code python>
Line 819: Line 824:
 </code> </code>
  
-{{:uscrpa_bef.png?500|}}+{{:uscrpa_li.png?500|}}