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/30 22:06] – [ACFDT program] hesselmannkohn-sham_random-phase_approximation [2026/02/05 16:10] (current) doll
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 ===== ===== 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 alternative 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.
  
 The self-consistent random phase approximation method ([[https://doi.org/10.1063/1.4818984|J. Chem. Phys.]] 139, 084113 (2013), [[https://doi.org/10.1103/PhysRevLett.134.016402|Phys. Rev. Lett.]] 134, 016402 (2025)) is implemented in the [[Kohn-Sham random-phase approximation#SCRPA program|SCRPA program]]. The program uses the optimized effective potential method to construct the exact exchange potential and the random phase approximation correlation potential. The [[Kohn-Sham random-phase approximation#SCEXX program|SCEXX program]] offers the self-consistent exact exchange optimized effective potential method ([[https://doi.org/10.1063/1.2751159|J. Chem. Phys.]] 127, 054102 (2007), [[https://aip.scitation.org/doi/full/10.1063/5.0056431|J. Chem. Phys.]] 155, 054109 (2021)) that neglects correlation. The self-consistent random phase approximation method ([[https://doi.org/10.1063/1.4818984|J. Chem. Phys.]] 139, 084113 (2013), [[https://doi.org/10.1103/PhysRevLett.134.016402|Phys. Rev. Lett.]] 134, 016402 (2025)) is implemented in the [[Kohn-Sham random-phase approximation#SCRPA program|SCRPA program]]. The program uses the optimized effective potential method to construct the exact exchange potential and the random phase approximation correlation potential. The [[Kohn-Sham random-phase approximation#SCEXX program|SCEXX program]] offers the self-consistent exact exchange optimized effective potential method ([[https://doi.org/10.1063/1.2751159|J. Chem. Phys.]] 127, 054102 (2007), [[https://aip.scitation.org/doi/full/10.1063/5.0056431|J. Chem. Phys.]] 155, 054109 (2021)) that neglects correlation.
Line 88: Line 91:
   * **MU** range-separation parameter. If not used, the program does not perform a correction for the short range electron-electron interaction.   * **MU** range-separation parameter. If not used, the program does not perform a correction for the short range electron-electron interaction.
  
-For applying the correction as described in Ref. [4], the vaules of ''SCAL'' and ''MU'' have to be set to the values ''SCAL=0.6'' and ''MU=2d0''.+For applying the correction as described in Ref. [4], the values of ''SCAL'' and ''MU'' have to be set to the values ''SCAL=0.6'' and ''MU=2d0''.
  
 The **ACFDT3** program implements an approximation to the ACFDT(ALDA) method assuming that the xc-kernel matrix depends linearly on the coupling strength (which is true for the exchange contribution but not, in general, for the correlation contribution to the kernel). Within this approximation the coupling-strength integration can be done analytically leading to a performance improvement over the **ACFDT** and **ACFDT2** programs. The options for **ACFDT3** are identical to the ones given above for **ACFDT** and **ACFDT2**. The **ACFDT3** program implements an approximation to the ACFDT(ALDA) method assuming that the xc-kernel matrix depends linearly on the coupling strength (which is true for the exchange contribution but not, in general, for the correlation contribution to the kernel). Within this approximation the coupling-strength integration can be done analytically leading to a performance improvement over the **ACFDT** and **ACFDT2** programs. The options for **ACFDT3** are identical to the ones given above for **ACFDT** and **ACFDT2**.
Line 95: Line 98:
 ===== Random-phase approximation (RPATDDFT) program ===== ===== Random-phase approximation (RPATDDFT) program =====
  
-The random-phase approximation program (''rpatddft'') can be used to calculate RPA correlation energies after a SCF calculation. Additionnally, it can be used to calculate dynamic dipole polarizabilities, C$_6$ dispersion coefficients, and excitation energies. The program currently works without point-group symmetry.+The random-phase approximation program (''rpatddft'') can be used to calculate RPA correlation energies after a SCF calculation. Additionally, it can be used to calculate dynamic dipole polarizabilities, C$_6$ dispersion coefficients, and excitation energies. The program currently works without point-group symmetry.
  
 List of the main keywords: List of the main keywords:
Line 123: Line 126:
   * **''TDA''** Tamm-Dancoff approximation for ''EXCIT'' and ''PROPERTIES''.   * **''TDA''** Tamm-Dancoff approximation for ''EXCIT'' and ''PROPERTIES''.
   * **''NOMP2''** The MP2 energy is calculated in certain situations where it is available almost for free, provided that some matrices are allocated. This behavior can be switched off by this ''NOMP2'' keyword.   * **''NOMP2''** The MP2 energy is calculated in certain situations where it is available almost for free, provided that some matrices are allocated. This behavior can be switched off by this ''NOMP2'' keyword.
-  * **''NOSPINBLOCK''** For spin-unrestricted calculations, use a formalism where matrices are of $\alpha\alpha+\alpha\beta+\beta\alpha+\beta\beta$ dimensions (the default is to use a formalism with a nospinflip/splinflip block structure)+  * **''NOSPINBLOCK''** For spin-unrestricted calculations, use a formalism where matrices are of $\alpha\alpha+\alpha\beta+\beta\alpha+\beta\beta$ dimensions (the default is to use a formalism with a nospinflip/spinflip block structure)
   * **''NOSPINFLIP''** Exclude spin-flip dimensions of unrestricted RPA calculations that use the ''NOSPINBLOCK'' formalism (not suitable for all RPA variants).   * **''NOSPINFLIP''** Exclude spin-flip dimensions of unrestricted RPA calculations that use the ''NOSPINBLOCK'' formalism (not suitable for all RPA variants).
   * **''WRITEFILE''** Write files with eigenvalues, virtual orbital energies, dipole moments, dipole velocities, dipole accelerations and amplitudes from a TDA calculation   * **''WRITEFILE''** Write files with eigenvalues, virtual orbital energies, dipole moments, dipole velocities, dipole accelerations and amplitudes from a TDA calculation
Line 131: Line 134:
   * **''%%CORE,<core>%%''** Specify core orbitals (default: last specified core orbitals or, if none, atomic inner shells)   * **''%%CORE,<core>%%''** Specify core orbitals (default: last specified core orbitals or, if none, atomic inner shells)
   * **''%%PRINT,<nbr>%%''** Level of print expected from the output (from 0(default) to 3).   * **''%%PRINT,<nbr>%%''** Level of print expected from the output (from 0(default) to 3).
-  * **''%%PRINT_INT,<nbr>%%''** Level of print of integrals (AO,MO,Orbtials,...), from 0 to 4.+  * **''%%PRINT_INT,<nbr>%%''** Level of print of integrals (AO,MO,Orbitals,...), from 0 to 4.
   * **''%%PRINT_TIME,<nbr>%%''** If greater or equal to 1, will print out information on time spent in routines.   * **''%%PRINT_TIME,<nbr>%%''** If greater or equal to 1, will print out information on time spent in routines.
  
Line 244: Line 247:
 </code> </code>
 Calculation of properties, excitation energies and oscillator strengths\\ Calculation of properties, excitation energies and oscillator strengths\\
-''%%EXCIT, METHOD=<method>%%'' The ''EXCIT'' calculations output shows the excitation energies in ua, eV and nm, the oscillator strengths in length and velocity gauge, as well as the major excitations involved in each mode. The methods available are:+''%%EXCIT, METHOD=<method>%%'' The ''EXCIT'' calculations output shows the excitation energies in au, eV and nm, the oscillator strengths in length and velocity gauge, as well as the major excitations involved in each mode. The methods available are:
  
   * **''DRPA''** Direct random-phase approximation (or time-dependent Hartree).   * **''DRPA''** Direct random-phase approximation (or time-dependent Hartree).
Line 304: 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.
  
-**Bibilography:**\\+**Bibliography:**\\
 **RPA:**\\ **RPA:**\\
 [1] F. Furche, [[https://dx.doi.org/10.1103/PhysRevB.64.195120|Phys. Rev. B]], 195120 (2001)\\ [1] F. Furche, [[https://dx.doi.org/10.1103/PhysRevB.64.195120|Phys. Rev. B]], 195120 (2001)\\
Line 390: 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.
  
-**Bibilography:**\\+**Bibliography:**\\
 [1] A. Heßelmann, A.W. Götz, F. Della Sala, A. Görling [[https://doi.org/10.1063/1.2751159|J. Chem. Phys.]] 127, 054102 (2007)\\ [1] A. Heßelmann, A.W. Götz, F. Della Sala, A. Görling [[https://doi.org/10.1063/1.2751159|J. Chem. Phys.]] 127, 054102 (2007)\\
 [2] E. Trushin, A. Görling, [[https://aip.scitation.org/doi/full/10.1063/5.0056431|J. Chem. Phys.]] 155, 054109 (2021)\\ [2] E. Trushin, A. Görling, [[https://aip.scitation.org/doi/full/10.1063/5.0056431|J. Chem. Phys.]] 155, 054109 (2021)\\
Line 599: 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.
  
-**Bibilography:**\\+**Bibliography:**\\
 [1] A. Heßelmann, A.W. Götz, F. Della Sala, A. Görling [[https://doi.org/10.1063/1.2751159|J. Chem. Phys.]] 127, 054102 (2007)\\ [1] A. Heßelmann, A.W. Götz, F. Della Sala, A. Görling [[https://doi.org/10.1063/1.2751159|J. Chem. Phys.]] 127, 054102 (2007)\\
 [2] E. Trushin, A. Görling, [[https://aip.scitation.org/doi/full/10.1063/5.0056431|J. Chem. Phys.]] 155, 054109 (2021)\\ [2] E. Trushin, A. Görling, [[https://aip.scitation.org/doi/full/10.1063/5.0056431|J. Chem. Phys.]] 155, 054109 (2021)\\
Line 629: Line 634:
  
  
-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.+Below is an example input file for spin-restricted calculations for the hydrogen 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/h2_scrpa.inp> <code - examples/h2_scrpa.inp>
Line 709: Line 714:
   * **nquadint** number of logarithmically spaced intervals for frequency integration (default ‘1’)   * **nquadint** number of logarithmically spaced intervals for frequency integration (default ‘1’)
   * **nquad** number of points per interval for frequency integration (default '20')   * **nquad** number of points per interval for frequency integration (default '20')
-  * **w0** caling factor for rational the function mapping the Gauss–Legendre quadrature for the interval [−1, 1] to the interval [0, ∞], see Eqs. 37-38 in Ref. [4] for details (default: ‘2.5’)+  * **w0** scaling factor for rational the function mapping the Gauss–Legendre quadrature for the interval [−1, 1] to the interval [0, ∞], see Eqs. 37-38 in Ref. [4] for details (default: ‘2.5’)
   * **vc_scal** scaling factor for the Coulomb kernel, which can be used to mimic the effect of the inclusion of the exact-exchange kernel. In the special case of non-spin-polarized two-electron systems, the RPA calculation with a Coulomb kernel scaled by 1/2 is equivalent to including of the exact-exchange kernel. Implemented only in `SCRPA` (default: ‘1d0’)   * **vc_scal** scaling factor for the Coulomb kernel, which can be used to mimic the effect of the inclusion of the exact-exchange kernel. In the special case of non-spin-polarized two-electron systems, the RPA calculation with a Coulomb kernel scaled by 1/2 is equivalent to including of the exact-exchange kernel. Implemented only in `SCRPA` (default: ‘1d0’)
   * **vref_fa** if set to $\neq$ 0, enable the use of the Fermi-Amaldi potential as reference potential. Otherwise, the reference potential is constructed according to Eq. (45) of Ref. [2] (default: '1')     * **vref_fa** if set to $\neq$ 0, enable the use of the Fermi-Amaldi potential as reference potential. Otherwise, the reference potential is constructed according to Eq. (45) of Ref. [2] (default: '1')