| Both sides previous revision Previous revision Next revision | Previous revision |
| the_density_functional_program [2026/02/23 19:55] – [Angular integration grid (ANGULAR)] hesselmann | the_density_functional_program [2026/04/17 18:29] (current) – [Rangehybrid methods (RANGEHYBRID)] hesselmann |
|---|
| |
| Then sr-DFT/lr-HF calculations can be performed by calling the RKS program with the additional subcommand ''rangehybrid''. Available short-range functionals are ''exerf'' and ''ecerf'' for sr-LDA, and ''exerfpbe'' and ''ecerfpbe'' for sr-PBE; as usual, the functionals have to be specified after the ''rks'' command (e.g. ''%%rks,exerf,ecerf;%%''). The underlying short-range LDA correlation functional is that of S. Paziani, S. Moroni, P. Gori-Giorgi, G.B. Bachelet, [[https://dx.doi.org/10.1103/PhysRevB.73.155111|Phys. Rev. B]] **73**, 155111 (2006). | Then sr-DFT/lr-HF calculations can be performed by calling the RKS program with the additional subcommand ''rangehybrid''. Available short-range functionals are ''exerf'' and ''ecerf'' for sr-LDA, and ''exerfpbe'' and ''ecerfpbe'' for sr-PBE; as usual, the functionals have to be specified after the ''rks'' command (e.g. ''%%rks,exerf,ecerf;%%''). The underlying short-range LDA correlation functional is that of S. Paziani, S. Moroni, P. Gori-Giorgi, G.B. Bachelet, [[https://dx.doi.org/10.1103/PhysRevB.73.155111|Phys. Rev. B]] **73**, 155111 (2006). |
| | |
| | Moreover, range-separated KS calculations can also be performed using functionals from the [[the_density_functional_program#libxc_functionals|LibXC library]], including the CAM-B3LYP functional (''HYB_GGA_XC_CAM_B3LYP'') and the $\omega$B97X functional (''HYB_GGA_XC_WB97X''). When using those functionals parameters for the range-separation parameter ''MU'' as well as the short- and long-range intrection factors (''SRFAC'' and ''LRFAC'') do not need to be explicitly entered in the input but are taken from the LibXC internal database instead. There are several ways to overwrite these via user input as shown for the CAM-B3LYP functional in the following example: |
| | |
| | <code> |
| | !no explicit parameter input |
| | ks,HYB_GGA_XC_CAM_B3LYP |
| | |
| | !pass parameters to integral program |
| | {int; ERFLERFC,mu=0.33,srfac=0.19,lrfac=0.65} |
| | {ks,HYB_GGA_XC_CAM_B3LYP} |
| | |
| | !pass parameters as DFT options |
| | {ks,HYB_GGA_XC_CAM_B3LYP,mu=0.33,srfac=0.19,lrfac=0.65} |
| | |
| | !density-fitting case: no explicit parameter input |
| | {df-ks,HYB_GGA_XC_CAM_B3LYP} |
| | |
| | !now use modified parameters in the integral program |
| | {int; ERFLERFC,mu=0.2,srfac=0.23,lrfac=0.8} |
| | ks,HYB_GGA_XC_CAM_B3LYP |
| | |
| | !or as an option to KS (in which case the integral program will be automatically executed with the new settings) |
| | {ks,HYB_GGA_XC_CAM_B3LYP,mu=0.2,srfac=0.23,lrfac=0.8} |
| | </code> |
| | |
| | When using any of Molpro's internal range-separated functionals instead (including ''EXERFPBE'', ''ECERFPBE'', ''SRB88'', ''SRLYP'', ''EXERF'', ''ECERF'' and more) the following default values for the underlying parameters will be used if no input is made to change them: ''MU''=0.5, ''SRFAC''=0.0, ''LRFAC''=1.0. Note that changing the parameters will only work locally for the respective calculation, but Molpro will reset to the default again if a successive RS DFT calculation is done without specifying the parameters on the input. |
| |
| Finally, sr-DFT/lr-post-HF calculations can be done by adding, within a call of the chosen post-HF program, two subcommands: ''srxcdft'' followed by the desired short-range functionals (e.g. ''%%srxcdft,exerf,ecerf;%%''), and ''dftden'' followed by the record number from which the density for the sr functionals is taken. Implementations are available for ''ci'', ''mp2'', ''ccsd'', ''%%ccsd(t)%%'', ''rpatddft'', and the corresponding local MP2 and CC methods w/wo density-fitting. | Finally, sr-DFT/lr-post-HF calculations can be done by adding, within a call of the chosen post-HF program, two subcommands: ''srxcdft'' followed by the desired short-range functionals (e.g. ''%%srxcdft,exerf,ecerf;%%''), and ''dftden'' followed by the record number from which the density for the sr functionals is taken. Implementations are available for ''ci'', ''mp2'', ''ccsd'', ''%%ccsd(t)%%'', ''rpatddft'', and the corresponding local MP2 and CC methods w/wo density-fitting. |
| mu=0.46 | mu=0.46 |
| lambda=0.58 | lambda=0.58 |
| {int;erflerfc,mu=$mu,srfac=$lambda} | {int; erflerfc,mu=$mu,srfac=$lambda} |
| {rks,exsrlpbe,ecsqrtlpbe;rangehybrid;orbital,7000.2} | {rks,exsrlpbe,ecsqrtlpbe;rangehybrid;orbital,7000.2} |
| {mp2;srxcdft,exsrlpbe,ecsqrtlpbe;dftden,7000.2} | {mp2; srxcdft,exsrlpbe,ecsqrtlpbe;dftden,7000.2} |
| </code> | </code> |
| Example of a RSDH calculation with the approximation 4 of Ref. [1] for the short-range density functional: | Example of a RSDH calculation with the approximation 4 of Ref. [1] for the short-range density functional: |
| mu=0.62 | mu=0.62 |
| lambda=0.60 | lambda=0.60 |
| {int;erflerfc,mu=$mu,srfac=$lambda} | {int; erflerfc,mu=$mu,srfac=$lambda} |
| {ks,exerfpbe,ecerfpbe;rangehybrid;dsrsdh;orbital,7000.2} | {ks,exerfpbe,ecerfpbe; rangehybrid; dsrsdh; orbital,7000.2} |
| mp2 | mp2 |
| </code> | </code> |
| </code> | </code> |
| |
| which corresponds to the interaction operator $\mbox{lr}\cdot\frac{\mbox{erf}(\mu r_{12})}{r_{12}} + \mbox{sr}\cdot\frac{\mbox{erfc}(\mu r_{12})}{r_{12}}$. Setting ''lr=1'' and ''sr=1'' would | which corresponds to the interaction operator $\mbox{lr}\cdot\frac{\mbox{erf}(\mu r_{12})}{r_{12}} + \mbox{sr}\cdot\frac{\mbox{erfc}(\mu r_{12})}{r_{12}}$. Setting ''lr=1'' and ''sr=1'' would therefore mean that Molpro will calculate the full-range Coulomb integrals. |
| therefore mean that Molpro will calculate the full-range Coulomb integrals. | |
| | |
| | |
| |
| The MP2 calculation can also be replaced by a RPA calculation, like in the RS2H+RPAxSO2 method of Ref. [2].\\ | The MP2 calculation can also be replaced by a RPA calculation, like in the RS2H+RPAxSO2 method of Ref. [2].\\ |
| mu=0.48 | mu=0.48 |
| lambda=0.34 | lambda=0.34 |
| {int;erflerfc,mu,lambda} | {int; erflerfc,mu,lambda} |
| {rks,exsrlpbe,ecsqrtlpbe;rangehybrid;orbital,7000.2} | {rks,exsrlpbe,ecsqrtlpbe; rangehybrid; orbital,7000.2} |
| {rpatddft;ecorr,SO2-RCCD;orb,7000.2} | {rpatddft; ecorr,SO2-RCCD;orb,7000.2} |
| </code> | </code> |
| |