The ExchangeCorrelation class is used to define the type of exchange-correlation used in the calculation, and whether the calculation should be polarized or non-polarized.
A ExchangeCorrelation object provides the following methods:
This object supports cloning. See the section called “Cloning of ATK Python objects”.
hubbardTerm(): Query method for getting the Hubbard term used
nlprint(stream): Print a string representation of the ExchangeCorrelation instance.
numberOfSpins(): Query method for getting the number of spins
spinType(): Query method for getting the spin type
Define a spin-polarized LDA+U calculation for Nickel with a Hubbard U of 4.6 eV on Nickel and using the Dual representation for the Hubbard term.
exchange_correlation = ExchangeCorrelation(exchange=DiracBloch,
correlation=PerdewZunger,
hubbard_term=Dual,
number_of_spins=2)
basis_set = [LDABasis.Nickel_SingleZeta(hubbard_u=[4.6, 0.0]*eV)]
calculator = LCAOCalculator(exchange_correlation=exchange_correlation,
basis_set=basis_set)
A complete list of available keywords for the exchange
and correlation parameters is available in the
Reference section below.
The ExchangeCorrelation class can take
parameters. Currently, this is only relevant for the TB09 meta-GGA
functional, which takes a parameter c
(cf. the section called “Meta-GGA”).
If no value is specified, the value of c is automatically
computed according to Eq. (3) in Ref. [39].
The following piece of code selects the TB09 functional
with c=1.0 (recovering the Becke-Johnson potental [40]):
exchange_correlation = MGGA.TB09LDA(c=1.0) calculator = LCAOCalculator(exchange_correlation=exchange_correlation)
For molecular systems containing hydrogen, the default initial scaled spin values of 1.0 for a spin polarized calculation may cause the density of one of the spin components to be zero. For some of the GGA functionals relying for their implementation on the Libxc library there is a known issue for such systems. This has been confirmed using Becke88 exchange but may also be present in other functionals. The zero electron density causes numerical errors in the exchange correlation potential resulting in ill-behaved convergence. The practical solution to this issue is to explicitly set the initial scaled spin value to 0.999, or use random initial spin.
Further details of the Hubbard U correction can be found in the section called “XC+U mean-field Hubbard term”
The most common functionals may be specified through abbreviations of the format L[S]DA[U].XCTYPE or [S][M]GGA[U].XCTYPE, where XCTYPE specifies the parametrization of the functional according to the tables below, S selects the spin-polarized version, and U enables the use of the Hubbard model.
The abbreviations are shorthand notations for a full, predefined ExchangeCorrelation class. Thus setting
exchange_correlation=LSDA.PZ
is identical to specifying
exchange_correlation=ExchangeCorrelation(
exchange=DiracBloch,
correlation=PerdewZunger,
number_of_spins=2,
)
Table 15:
Available abbreviations for specifying LDA functionals.
The exchange part is always DiracBloch.
| XCTYPE | Correlation |
|---|---|
| WIGNER | WignerParametrization |
| XA | SlatersXAlpha |
| RPA | RandomPhaseApproximation |
| HL | HedinLundqvist |
| PZ | PerdewZunger |
| PW | PerdewWang |
Table 16: Available abbreviations for specifying GGA functionals.
| XCTYPE | Exchange | Correlation |
|---|---|---|
| PBE | PerdewBurkeErnzerhofExchange | PerdewBurkeErnzerhofCorrelation |
| RPBE | RevisedPerdewBurkeErnzerhofExchange | PerdewBurkeErnzerhofCorrelation |
| PBES | PerdewBurkeErnzerhofSolids | PerdewBurkeErnzerhofCorrelationSolids |
| BLYP | Becke88 | LeeYangParr |
| XLYP | XuGoddard | LeeYangParr |
| PW91 | PerdewWang91 | PerdewWang91Correlation |
| BPW91 | Becke88 | PerdewWang91Correlation |
| BP86 | Becke86 | Perdew86 |
Table 17: Available abbreviations for specifying meta-GGA functionals. Note that the correlation is LDA-based.
| XCTYPE | Exchange | Correlation |
|---|---|---|
| TB09LDA | TB09Exchange | PerdewZunger |
ATK uses the Libxc library for exchange and correlation. In the following tables we list the parameterization that are available in ATK 12.2.0, along with the corresponding entity used in the Libxc documentation, and with references to the original articles.
Table 18: Available LDA Exchange parametrizations in ATK
| Keyword | Libxc entity | Description and references |
|---|---|---|
|
|
XC_LDA_X |
Table 19: Available LDA Correlation parametrizations in ATK
| Keyword | Libxc entity | Description and references |
|---|---|---|
|
|
XC_LDA_C_2D_AMGB |
Attacalite et al., for 2D systems |
|
|
XC_LDA_C_GL |
Gunnarson & Lundqvist |
|
|
XC_LDA_C_HL |
Hedin & Lundqvist |
|
|
XC_LDA_C_PW_MOD |
Perdew & Wang (Modified) |
|
|
XC_LDA_C_PZ_MOD |
Perdew & Zunger (Modified) |
|
|
XC_LDA_C_OB_PZ |
|
|
|
XC_LDA_C_OB_PW |
|
|
|
XC_LDA_C_PW |
Perdew & Wang |
|
|
XC_LDA_C_PZ |
Perdew & Zunger |
|
|
XC_LDA_C_2D_PRM |
Pittalis, Rasanen & Marques correlation in 2D |
|
|
XC_LDA_C_RPA |
Random Phase Approximation |
|
|
XC_LDA_C_XALPHA |
Slater's Xa (X-alpha) |
|
|
XC_LDA_C_WIGNER |
Wigner parametrization |
|
|
XC_LDA_C_vBH |
von Barth & Hedin |
|
|
XC_LDA_C_VWN |
Vosko, Wilk, & Nussair |
|
|
XC_LDA_C_VWN_RPA |
Vosko, Wilk, & Nussair (RPA) |
Table 20: Available GGA Exchange parametrizations in ATK
| Keyword | Libxc entity | Description and references |
|---|---|---|
|
|
XC_GGA_X_mPW91 |
Modified form of PW91 by Adamo & Barone |
|
|
XC_GGA_X_AM05 |
|
|
|
XC_GGA_X_B86 |
Becke 86 Xalfa,beta,gamma |
|
|
XC_GGA_X_B88 |
|
|
|
XC_GGA_X_FT97_A |
Filatov & Thiel 97 (version A) |
|
|
XC_GGA_X_G96 |
|
|
|
XC_GGA_X_B86_MGC |
Becke 86 Xalfa,beta,gamma (with mod. grad. correction) |
|
|
XC_GGA_X_RPBE |
Hammer, Hansen & Norskov (PBE-like) |
|
|
XC_GGA_X_OPTX |
Handy & Cohen OPTX 01 |
|
|
XC_GGA_X_DK87_R1 |
dePristo & Kress 87 (version R1) |
|
|
XC_GGA_X_LG93 |
Lacks & Gordon 93 |
|
|
XC_GGA_X_PBEA |
Madsen (PBE-like) |
|
|
XC_GGA_X_MPBE |
Adamo & Barone modification to PBE |
|
|
XC_GGA_X_FT97_B |
Filatov & Thiel 97 (version B) |
|
|
XC_GGA_X_PBE |
Perdew, Burke & Ernzerhof exchange |
|
|
XC_GGA_X_PBE_SOL |
|
|
|
XC_GGA_X_PW86 |
Perdew & Wang 86 |
|
|
XC_GGA_X_PW91 |
|
|
|
XC_GGA_X_B86_R |
Becke 86 Xalfa,beta,gamma (reoptimized) |
|
|
XC_GGA_X_DK87_R2 |
dePristo & Kress 87 (version R2) |
|
|
XC_GGA_X_PBE_R |
|
|
|
XC_GGA_X_WC |
|
|
|
XC_GGA_X_XPBE |
xPBE reparametrization by Xu & Goddard |
Table 21: Available GGA Correlation parametrizations in ATK
| Keyword | Libxc entity | Description and references |
|---|---|---|
|
|
XC_GGA_C_AM05 |
|
|
|
XC_GGA_C_XPBE |
xPBE reparametrization by Xu & Goddard |
|
|
XC_GGA_C_LM |
Langreth and Mehl correlation |
|
|
XC_GGA_C_LYP |
|
|
|
XC_GGA_C_P86 |
Perdew 86 |
|
|
XC_GGA_C_PBE |
Perdew, Burke & Ernzerhof correlation |
|
|
XC_GGA_C_PBE_SOL |
|
|
|
XC_GGA_C_PW91 |
Table 22: Available Meta-GGA Exchange parametrizations in ATK
| Keyword | Libxc entity | Description and references |
|---|---|---|
|
|
XC_MGGA_X_TB09 |
Tran & Blaha 89, meta-GGA |