Quantum ESPRESSO Input¶
The input to the QuantumESPRESSO engine has a similar structure as the input to the pw.x executable, with some exceptions.
Note
In the input file there are two System blocks:
The AMS driver System block contains the atomic species, atomic positions, atomic masses (isotopes), and lattice vectors, just like for any other AMS calculation. On each atom line you can also specify for example
QE.label=Fe1(max 3 characters) to set the internal QE atom type for that atom. See the Examples and AMS Driver documentation.The QuantumESPRESSO Engine System block contains keywords from the
&SYSTEMnamelist in the pw.x input file. For example,ecutwfcto set the plane-wave energy cutoff, as well as many other input options for magnetization, occupations, dispersion corrections, etc. This block is described in detail below.
Pseudopotentials¶
A library of pseudopotentials is included with the AMS Quantum ESPRESSO package. Simply specify the family and the functional in the input and the corresponding pseudopotential files will be used.
The pseudopotentials will also determine the exchange-correlation functional used, unless you manually set the DFT functional (input_dft) option.
Important
Use an energy cutoff that is large enough for your selected pseudopotentials!
Pseudopotentials
Directory string
Family [Dojo | GBRV | pslibrary-PAW | pslibrary-US | SG15 | SSSP-Efficiency | SSSP-Precision]
Files
Label string
Path string
End
FullyRelativistic Yes/No
Functional [BLYP | LDA | PBE | PBEsol | PW91]
End
Pseudopotentials- Type:
Block
- Description:
Selects the pseudopotential to use for the atomic species.
Directory- Type:
String
- Description:
This key is mutually exclusive with the
FamilyandFileskeywords. This key specifies a directory containing label.upf files. Example: .. code-block:: text System Atoms H 0 0 0 H 0 0 1 QE.Label=H1 H 0 0 2 QE.Label=H2 C 0 0 3 QE.Label=C1 End End This will look for the files H.upf, H1.upf, H2.upf, C1.upf. If H1.upf does not exist, H.upf will be used. If H2.upf does not exist, H.upf will be used. If C1.upf does not exist, C.upf will be used.
Family- Type:
Multiple Choice
- Default value:
SSSP-Efficiency
- Options:
[Dojo, GBRV, pslibrary-PAW, pslibrary-US, SG15, SSSP-Efficiency, SSSP-Precision]
- GUI name:
Pseudopotential family
- Description:
The pseudopotential family to use. Mutually exclusive with the
FilesandDirectorykeywords.
Files- Type:
Block
- Recurring:
True
- Description:
Selects the pseudopotentials to use for each atomic species. This key is mutually exclusive with the
FamilyandDirectorykeywords.
Label- Type:
String
- Description:
Label for an atom corresponding to the QE.Label, or to the element symbol if QE.Label is not set.
Path- Type:
String
- Description:
Path to a .upf file to use as pseudopotential. Relative paths are relative to root of the pseudopotential library shipped with AMS. Prefix a path with ‘./’ to make it relative to the starting directory of your job.
FullyRelativistic- Type:
Bool
- Default value:
No
- GUI name:
Pseudopotential fully relativistic
- Description:
Whether to use fully relativistic pseudopotentials (required for spin-orbit calculations).
Functional- Type:
Multiple Choice
- Default value:
PBE
- Options:
[BLYP, LDA, PBE, PBEsol, PW91]
- GUI name:
Pseudopotential functional
- Description:
Exchange-correlation functional that was used to generate the pseudopotential. Not all choices are valid for all pseudopotential families. This functional will also be used for the calculation, unless the
input_dftoption is set.
K-space and k-point sampling¶
The K_Points block corresponds to the K_POINTS card in the pw.x input.
Gamma-point (Γ-point) sampling (fast implementation, not compatible with all calculation types or postprocessing programs):
Engine QuantumEspresso
K_Points gamma
End
EndEngine
Gamma-point (Γ-point) sampling (slower implementation):
Engine QuantumEspresso
K_Points automatic
1 1 1 0 0 0
End
EndEngine
Monkhorst-Pack 6 x 6 x 4 grid, shifted:
Engine QuantumEspresso
K_Points automatic
6 6 4 1 1 1
End
EndEngine
Monkhorst-Pack 6 x 6 x 4 grid, unshifted:
Engine QuantumEspresso
K_Points automatic
6 6 4 0 0 0
End
EndEngine
The output contains details about the generated k-point grid. For further information, see the pw.x documentation.
For DOS and band structure calculations, the main K_Points block
specifies the k-points used during the self-consistent-field (SCF). The DOS and band structure sections for how to
specify a different k-space sampling for the non-self-consistent parts of DOS
and band structure calculations.
K_Points- Type:
Non-standard block
- Description:
Specify the k-points to use. Available header values are:
tpiba,automatic,crystal,gamma,tpiba_b,crystal_b,tpiba_c,crystal_c, andams_kpath. See the examples and QE documentation for details. If omitted, onlygammais used. For most cases,automatic(which generates a Monkhorst-Pack grid) is recommended. Note: Gamma-point calculations are significantly faster usinggammathanautomatic, but may not be possible to use for all types of calculations or postprocessing programs.
Control block: dipole/electric field¶
See also
Control
dipfield Yes/No
lelfield Yes/No
tefield Yes/No
verbosity [Minimal | Low | Default | Debug | Medium | High | Auto]
End
Control- Type:
Block
- Description:
Keywords from the &CONTROL namelist in the QuantumEspresso input file.
dipfield- Type:
Bool
- Default value:
No
- GUI name:
Dipole field
- Description:
If True (and
tefieldis True) a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See keywordsedir,emaxpos,eopregfor the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE.
lelfield- Type:
Bool
- Default value:
No
- GUI name:
Homogeneous E-field
- Description:
If True a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from setting
tefieldto True!
tefield- Type:
Bool
- Default value:
No
- GUI name:
Saw-like E-field
- Description:
If True a saw-like potential simulating an electric field is added to the bare ionic potential. See keywords
edir,eamp,emaxpos,eopregfor the form and size of the added potential.
verbosity- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Minimal, Low, Default, Debug, Medium, High, Auto]
- Description:
Currently two verbosity levels are implemented: ‘high’, ‘low’. ‘debug’ and ‘medium’ have the same effect as ‘high’, ‘default’ and ‘minimal’ as ‘low’. The Default (‘Auto’) is stablished by QE.
Electrons block: SCF convergence¶
Electrons
conv_thr float
diagonalization [Davidson | ConjugateGradient | PPCG | ParO | RMM-Davidson | RMM-ParO]
electron_maxstep integer
mixing_beta float
mixing_mode [Plain | Thomas-Fermi | Local-Thomas-Fermi]
mixing_ndim integer
scf_must_converge Yes/No
End
Electrons- Type:
Block
- Description:
Keywords from the &ELECTRONS namelist in the QuantumEspresso input file.
conv_thr- Type:
Float
- Default value:
1e-06
- Unit:
Rydberg
- GUI name:
Convergence threshold
- Description:
Convergence threshold for selfconsistency: estimated energy error <
conv_thr. Note thatconv_thris extensive, like the total energy.
diagonalization- Type:
Multiple Choice
- Default value:
Davidson
- Options:
[Davidson, ConjugateGradient, PPCG, ParO, RMM-Davidson, RMM-ParO]
- GUI name:
Diagonalization
- Description:
Available options are: • Davidson: iterative diagonalization with overlap matrix. Fast, may in some rare cases fail. • ConjugateGradient: Conjugate-gradient-like band-by-band diagonalization. MUCH slower than
Davidsonbut uses less memory and is (a little bit) more robust. • PPCG: PPCG iterative diagonalization • ParO: ParO iterative diagonalization • RMM-Davidson & RMM-ParO: RMM-DIIS iterative diagonalization. To stabilize the SCF loop RMM-DIIS is alternated with calls to Davidson or ParO solvers.
electron_maxstep- Type:
Integer
- Default value:
100
- GUI name:
Maximum # SCF iterations
- Description:
Maximum number of iterations in a SCF step.
mixing_beta- Type:
Float
- Default value:
0.3
- GUI name:
Beta
- Description:
Mixing factor for self-consistency. Note: the default value in the AMS interface (0.3) is smaller than the default value in pw.x (0.7)
mixing_mode- Type:
Multiple Choice
- Default value:
Plain
- Options:
[Plain, Thomas-Fermi, Local-Thomas-Fermi]
- GUI name:
Mixing mode
- Description:
Available options are: • Plain: charge density Broyden mixing • Thomas-Fermi: as above, with simple Thomas-Fermi screening (for highly homogeneous systems) • Local-Thomas-Fermi: as above, with local-density-dependent TF screening (for highly inhomogeneous systems)
mixing_ndim- Type:
Integer
- Default value:
8
- GUI name:
Dimension
- Description:
Number of iterations used in mixing scheme. If you are tight with memory, you may reduce it to 4 or so.
scf_must_converge- Type:
Bool
- Default value:
Yes
- Description:
If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care. Important: When using the AMS interface, setting this to .true. will halt the entire AMS execution if the SCF fails; otherwise, AMS will try to continue using the unconverged results.
System block (in the QuantumESPRESSO engine)¶
Overview:
System
assume_isolated [Auto | None | Martyna-Tuckerman | ESM | 2D]
degauss float
dftd3_threebody Yes/No
dftd3_version [2 | 3 | 4 | 5 | 6]
eamp float
ecutfock float
ecutrho float
ecutvcut float
ecutwfc float
edir [x | y | z]
emaxpos float
eopreg float
esm_bc [pbc | bc1 | bc2 | bc3]
exx_fraction float
exxdiv_treatment [gygi-baldereschi | vcut_spherical | vcut_ws | none]
gcscf_conv_thr float
gcscf_mu float
input_dft string
lgcscf Yes/No
lspinorb Yes/No
nbnd integer
nosym Yes/No
nqx1 integer
nqx2 integer
nqx3 integer
nr1 integer
nr1s integer
nr2 integer
nr2s integer
nr3 integer
nr3s integer
nspin [None | Collinear | Non-Collinear]
occupations [Smearing | Tetrahedra | Tetrahedra_lin | Tetrahedra_opt | Fixed]
screening_parameter float
smearing [Gaussian | Methfessel-Paxton | Marzari-Vanderbilt | Fermi-Dirac]
starting_magnetization
Label string
Value float
End
tot_magnetization float
vdw_corr [None | Grimme-D2 | Grimme-D3 | TS | MBD | XDM]
x_gamma_extrapolation Yes/No
xdm_a1 float
xdm_a2 float
End
Cutoffs¶
System
ecutrho float
ecutwfc float
End
System- Type:
Block
- Description:
Keywords from the &SYSTEM namelist in the QuantumEspresso input file.
ecutrho- Type:
Float
- Unit:
Rydberg
- GUI name:
Charge density cutoff
- Description:
Kinetic energy cutoff for charge density and potential. If this key is not specified and the
Pseudopotential%Familyrecommends a ratio ofecutrhotoecutwfc, this recommended ratio will be used. If there is no recommended ratio, the default value is4 x ecutwfc. For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. If there are ultrasoft PP, a larger value than the default is often desirable (ecutrho= 8 to 12 timesecutwfc, typically). PAW datasets can often be used at4 x ecutwfc, but it depends on the shape of augmentation charge: testing is mandatory. The use of gradient-corrected functional, especially in cells with vacuum, or for pseudopotential without non-linear core correction, usually requires an higher values ofecutrhoto be accurately converged.
ecutwfc- Type:
Float
- Default value:
40.0
- Unit:
Rydberg
- GUI name:
Wavefunction energy cutoff
- Description:
Kinetic energy cutoff for wavefunctions.
See also
Number of bands (nbnd)¶
System
nbnd integer
End
System- Type:
Block
- Description:
Keywords from the &SYSTEM namelist in the QuantumEspresso input file.
nbnd- Type:
Integer
- GUI name:
Number of bands
- Description:
Number of electronic states (bands) to be calculated. Note that in spin-polarized calculations the number of k-point, not the number of bands per k-point, is doubled. Default: For an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)
Fractional occupation, smearing¶
System
degauss float
occupations [Smearing | Tetrahedra | Tetrahedra_lin | Tetrahedra_opt | Fixed]
smearing [Gaussian | Methfessel-Paxton | Marzari-Vanderbilt | Fermi-Dirac]
End
System- Type:
Block
- Description:
Keywords from the &SYSTEM namelist in the QuantumEspresso input file.
degauss- Type:
Float
- Default value:
0.0
- Unit:
Rydberg
- GUI name:
Smearing width
- Description:
Value of the gaussian spreading for Brillouin-zone integration in metals.
occupations- Type:
Multiple Choice
- Default value:
Fixed
- Options:
[Smearing, Tetrahedra, Tetrahedra_lin, Tetrahedra_opt, Fixed]
- GUI name:
Occupations
- Description:
Available options are: • Smearing: gaussian smearing for metals; see keywords
smearinganddegauss• Tetrahedra: Tetrahedron method, Bloechl’s version: P.E. Bloechl, PRB 49, 16223 (1994). Requires uniform grid of k-points, to be automatically generated (seeblock K_Points). Well suited for calculation of DOS, less so (because not variational) for force/optimization/dynamics calculations. • Tetrahedra_lin: Original linear tetrahedron method. To be used only as a reference; the optimized tetrahedron method is more efficient. • Tetrahedra_opt: optimized tetrahedron method, see M. Kawamura, PRB 89, 094515 (2014). Can be used for phonon calculations as well. • Fixed: for insulators with a gap.
smearing- Type:
Multiple Choice
- Default value:
Gaussian
- Options:
[Gaussian, Methfessel-Paxton, Marzari-Vanderbilt, Fermi-Dirac]
- GUI name:
Smearing
- Description:
Available options are: • Gaussian: ordinary Gaussian spreading • Methfessel-Paxton: first-order spreading (see PRB 40, 3616 (1989)) • Marzari-Vanderbilt: cold smearing (see PRL 82, 3296 (1999)) • Fermi-Dirac: smearing with Fermi-Dirac function
Magnetization, spin, spin-orbit¶
System
lspinorb Yes/No
nspin [None | Collinear | Non-Collinear]
starting_magnetization
Label string
Value float
End
tot_magnetization float
End
System- Type:
Block
- Description:
Keywords from the &SYSTEM namelist in the QuantumEspresso input file.
lspinorb- Type:
Bool
- Default value:
No
- GUI name:
Spin-orbit
- Description:
if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit.
nspin- Type:
Multiple Choice
- Default value:
None
- Options:
[None, Collinear, Non-Collinear]
- GUI name:
Magnetization
- Description:
Available options are: • None: not spin-polarized • Collinear: LSDA with magnetization along z-axis • Non-Collinear: any magnetization (equivalent to setting the
noncolinkey to True)
starting_magnetization- Type:
Block
- Recurring:
True
- Description:
Starting spin polarization for an atomic type in a spin polarized (LSDA or noncollinear/spin-orbit) calculation. Allowed values range between -1 (all spins down for the valence electrons of atom type ‘i’) to 1 (all spins up). If you expect a nonzero magnetization in your ground state, you MUST either specify a nonzero value for at least one atomic type, or constrain the magnetization using keyword
tot_magnetizationfor LSDA,constrained_magnetizationfor noncollinear/spin-orbit calculations. If you don’t, you will get a nonmagnetic (zero magnetization) state. In order to perform LSDA calculations for an antiferromagnetic state, define two different atomic species corresponding to sublattices of the same atomic type. Note: If you fix the magnetization withtot_magnetization, do not specifystarting_magnetization. Note: In the noncollinear/spin-orbit case, starting with zero starting_magnetization on all atoms imposes time reversal symmetry. The magnetization is never calculated and is set to zero.
Label- Type:
String
- Description:
Label for an atom corresponding to the QE.Label, or to the element symbol if QE.Label is not set.
Value- Type:
Float
- Description:
Starting magnetization value.
tot_magnetization- Type:
Float
- GUI name:
Fix total magnetization
- Description:
Total majority spin charge minus minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle.
Dispersion corrections¶
Tip
You can access Grimme’s D4 dispersion through an AMS engine addon.
System
vdw_corr [None | Grimme-D2 | Grimme-D3 | TS | MBD | XDM]
dftd3_version [2 | 3 | 4 | 5 | 6]
dftd3_threebody Yes/No
xdm_a1 float
xdm_a2 float
End
System- Type:
Block
- Description:
Keywords from the &SYSTEM namelist in the QuantumEspresso input file.
vdw_corr- Type:
Multiple Choice
- Default value:
None
- Options:
[None, Grimme-D2, Grimme-D3, TS, MBD, XDM]
- GUI name:
Dispersion correction
- Description:
Type of Van der Waals correction. Allowed values: • Grimme-D2: Semiempirical Grimme’s DFT-D2, see S. Grimme, J. Comp. Chem. 27, 1787 (2006) [doi:10.1002/jcc.20495], and V. Barone et al., J. Comp. Chem. 30, 934 (2009) [doi:10.1002/jcc.21112]. • Grimme-D3: Semiempirical Grimme’s DFT-D3, see S. Grimme et al, J. Chem. Phys 132, 154104 (2010) [doi:10.1063/1.3382344]. • TS: Tkatchenko-Scheffler dispersion corrections with first-principle derived C6 coefficients, see A. Tkatchenko and M. Scheffler, PRL 102, 073005 (2009). • MBD: Many-body dispersion (MBD) correction to long-range interactions, see A. Ambrosetti, A. M. Reilly, R. A. DiStasio, A. Tkatchenko, J. Chem. Phys. 140 18A508 (2014). • XDM: Exchange-hole dipole-moment model, see A. D. Becke et al., J. Chem. Phys. 127, 154108 (2007) [doi:10.1063/1.2795701], and A. Otero de la Roza et al., J. Chem. Phys. 136, 174109 (2012) [doi:10.1063/1.4705760]. Note that non-local functionals (eg vdw-DF) are NOT specified here but using the
input_dftkeyword.
dftd3_version- Type:
Multiple Choice
- Default value:
3
- Options:
[2, 3, 4, 5, 6]
- GUI name:
Version
- Description:
Version of Grimme implementation of Grimme-D3: • 2: Original Grimme-D2 parametrization • 3: Grimme-D3 (zero damping) • 4: Grimme-D3 (BJ damping) • 5: Grimme-D3M (zero damping) • 6: Grimme-D3M (BJ damping) • NOTE: not all functionals are parametrized.
dftd3_threebody- Type:
Bool
- Default value:
Yes
- GUI name:
Use three-body terms
- Description:
Turn three-body terms in Grimme-D3 on. If False two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version is set to
2, three-body contribution is always disabled.
xdm_a1- Type:
Float
- Default value:
0.6836
- GUI name:
a1
- Description:
Damping function parameter a1 (adimensional). It is NOT necessary to give a value if the functional is one of B86bPBE, PW86PBE, PBE, BLYP. For functionals in this list, the coefficients are given in: http://schooner.chem.dal.ca/wiki/XDM; A. Otero de la Roza, E. R. Johnson, J. Chem. Phys. 138, 204109 (2013) [doi:10.1063/1.4705760]
xdm_a2- Type:
Float
- Default value:
1.5045
- Unit:
Angstrom
- GUI name:
a2
- Description:
Damping function parameter a2 (Angstrom). It is NOT necessary to give a value if the functional is one of B86bPBE, PW86PBE, PBE, BLYP. For functionals in this list, the coefficients are given in: http://schooner.chem.dal.ca/wiki/XDM; A. Otero de la Roza, E. R. Johnson, J. Chem. Phys. 138, 204109 (2013) [doi:10.1063/1.4705760]
Example values for xdm_a1 and xdm_a2 (source: postsg/xdm.param)
# quantum espresso, new version
functional a1 a2(ang) MAPD nset
b86bpbe (PAW) 0.6512 1.4633 11.8 49
pw86pbe (PAW) 0.6836 1.5045 11.7 49
blyp (PAW) 0.4502 1.6210 14.8 49
pbe (PAW) 0.3275 2.7673 14.4 49
b86bpbe (NC) 0.7767 1.0937 12.4 49
pw86pbe (NC) 0.7825 1.2077 12.6 49
blyp (NC) 0.6349 1.0486 11.2 49
pbe (NC) 0.4283 2.4690 15.2 49
# quantum espresso, new version, hybrids
functional a1 a2(ang) MAPD nset
hse (PAW) 0.3799 2.5862 10.5 49
pbe0 (PAW) 0.4616 2.2913 7.9 49
b3lyp (PAW) 0.6092 1.3452 8.5 49
b86bpbe 10% (PAW) 0.6470 1.4911 10.1 49
b86bpbe 20% (PAW) 0.6303 1.5579 8.8 49
b86bpbe 30% (PAW) 0.6134 1.6290 7.8 49
b86bpbe 40% (PAW) 0.5976 1.7000 7.1 49
b86bpbe 50% (PAW) 0.5826 1.7718 6.9 49
blyp 10% (PAW) 0.5637 1.4443 10.0 49
blyp 20% (PAW) 0.5663 1.5258 8.8 49
blyp 30% (PAW) 0.5174 1.7808 8.5 49
blyp 40% (PAW) 0.4195 2.1999 8.6 49
bhahlyp (PAW) 0.2998 2.6953 9.3 49
b3lyp (NC) 0.6070 1.3862 7.4 49
pbe0 (NC) 0.4590 2.3581 11.1 49
hse (NC) 0.4206 2.4989 11.9 49
b86bpbe 10% (NC) 0.7272 1.2674 10.8 49
b86bpbe 20% (NC) 0.6898 1.4072 9.6 49
b86bpbe 25% (NC) 0.6754 1.4651 9.2 49
b86bpbe 30% (NC) 0.6627 1.5181 9.0 49
b86bpbe 40% (NC) 0.6465 1.5981 8.9 49
b86bpbe 50% (NC) 0.6434 1.6405 9.1 49
blyp 10% (NC) 0.5967 1.3653 8.6 49
blyp 20% (NC) 0.5315 1.6669 7.8 49
blyp 30% (NC) 0.4398 2.0623 8.1 49
blyp 40% (NC) 0.3375 2.5011 9.1 49
bhahlyp (NC) 0.2292 2.9698 10.4 49
DFT functional (input_dft)¶
System
input_dft string
End
System- Type:
Block
- Description:
Keywords from the &SYSTEM namelist in the QuantumEspresso input file.
input_dft- Type:
String
- GUI name:
Density functional
- Description:
Exchange-correlation functional. Some valid values are • pbe • blyp • pbe0 • hse • revpbe • vdw-df-cx. See the documentation for more possible values. Overrides the value read from pseudopotential files.
New in version AMS2026: LibXC support
Common values for input_dft¶
These are suggested values for various functionals based on benchmarks and practical experience, including both native Quantum ESPRESSO and Libxc keywords. A red cross (❌) indicates that the setup should not be used, as it will return incorrect results even if the program runs without crashing.
Functional Name |
Quantum ESPRESSO (Native) |
Quantum ESPRESSO (Libxc, AMS2026+) |
ADF Equivalent [1] |
|---|---|---|---|
Input option ⇒ |
|
|
|
LDA |
|||
LDA_PZ |
|
|
|
LDA_VWN |
|
|
|
GGA |
|||
PBE |
|
|
|
PBEsol |
|
|
|
BLYP |
|
|
|
PW91 |
|
|
|
revPBE |
|
|
|
RPBE |
|
|
|
TPSS |
❌ |
|
|
revTPSS |
❌ |
|
|
SCAN |
|
|
|
r2SCAN |
|
|
|
M06-L |
❌ |
|
|
Hybrids [4] |
|||
PBE0 |
|
❌ |
|
B3LYP |
|
❌ |
|
Range Separated Hybrids [4] |
|||
HSE06 |
|
❌ |
|
Notes
See also
All input_dft values¶
Valid values from QuantumESPRESSO (source QuantumESPRESSO-7.1: Modules/funct.f90)
To use a native QuantumESPRESSO functional, you can simply provide its corresponding short text string (e.g., 'pbe', 'b3lyp', or 'scan') directly to the input_dft option. You can find the complete list of supported native functional strings in the following source file:
Click to view the source code
! ------------------------------------------------------------------------
! "dft" is the exchange-correlation functional label, as set by the user,
! using either set_dft_from_name or set_dft_from_indices. It can contain
! either the short names or a series of the keywords listed below.
! All operations on names are case-insensitive.
!
! short name complete name Short description
! "pz" = "sla+pz" = Perdew-Zunger LDA
! "bp" = "b88+p86" = Becke-Perdew grad.corr.
! "pw91" = "sla+pw+ggx+ggc" = PW91 (aka GGA)
! "blyp" = "sla+b88+lyp+blyp" = BLYP
! "pbe" = "sla+pw+pbx+pbc" = PBE
! "revpbe"= "sla+pw+revx+pbc" = revPBE (Zhang-Yang)
! "rpbe" = "sla+pw+hhnx+pbc" = RPBE (Hammer-Hansen-Norskov)
! "pw86pbe" = "sla+pw+pw86+pbc" = PW86 exchange + PBE correlation
! "b86bpbe" = "sla+pw+b86b+pbc" = B86b exchange + PBE correlation
! "pbesol"= "sla+pw+psx+psc" = PBEsol
! "q2d" = "sla+pw+q2dx+q2dc" = PBEQ2D
! "hcth" = "nox+noc+hcth+hcth" = HCTH/120
! "olyp" = "nox+lyp+optx+blyp" = OLYP
! "wc" = "sla+pw+wcx+pbc" = Wu-Cohen
! "sogga" = "sla+pw+sox+pbec" = SOGGA
! "optbk88"="sla+pw+obk8+p86" = optB88
! "optb86b"="sla+pw+ob86+p86" = optB86
! "ev93" = "sla+pw+evx+nogc" = Engel-Vosko
! "tpss" = "sla+pw+tpss+tpss" = TPSS Meta-GGA
! "m06l" = "nox+noc+m6lx+m6lc" = M06L Meta-GGA
! "tb09" = "sla+pw+tb09+tb09" = TB09 Meta-GGA
! "pbe0" = "pb0x+pw+pb0x+pbc" = PBE0
! "b86bx" = "pb0x+pw+b86x+pbc" = B86bPBE hybrid
! "bhahlyp"="pb0x+pw+b88x+blyp" = Becke half-and-half LYP
! "hse" = "sla+pw+hse+pbc" = Heyd-Scuseria-Ernzerhof (HSE 06, see note below)
! "b3lyp" = B3LYP
! "b3lyp-v1r" = B3LYP-VWN1-RPA
! "x3lyp" = X3LYP
! "vwn-rpa" = VWN LDA using vwn1-rpa parametrization
! "gaupbe"= "sla+pw+gaup+pbc" = Gau-PBE (also "gaup")
!
! "vdw-df" ="sla+pw+revx+vdw1" = vdW-DF1
! "vdw-df2" ="sla+pw+rw86+vdw2" = vdW-DF2
! "vdw-df-c09" ="sla+pw+c09x+vdw1" = vdW-DF-C09
! "vdw-df2-c09" ="sla+pw+c09x+vdw2" = vdW-DF2-C09
! "vdw-df-obk8" ="sla+pw+obk8+vdw1" = vdW-DF-obk8 (optB88-vdW)
! "vdw-df-ob86" ="sla+pw+ob86+vdw1" = vdW-DF-ob86 (optB86b-vdW)
! "vdw-df2-b86r" ="sla+pw+b86r+vdw2" = vdW-DF2-B86R (rev-vdw-df2)
! "vdw-df-cx" ="sla+pw+cx13+vdW1" = vdW-DF-cx
! "vdw-df-cx0" ="sla+pw+cx13+vdW1+HF/4" = vdW-DF-cx-0
! "vdw-df2-0" ="sla+pw+rw86+vdw2+HF/4" = vdW-DF2-0
! "vdw-df2-br0" ="sla+pw+b86r+vdW2+HF/4" = vdW-DF2-b86r-0
! "vdw-df-c090" ="sla+pw+c09x+vdw1+HF/4" = vdW-DF-C09-0
! "vdw-df3-opt1" ="sla+pw+w31x+w31c" = vdW-DF3-opt1
! "vdw-df3-opt2" ="sla+pw+w32x+w32c" = vdW-DF3-opt2
! "vdw-df-C6" ="sla+pw+b86r+wc6" = vdW-DF-C6
! "rvv10" = "sla+pw+rw86+pbc+vv10" = rVV10
!
! Any nonconflicting combination of the following keywords is acceptable:
!
! Exchange: "nox" none iexch=0
! "sla" Slater (alpha=2/3) iexch=1 (default)
! "sl1" Slater (alpha=1.0) iexch=2
! "rxc" Relativistic Slater iexch=3
! "oep" Optimized Effective Potential iexch=4
! "hf" Hartree-Fock iexch=5
! "pb0x" (Slater*0.75+HF*0.25) iexch=6 for PBE0 and vdW-DF-cx0 and vdW-DF2-0 etc
! "b3lp" B3LYP(Slater*0.80+HF*0.20) iexch=7
! "kzk" Finite-size corrections iexch=8
! "x3lp" X3LYP(Slater*0.782+HF*0.218) iexch=9
! "kli" KLI aproximation for exx iexch=10
!
! Correlation: "noc" none icorr=0
! "pz" Perdew-Zunger icorr=1 (default)
! "vwn" Vosko-Wilk-Nusair icorr=2
! "lyp" Lee-Yang-Parr icorr=3
! "pw" Perdew-Wang icorr=4
! "wig" Wigner icorr=5
! "hl" Hedin-Lunqvist icorr=6
! "obz" Ortiz-Ballone form for PZ icorr=7
! "obw" Ortiz-Ballone form for PW icorr=8
! "gl" Gunnarson-Lunqvist icorr=9
! "kzk" Finite-size corrections icorr=10
! "vwn-rpa" Vosko-Wilk-Nusair, alt param icorr=11
! "b3lp" B3LYP (0.19*vwn+0.81*lyp) icorr=12
! "b3lpv1r" B3LYP-VWN-1-RPA
! (0.19*vwn_rpa+0.81*lyp) icorr=13
! "x3lp" X3LYP (0.129*vwn_rpa+0.871*lyp)icorr=14
!
! Gradient Correction on Exchange:
! "nogx" none igcx =0 (default)
! "b88" Becke88 (beta=0.0042) igcx =1
! "ggx" Perdew-Wang 91 igcx =2
! "pbx" Perdew-Burke-Ernzenhof exch igcx =3
! "revx" revised PBE by Zhang-Yang igcx =4
! "hcth" Cambridge exch, Handy et al igcx =5
! "optx" Handy's exchange functional igcx =6
! "pb0x" PBE0 (PBE exchange*0.75) igcx =8
! "b3lp" B3LYP (Becke88*0.72) igcx =9
! "psx" PBEsol exchange igcx =10
! "wcx" Wu-Cohen igcx =11
! "hse" HSE screened exchange igcx =12
! "rw86" revised PW86 igcx =13
! "pbe" same as PBX, back-comp. igcx =14
! "c09x" Cooper 09 igcx =16
! "sox" sogga igcx =17
! "q2dx" Q2D exchange grad corr igcx =19
! "gaup" Gau-PBE hybrid exchange igcx =20
! "pw86" Perdew-Wang (1986) exchange igcx =21
! "b86b" Becke (1986) exchange igcx =22
! "obk8" optB88 exchange igcx =23
! "ob86" optB86b exchange igcx =24
! "evx" Engel-Vosko exchange igcx =25
! "b86r" revised Becke (b86b) igcx =26
! "cx13" consistent exchange igcx =27
! "x3lp" X3LYP (Becke88*0.542 +
! Perdew-Wang91*0.167) igcx =28
! "cx0" vdW-DF-cx+HF/4 (cx13-0) igcx =29
! "r860" rPW86+HF/4 (rw86-0) igcx =30 (for DF0)
! "cx0p" vdW-DF-cx+HF/5 (cx13-0p) igcx =31
! "ahcx" vdW-DF-cx based analytic hole igcx =32 ! Launched vdW-DF-ahcx - PH
! "ahf2" vdW-DF2 based analytic hole igcx =33 ! Defined vdw-DF2-AH at 0.20 - PH
! "ahpb" PBE based analytic hole igcx =34 ! PBE-AH (rHJS-PBE) at 0.20 - PH
! "ahps" PBE-sol based analytic hole igcx =35 ! PBESOL-AH (rHJS-PBEsol) at 0.20 - PH
! "cx14" Exporations igcx =36 reserved PH
! "cx15" Exporations igcx =37 reserved PH
! "br0" vdW-DF2-b86r+HF/4 (b86r-0) igcx =38
! "cx16" Exporations igcx =39 reserved PH
! "c090" vdW-DF-c09+HF/4 (c09-0) igcx =40
! "b86x" B86b exchange * 0.75 igcx =41
! "b88x" B88 exchange * 0.50 igcx =42
! "beex" BEE exchange igcx =43
! "hhnx" Hammer-Hansen-Norskov igcx =44
! "w31x" vdW-DF3-opt1 exchange igcx =45
! "w32x" vdW-DF3-opt2 exchange igcx =46
! "ahtr" vdW-DF2-ahtr exchange igcx =47 ! Test reserve called by vdW-DF2-ahtr - PH
! "ehpb" HSE variant igcx =48 ! Reserved PH
! "hjpb" HJS-type PBE cross check igcx =49 ! Reserved PH
! "hjps" HJS-type PBEsol crosscheck igcx =50 ! Reserved PH
!
! Gradient Correction on Correlation:
! "nogc" none igcc =0 (default)
! "p86" Perdew86 igcc =1
! "ggc" Perdew-Wang 91 corr. igcc =2
! "blyp" Lee-Yang-Parr igcc =3
! "pbc" Perdew-Burke-Ernzenhof corr igcc =4
! "hcth" Cambridge corr, Handy et al igcc =5
! "b3lp" B3LYP (Lee-Yang-Parr*0.81) igcc =7
! "psc" PBEsol corr igcc =8
! "pbe" same as PBX, back-comp. igcc =9
! "q2dc" Q2D correlation grad corr igcc =12
! "x3lp" X3LYP (Lee-Yang-Parr*0.871) igcc =13
! "beec" BEE correlation igcc =14
!
! Meta-GGA functionals
! "tpss" TPSS Meta-GGA imeta=1
! "m6lx" M06L Meta-GGA imeta=2
! "tb09" TB09 Meta-GGA imeta=3
! "+meta" activate MGGA even without MGGA-XC imeta=4
! "scan" SCAN Meta-GGA imeta=5
! "sca0" SCAN0 Meta-GGA imeta=6
! "r2scan" R2SCAN Meta-GGA imeta=7
!
! van der Waals functionals (nonlocal term only)
! "nonlc" none inlc =0 (default)
!--------------inlc = 1 to inlc = 25 reserved for vdW-DF--------------
! "vdw1" vdW-DF1 inlc =1
! "vdw2" vdW-DF2 inlc =2
! "w31c" vdW-DF3-opt1 inlc =3
! "w32c" vdW-DF3-opt2 inlc =4
! "wc6" vdW-DF-C6 inlc =5
!---------------------------------------------------------------------
! "vv10" rVV10 inlc =26
!
! Meta-GGA with van der Waals
! "rvv10-scan" rVV10 (with b=15.7) and scan inlc=26 (PRX 6, 041005 (2016))
!
! Note: as a rule, all keywords should be unique, and should be different
! from the short name, but there are a few exceptions.
!
! References:
! pz J.P.Perdew and A.Zunger, PRB 23, 5048 (1981)
! vwn S.H.Vosko, L.Wilk, M.Nusair, Can.J.Phys. 58,1200(1980)
! vwn1-rpa S.H.Vosko, L.Wilk, M.Nusair, Can.J.Phys. 58,1200(1980)
! wig E.P.Wigner, Trans. Faraday Soc. 34, 67 (1938)
! hl L.Hedin and B.I.Lundqvist, J. Phys. C4, 2064 (1971)
! gl O.Gunnarsson and B.I.Lundqvist, PRB 13, 4274 (1976)
! pw J.P.Perdew and Y.Wang, PRB 45, 13244 (1992)
! obpz G.Ortiz and P.Ballone, PRB 50, 1391 (1994)
! obpw as above
! b88 A.D.Becke, PRA 38, 3098 (1988)
! p86 J.P.Perdew, PRB 33, 8822 (1986)
! pw86 J.P.Perdew, PRB 33, 8800 (1986)
! b86b A.D.Becke, J.Chem.Phys. 85, 7184 (1986)
! ob86 Klimes, Bowler, Michaelides, PRB 83, 195131 (2011)
! b86r I. Hamada, Phys. Rev. B 89, 121103(R) (2014)
! w31x D. Chakraborty, K. Berland, and T. Thonhauser, JCTC 16, 5893 (2020)
! w32x D. Chakraborty, K. Berland, and T. Thonhauser, JCTC 16, 5893 (2020)
! pbe J.P.Perdew, K.Burke, M.Ernzerhof, PRL 77, 3865 (1996)
! pw91 J.P.Perdew and Y. Wang, PRB 46, 6671 (1992)
! blyp C.Lee, W.Yang, R.G.Parr, PRB 37, 785 (1988)
! hcth Handy et al, JCP 109, 6264 (1998)
! olyp Handy et al, JCP 116, 5411 (2002)
! revPBE Zhang and Yang, PRL 80, 890 (1998)
! pbesol J.P. Perdew et al., PRL 100, 136406 (2008)
! q2d L. Chiodo et al., PRL 108, 126402 (2012)
! rw86 Eamonn D. Murray et al, J. Chem. Theory Comput. 5, 2754 (2009)
! wc Z. Wu and R. E. Cohen, PRB 73, 235116 (2006)
! kzk H.Kwee, S. Zhang, H. Krakauer, PRL 100, 126404 (2008)
! pbe0 J.P.Perdew, M. Ernzerhof, K.Burke, JCP 105, 9982 (1996)
! hse Heyd, Scuseria, Ernzerhof, J. Chem. Phys. 118, 8207 (2003)
! Heyd, Scuseria, Ernzerhof, J. Chem. Phys. 124, 219906 (2006).
! b3lyp P.J. Stephens,F.J. Devlin,C.F. Chabalowski,M.J. Frisch
! J.Phys.Chem 98, 11623 (1994)
! x3lyp X. Xu, W.A Goddard III, PNAS 101, 2673 (2004)
! vdW-DF M. Dion et al., PRL 92, 246401 (2004)
! T. Thonhauser et al., PRL 115, 136402 (2015)
! vdW-DF2 Lee et al., Phys. Rev. B 82, 081101 (2010)
! rev-vdW-DF2 I. Hamada, Phys. Rev. B 89, 121103(R) (2014)
! vdW-DF-cx K. Berland and P. Hyldgaard, PRB 89, 035412 (2014)
! vdW-DF-cx0 K. Berland, Y. Jiao, J.-H. Lee, T. Rangel, J. B. Neaton and P. Hyldgaard,
! J. Chem. Phys. 146, 234106 (2017)
! vdW-DF-cx0p Y. Jiao, E. Schröder and P. Hyldgaard,
! J. Chem. Phys. 148, 194115 (2018)
! vdW-DF-obk8 Klimes et al, J. Phys. Cond. Matter, 22, 022201 (2010)
! vdW-DF-ob86 Klimes et al, Phys. Rev. B, 83, 195131 (2011)
! vdW-DF3-opt1 D. Chakraborty, K. Berland, and T. Thonhauser, JCTC 16, 5893 (2020)
! vdW-DF3-opt2 D. Chakraborty, K. Berland, and T. Thonhauser, JCTC 16, 5893 (2020)
! vdW-DF-C6 K. Berland, D. Chakraborty, and T. Thonhauser, PRB 99, 195418 (2019)
! c09x V. R. Cooper, Phys. Rev. B 81, 161104(R) (2010)
! tpss J.Tao, J.P.Perdew, V.N.Staroverov, G.E. Scuseria,
! PRL 91, 146401 (2003)
! tb09 F Tran and P Blaha, Phys.Rev.Lett. 102, 226401 (2009)
! scan J Sun, A Ruzsinszky and J Perdew, PRL 115, 36402 (2015)
! scan0 K Hui and J-D. Chai, JCP 144, 44114 (2016)
! r2scan J. W. Furness, A. D. Kaplan, J. Ning, J. P. Perdew,
! and J. Sun, JPCL 11, 8208 (2020)
! sogga Y. Zhao and D. G. Truhlar, JCP 128, 184109 (2008)
! m06l Y. Zhao and D. G. Truhlar, JCP 125, 194101 (2006)
! gau-pbe J.-W. Song, K. Yamashita, K. Hirao JCP 135, 071103 (2011)
! rVV10 R. Sabatini et al. Phys. Rev. B 87, 041108(R) (2013)
! ev93 Engel-Vosko, Phys. Rev. B 47, 13164 (1993)
! vdW-DF-ahcx V. Shukla, Y. Jiao, iC. M. Frostenson, and P. Hyldgaard, JPCM 34, 025902 (2022)
! vdW-DF2-ah V. Shukla, Y. Jiao, iC. M. Frostenson, and P. Hyldgaard, JPCM 34, 025902 (2022)
! PBE-ah V. Shukla, Y. Jiao, iC. M. Frostenson, and P. Hyldgaard, JPCM 34, 025902 (2022)
! PBESOL-ah V. Shukla, Y. Jiao, iC. M. Frostenson, and P. Hyldgaard, JPCM 34, 025902 (2022)
!
! NOTE ABOUT HSE: there are two slight deviations with respect to the HSE06
! functional as it is in Gaussian code (that is considered as the reference
! in the chemistry community):
! - The range separation in Gaussian is precisely 0.11 bohr^-1,
! instead of 0.106 bohr^-1 in this implementation
! - The gradient scaling relation is a bit more complicated
! [ see: TM Henderson, AF Izmaylov, G Scalmani, and GE Scuseria,
! J. Chem. Phys. 131, 044108 (2009) ]
! These two modifications accounts only for a 1e-5 Ha difference for a
! single He atom. Info by Fabien Bruneval.
!
! NOTE FOR LIBXC USERS: to use libxc functionals you must enforce them from input (use
! 'input_dft' in &system) and write their IDs in the input string. The only notation
! now allowed (v7.0) for input DFTs containing Libxc terms is:
! XC-000i-000i-000i-000i-000i-000i
! where you put the functional IDs instead of the zeros and an 'L' instead of
! 'i' if the functional is from Libxc. The order is the usual one:
! LDAexch - LDAcorr - GGAexch - GGAcorr - MGGAexch - MGGAcorr
! however QE will automatically adjust it if needed. You can skip zero tails (e.g.
! you don't need GGA/MGGA slots if the dft is LDA only and so on.
! You can use combinations of qe and libxc functionals, when they are compatible.
! You can also add vdW terms after it, for example, sla+pw+rw86+vdw2 is:
! input_dft='XC-001i-004i-013i-vdw2'.
! For more details see the user_guide (in 'Doc' folder).
Valid values through LibXC (source LibXC-5.1.2: libxc_inc.f90)
To call a functional via Libxc, you must use a rigid 6-position string format: XC-LDAx-LDAc-GGAx-GGAc-MGGAx-MGGAc
Each slot must be filled with a specific 3-digit Libxc ID followed by an ‘L’ (e.g., 101L for the Perdew-Burke-Ernzerhof exchange, XC_GGA_X_PBE). If a component is not required by your functional’s recipe, you must fill that exact slot with 000I to represent an empty internal value. Intercalating internal (‘I’) and external (‘L’) flags within the same exchange or correlation blocks is not allowed. You can find all the supported IDs in the following source file:
Click to view the source code
integer(c_int), parameter, public :: XC_HYB_LDA_XC_LDA0 = 177 ! LDA0: hybrid LDA exchange
integer(c_int), parameter, public :: XC_HYB_LDA_XC_CAM_LDA0 = 178 ! CAM version of LDA0
integer(c_int), parameter, public :: XC_LDA_X = 1 ! Exchange
integer(c_int), parameter, public :: XC_LDA_C_WIGNER = 2 ! Wigner parametrization
integer(c_int), parameter, public :: XC_LDA_C_RPA = 3 ! Random Phase Approximation
integer(c_int), parameter, public :: XC_LDA_C_HL = 4 ! Hedin & Lundqvist
integer(c_int), parameter, public :: XC_LDA_C_GL = 5 ! Gunnarson & Lundqvist
integer(c_int), parameter, public :: XC_LDA_C_XALPHA = 6 ! Slater Xalpha
integer(c_int), parameter, public :: XC_LDA_C_VWN = 7 ! Vosko, Wilk, & Nusair (5)
integer(c_int), parameter, public :: XC_LDA_C_VWN_RPA = 8 ! Vosko, Wilk, & Nusair (RPA)
integer(c_int), parameter, public :: XC_LDA_C_PZ = 9 ! Perdew & Zunger
integer(c_int), parameter, public :: XC_LDA_C_PZ_MOD = 10 ! Perdew & Zunger (Modified)
integer(c_int), parameter, public :: XC_LDA_C_OB_PZ = 11 ! Ortiz & Ballone (PZ)
integer(c_int), parameter, public :: XC_LDA_C_PW = 12 ! Perdew & Wang
integer(c_int), parameter, public :: XC_LDA_C_PW_MOD = 13 ! Perdew & Wang (Modified)
integer(c_int), parameter, public :: XC_LDA_C_OB_PW = 14 ! Ortiz & Ballone (PW)
integer(c_int), parameter, public :: XC_LDA_C_2D_AMGB = 15 ! Attaccalite et al
integer(c_int), parameter, public :: XC_LDA_C_2D_PRM = 16 ! Pittalis, Rasanen & Marques correlation in 2D
integer(c_int), parameter, public :: XC_LDA_C_VBH = 17 ! von Barth & Hedin
integer(c_int), parameter, public :: XC_LDA_C_1D_CSC = 18 ! Casula, Sorella, and Senatore 1D correlation
integer(c_int), parameter, public :: XC_LDA_X_2D = 19 ! Exchange in 2D
integer(c_int), parameter, public :: XC_LDA_XC_TETER93 = 20 ! Teter 93 parametrization
integer(c_int), parameter, public :: XC_LDA_X_1D_SOFT = 21 ! Exchange in 1D for a soft-Coulomb interaction
integer(c_int), parameter, public :: XC_LDA_C_ML1 = 22 ! Modified LSD (version 1) of Proynov and Salahub
integer(c_int), parameter, public :: XC_LDA_C_ML2 = 23 ! Modified LSD (version 2) of Proynov and Salahub
integer(c_int), parameter, public :: XC_LDA_C_GOMBAS = 24 ! Gombas parametrization
integer(c_int), parameter, public :: XC_LDA_C_PW_RPA = 25 ! Perdew & Wang fit of the RPA
integer(c_int), parameter, public :: XC_LDA_C_1D_LOOS = 26 ! P-F Loos correlation LDA
integer(c_int), parameter, public :: XC_LDA_C_RC04 = 27 ! Ragot-Cortona
integer(c_int), parameter, public :: XC_LDA_C_VWN_1 = 28 ! Vosko, Wilk, & Nusair (1)
integer(c_int), parameter, public :: XC_LDA_C_VWN_2 = 29 ! Vosko, Wilk, & Nusair (2)
integer(c_int), parameter, public :: XC_LDA_C_VWN_3 = 30 ! Vosko, Wilk, & Nusair (3)
integer(c_int), parameter, public :: XC_LDA_C_VWN_4 = 31 ! Vosko, Wilk, & Nusair (4)
integer(c_int), parameter, public :: XC_LDA_XC_ZLP = 43 ! Zhao, Levy & Parr, Eq. (20)
integer(c_int), parameter, public :: XC_LDA_K_TF = 50 ! Thomas-Fermi kinetic energy functional
integer(c_int), parameter, public :: XC_LDA_K_LP = 51 ! Lee and Parr Gaussian ansatz
integer(c_int), parameter, public :: XC_LDA_XC_KSDT = 259 ! Karasiev et al. parametrization
integer(c_int), parameter, public :: XC_LDA_C_CHACHIYO = 287 ! Chachiyo simple 2 parameter correlation
integer(c_int), parameter, public :: XC_LDA_C_LP96 = 289 ! Liu-Parr correlation
integer(c_int), parameter, public :: XC_LDA_C_CHACHIYO_MOD = 307 ! Chachiyo simple 2 parameter correlation with modified scaling
integer(c_int), parameter, public :: XC_LDA_C_KARASIEV_MOD = 308 ! Karasiev reparameterization of Chachiyo with modified scaling
integer(c_int), parameter, public :: XC_LDA_C_W20 = 317 ! Xie, Wu, and Zhao correlation
integer(c_int), parameter, public :: XC_LDA_X_REL = 532 ! Relativistic exchange
integer(c_int), parameter, public :: XC_LDA_XC_1D_EHWLRG_1 = 536 ! LDA constructed from slab-like systems of 1 electron
integer(c_int), parameter, public :: XC_LDA_XC_1D_EHWLRG_2 = 537 ! LDA constructed from slab-like systems of 2 electrons
integer(c_int), parameter, public :: XC_LDA_XC_1D_EHWLRG_3 = 538 ! LDA constructed from slab-like systems of 3 electrons
integer(c_int), parameter, public :: XC_LDA_X_ERF = 546 ! Attenuated exchange LDA (erf)
integer(c_int), parameter, public :: XC_LDA_XC_LP_A = 547 ! Lee-Parr reparametrization A
integer(c_int), parameter, public :: XC_LDA_XC_LP_B = 548 ! Lee-Parr reparametrization B
integer(c_int), parameter, public :: XC_LDA_X_RAE = 549 ! Rae self-energy corrected exchange
integer(c_int), parameter, public :: XC_LDA_K_ZLP = 550 ! kinetic energy version of ZLP
integer(c_int), parameter, public :: XC_LDA_C_MCWEENY = 551 ! McWeeny 76
integer(c_int), parameter, public :: XC_LDA_C_BR78 = 552 ! Brual & Rothstein 78
integer(c_int), parameter, public :: XC_LDA_C_PK09 = 554 ! Proynov and Kong 2009
integer(c_int), parameter, public :: XC_LDA_C_OW_LYP = 573 ! Wigner with corresponding LYP parameters
integer(c_int), parameter, public :: XC_LDA_C_OW = 574 ! Optimized Wigner
integer(c_int), parameter, public :: XC_LDA_XC_GDSMFB = 577 ! Groth et al. parametrization
integer(c_int), parameter, public :: XC_LDA_C_GK72 = 578 ! Gordon and Kim 1972
integer(c_int), parameter, public :: XC_LDA_C_KARASIEV = 579 ! Karasiev reparameterization of Chachiyo
integer(c_int), parameter, public :: XC_LDA_K_LP96 = 580 ! Liu-Parr kinetic
integer(c_int), parameter, public :: XC_LDA_XC_BN05 = 588 ! Baer and Neuhauser, gamma=1
integer(c_int), parameter, public :: XC_LDA_C_PMGB06 = 590 ! Long-range LDA correlation functional
integer(c_int), parameter, public :: XC_LDA_XC_TIH = 599 ! Neural network LDA from Tozer et al
integer(c_int), parameter, public :: XC_LDA_X_1D_EXPONENTIAL = 600 ! Exchange in 1D for an exponentially screened interaction
integer(c_int), parameter, public :: XC_LDA_C_UPW92 = 683 ! Ruggeri, Rios, and Alavi unrestricted fit
integer(c_int), parameter, public :: XC_LDA_C_RPW92 = 684 ! Ruggeri, Rios, and Alavi restricted fit
integer(c_int), parameter, public :: XC_LDA_X_SLOC = 692 ! simple local model for Slater potential
integer(c_int), parameter, public :: XC_HYB_GGA_X_N12_SX = 81 ! N12-SX functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B97_1P = 266 ! version of B97 by Cohen and Handy
integer(c_int), parameter, public :: XC_HYB_GGA_XC_PBE_MOL0 = 273 ! PBEmol0
integer(c_int), parameter, public :: XC_HYB_GGA_XC_PBE_SOL0 = 274 ! PBEsol0
integer(c_int), parameter, public :: XC_HYB_GGA_XC_PBEB0 = 275 ! PBEbeta0
integer(c_int), parameter, public :: XC_HYB_GGA_XC_PBE_MOLB0 = 276 ! PBEmolbeta0
integer(c_int), parameter, public :: XC_HYB_GGA_XC_PBE50 = 290 ! PBE0 with 50% exx
integer(c_int), parameter, public :: XC_HYB_GGA_XC_HFLYP = 314 ! Hartree-Fock + LYP correlation
integer(c_int), parameter, public :: XC_HYB_GGA_XC_CAM_O3LYP = 395 ! range separated hybrid based on the optx functional
integer(c_int), parameter, public :: XC_HYB_GGA_XC_WB97X_D3 = 399 ! Lin et al
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LC_BLYP = 400 ! Long-range corrected BLYP
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B3PW91 = 401 ! The original (ACM) hybrid of Becke
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B3LYP = 402 ! The (in)famous B3LYP
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B3P86 = 403 ! Perdew 86 hybrid similar to B3PW91
integer(c_int), parameter, public :: XC_HYB_GGA_XC_O3LYP = 404 ! hybrid using the optx functional
integer(c_int), parameter, public :: XC_HYB_GGA_XC_MPW1K = 405 ! mixture of mPW91 and PW91 optimized for kinetics
integer(c_int), parameter, public :: XC_HYB_GGA_XC_PBEH = 406 ! aka PBE0 or PBE1PBE
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B97 = 407 ! Becke 97
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B97_1 = 408 ! Becke 97-1
integer(c_int), parameter, public :: XC_HYB_GGA_XC_APF = 409 ! APF hybrid density functional
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B97_2 = 410 ! Becke 97-2
integer(c_int), parameter, public :: XC_HYB_GGA_XC_X3LYP = 411 ! hybrid by Xu and Goddard
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B1WC = 412 ! Becke 1-parameter mixture of WC and PBE
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B97_K = 413 ! Boese-Martin for Kinetics
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B97_3 = 414 ! Becke 97-3
integer(c_int), parameter, public :: XC_HYB_GGA_XC_MPW3PW = 415 ! mixture with the mPW functional
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B1LYP = 416 ! Becke 1-parameter mixture of B88 and LYP
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B1PW91 = 417 ! Becke 1-parameter mixture of B88 and PW91
integer(c_int), parameter, public :: XC_HYB_GGA_XC_MPW1PW = 418 ! Becke 1-parameter mixture of mPW91 and PW91
integer(c_int), parameter, public :: XC_HYB_GGA_XC_MPW3LYP = 419 ! mixture of mPW and LYP
integer(c_int), parameter, public :: XC_HYB_GGA_XC_SB98_1A = 420 ! Schmider-Becke 98 parameterization 1a
integer(c_int), parameter, public :: XC_HYB_GGA_XC_SB98_1B = 421 ! Schmider-Becke 98 parameterization 1b
integer(c_int), parameter, public :: XC_HYB_GGA_XC_SB98_1C = 422 ! Schmider-Becke 98 parameterization 1c
integer(c_int), parameter, public :: XC_HYB_GGA_XC_SB98_2A = 423 ! Schmider-Becke 98 parameterization 2a
integer(c_int), parameter, public :: XC_HYB_GGA_XC_SB98_2B = 424 ! Schmider-Becke 98 parameterization 2b
integer(c_int), parameter, public :: XC_HYB_GGA_XC_SB98_2C = 425 ! Schmider-Becke 98 parameterization 2c
integer(c_int), parameter, public :: XC_HYB_GGA_X_SOGGA11_X = 426 ! Hybrid based on SOGGA11 form
integer(c_int), parameter, public :: XC_HYB_GGA_XC_HSE03 = 427 ! the 2003 version of the screened hybrid HSE
integer(c_int), parameter, public :: XC_HYB_GGA_XC_HSE06 = 428 ! the 2006 version of the screened hybrid HSE
integer(c_int), parameter, public :: XC_HYB_GGA_XC_HJS_PBE = 429 ! HJS hybrid screened exchange PBE version
integer(c_int), parameter, public :: XC_HYB_GGA_XC_HJS_PBE_SOL = 430 ! HJS hybrid screened exchange PBE_SOL version
integer(c_int), parameter, public :: XC_HYB_GGA_XC_HJS_B88 = 431 ! HJS hybrid screened exchange B88 version
integer(c_int), parameter, public :: XC_HYB_GGA_XC_HJS_B97X = 432 ! HJS hybrid screened exchange B97x version
integer(c_int), parameter, public :: XC_HYB_GGA_XC_CAM_B3LYP = 433 ! CAM version of B3LYP
integer(c_int), parameter, public :: XC_HYB_GGA_XC_TUNED_CAM_B3LYP = 434 ! CAM version of B3LYP tuned for excitations
integer(c_int), parameter, public :: XC_HYB_GGA_XC_BHANDH = 435 ! Becke half-and-half or BHLYP
integer(c_int), parameter, public :: XC_HYB_GGA_XC_BHANDHLYP = 436 ! Becke half-and-half with B88 exchange
integer(c_int), parameter, public :: XC_HYB_GGA_XC_MB3LYP_RC04 = 437 ! B3LYP with RC04 LDA
integer(c_int), parameter, public :: XC_HYB_GGA_XC_MPWLYP1M = 453 ! MPW with 1 par. for metals/LYP
integer(c_int), parameter, public :: XC_HYB_GGA_XC_REVB3LYP = 454 ! Revised B3LYP
integer(c_int), parameter, public :: XC_HYB_GGA_XC_CAMY_BLYP = 455 ! BLYP with yukawa screening
integer(c_int), parameter, public :: XC_HYB_GGA_XC_PBE0_13 = 456 ! PBE0-1/3
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B3LYPS = 459 ! B3LYP* functional
integer(c_int), parameter, public :: XC_HYB_GGA_XC_QTP17 = 460 ! global hybrid for vertical ionization potentials
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B3LYP_MCM1 = 461 ! B3LYP reoptimized in 6-31+G(2df,p) for enthalpies of formation
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B3LYP_MCM2 = 462 ! B3LYP reoptimized in 6-31+G(2df,p) for enthalpies of formation
integer(c_int), parameter, public :: XC_HYB_GGA_XC_WB97 = 463 ! Chai and Head-Gordon
integer(c_int), parameter, public :: XC_HYB_GGA_XC_WB97X = 464 ! Chai and Head-Gordon
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LRC_WPBEH = 465 ! Long-range corrected functional by Rorhdanz et al
integer(c_int), parameter, public :: XC_HYB_GGA_XC_WB97X_V = 466 ! Mardirossian and Head-Gordon
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LCY_PBE = 467 ! PBE with yukawa screening
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LCY_BLYP = 468 ! BLYP with yukawa screening
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LC_VV10 = 469 ! Vydrov and Van Voorhis
integer(c_int), parameter, public :: XC_HYB_GGA_XC_CAMY_B3LYP = 470 ! B3LYP with Yukawa screening
integer(c_int), parameter, public :: XC_HYB_GGA_XC_WB97X_D = 471 ! Chai and Head-Gordon
integer(c_int), parameter, public :: XC_HYB_GGA_XC_HPBEINT = 472 ! hPBEint
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LRC_WPBE = 473 ! Long-range corrected functional by Rorhdanz et al
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B3LYP5 = 475 ! B3LYP with VWN functional 5 instead of RPA
integer(c_int), parameter, public :: XC_HYB_GGA_XC_EDF2 = 476 ! Empirical functional from Lin, George and Gill
integer(c_int), parameter, public :: XC_HYB_GGA_XC_CAP0 = 477 ! Correct Asymptotic Potential hybrid
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LC_WPBE = 478 ! Long-range corrected functional by Vydrov and Scuseria
integer(c_int), parameter, public :: XC_HYB_GGA_XC_HSE12 = 479 ! HSE12 by Moussa, Schultz and Chelikowsky
integer(c_int), parameter, public :: XC_HYB_GGA_XC_HSE12S = 480 ! Short-range HSE12 by Moussa, Schultz, and Chelikowsky
integer(c_int), parameter, public :: XC_HYB_GGA_XC_HSE_SOL = 481 ! HSEsol functional by Schimka, Harl, and Kresse
integer(c_int), parameter, public :: XC_HYB_GGA_XC_CAM_QTP_01 = 482 ! CAM-QTP-01
integer(c_int), parameter, public :: XC_HYB_GGA_XC_MPW1LYP = 483 ! Becke 1-parameter mixture of mPW91 and LYP
integer(c_int), parameter, public :: XC_HYB_GGA_XC_MPW1PBE = 484 ! Becke 1-parameter mixture of mPW91 and PBE
integer(c_int), parameter, public :: XC_HYB_GGA_XC_KMLYP = 485 ! Kang-Musgrave hybrid
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LC_WPBE_WHS = 486 ! Long-range corrected functional by Weintraub, Henderson and Scuseria
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LC_WPBEH_WHS = 487 ! Long-range corrected functional by Weintraub, Henderson and Scuseria
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LC_WPBE08_WHS = 488 ! Long-range corrected functional by Weintraub, Henderson and Scuseria
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LC_WPBESOL_WHS = 489 ! Long-range corrected functional by Weintraub, Henderson and Scuseria
integer(c_int), parameter, public :: XC_HYB_GGA_XC_CAM_QTP_00 = 490 ! CAM-QTP-00
integer(c_int), parameter, public :: XC_HYB_GGA_XC_CAM_QTP_02 = 491 ! CAM-QTP-02
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LC_QTP = 492 ! LC-QTP
integer(c_int), parameter, public :: XC_HYB_GGA_X_S12H = 496 ! Swart 2012 GGA hybrid exchange
integer(c_int), parameter, public :: XC_HYB_GGA_XC_BLYP35 = 499 ! Becke 1-parameter mixture for mixed-valence systems
integer(c_int), parameter, public :: XC_HYB_GGA_XC_B5050LYP = 572 ! Like B3LYP but more exact exchange
integer(c_int), parameter, public :: XC_HYB_GGA_XC_APBE0 = 607 ! Hybrid based on APBE
integer(c_int), parameter, public :: XC_HYB_GGA_XC_HAPBE = 608 ! Hybrid based in APBE and zvPBEloc
integer(c_int), parameter, public :: XC_HYB_GGA_XC_RCAM_B3LYP = 610 ! Similar to CAM-B3LYP, but trying to reduce the many-electron self-interaction
integer(c_int), parameter, public :: XC_HYB_GGA_XC_WC04 = 611 ! hybrid fitted to carbon NMR shifts
integer(c_int), parameter, public :: XC_HYB_GGA_XC_WP04 = 612 ! hybrid fitted to proton NMR shifts
integer(c_int), parameter, public :: XC_HYB_GGA_XC_CAMH_B3LYP = 614 ! CAM version of B3LYP tuned for tddft
integer(c_int), parameter, public :: XC_HYB_GGA_XC_WHPBE0 = 615 ! Long-range corrected functional by Shao et al
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LC_BLYP_EA = 625 ! Long-range corrected BLYP, tuned for electron affinities
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LC_BOP = 636 ! Long-range corrected B88 with B88OP correlation
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LC_PBEOP = 637 ! Long-range corrected PBE with PBEOP correlation
integer(c_int), parameter, public :: XC_HYB_GGA_XC_LC_BLYPR = 639 ! Long-range corrected BLYP with correlation only in short-range
integer(c_int), parameter, public :: XC_HYB_GGA_XC_CAM_PBEH = 681 ! CAM version of PBEH
integer(c_int), parameter, public :: XC_HYB_GGA_XC_CAMY_PBEH = 682 ! PBEH with Yukawa screening
integer(c_int), parameter, public :: XC_GGA_X_GAM = 32 ! GAM functional from Minnesota
integer(c_int), parameter, public :: XC_GGA_C_GAM = 33 ! GAM functional from Minnesota
integer(c_int), parameter, public :: XC_GGA_X_HCTH_A = 34 ! HCTH-A
integer(c_int), parameter, public :: XC_GGA_X_EV93 = 35 ! Engel and Vosko
integer(c_int), parameter, public :: XC_GGA_X_BCGP = 38 ! Burke, Cancio, Gould, and Pittalis
integer(c_int), parameter, public :: XC_GGA_C_ACGGA = 39 ! acGGA, asymptotically corrected GGA
integer(c_int), parameter, public :: XC_GGA_X_LAMBDA_OC2_N = 40 ! lambda_OC2(N) version of PBE
integer(c_int), parameter, public :: XC_GGA_X_B86_R = 41 ! Revised Becke 86 Xalpha,beta,gamma (with mod. grad. correction)
integer(c_int), parameter, public :: XC_GGA_X_LAMBDA_CH_N = 44 ! lambda_CH(N) version of PBE
integer(c_int), parameter, public :: XC_GGA_X_LAMBDA_LO_N = 45 ! lambda_LO(N) version of PBE
integer(c_int), parameter, public :: XC_GGA_X_HJS_B88_V2 = 46 ! HJS screened exchange corrected B88 version
integer(c_int), parameter, public :: XC_GGA_C_Q2D = 47 ! Chiodo et al
integer(c_int), parameter, public :: XC_GGA_X_Q2D = 48 ! Chiodo et al
integer(c_int), parameter, public :: XC_GGA_X_PBE_MOL = 49 ! Del Campo, Gazquez, Trickey and Vela (PBE-like)
integer(c_int), parameter, public :: XC_GGA_K_TFVW = 52 ! Thomas-Fermi plus von Weiszaecker correction
integer(c_int), parameter, public :: XC_GGA_K_REVAPBEINT = 53 ! interpolated version of REVAPBE
integer(c_int), parameter, public :: XC_GGA_K_APBEINT = 54 ! interpolated version of APBE
integer(c_int), parameter, public :: XC_GGA_K_REVAPBE = 55 ! revised APBE
integer(c_int), parameter, public :: XC_GGA_X_AK13 = 56 ! Armiento & Kuemmel 2013
integer(c_int), parameter, public :: XC_GGA_K_MEYER = 57 ! Meyer, Wang, and Young
integer(c_int), parameter, public :: XC_GGA_X_LV_RPW86 = 58 ! Berland and Hyldgaard
integer(c_int), parameter, public :: XC_GGA_X_PBE_TCA = 59 ! PBE revised by Tognetti et al
integer(c_int), parameter, public :: XC_GGA_X_PBEINT = 60 ! PBE for hybrid interfaces
integer(c_int), parameter, public :: XC_GGA_C_ZPBEINT = 61 ! spin-dependent gradient correction to PBEint
integer(c_int), parameter, public :: XC_GGA_C_PBEINT = 62 ! PBE for hybrid interfaces
integer(c_int), parameter, public :: XC_GGA_C_ZPBESOL = 63 ! spin-dependent gradient correction to PBEsol
integer(c_int), parameter, public :: XC_GGA_XC_OPBE_D = 65 ! oPBE_D functional of Goerigk and Grimme
integer(c_int), parameter, public :: XC_GGA_XC_OPWLYP_D = 66 ! oPWLYP-D functional of Goerigk and Grimme
integer(c_int), parameter, public :: XC_GGA_XC_OBLYP_D = 67 ! oBLYP-D functional of Goerigk and Grimme
integer(c_int), parameter, public :: XC_GGA_X_VMT84_GE = 68 ! VMT{8,4} with constraint satisfaction with mu = mu_GE
integer(c_int), parameter, public :: XC_GGA_X_VMT84_PBE = 69 ! VMT{8,4} with constraint satisfaction with mu = mu_PBE
integer(c_int), parameter, public :: XC_GGA_X_VMT_GE = 70 ! Vela, Medel, and Trickey with mu = mu_GE
integer(c_int), parameter, public :: XC_GGA_X_VMT_PBE = 71 ! Vela, Medel, and Trickey with mu = mu_PBE
integer(c_int), parameter, public :: XC_GGA_C_N12_SX = 79 ! N12-SX functional from Minnesota
integer(c_int), parameter, public :: XC_GGA_C_N12 = 80 ! N12 functional from Minnesota
integer(c_int), parameter, public :: XC_GGA_X_N12 = 82 ! N12 functional from Minnesota
integer(c_int), parameter, public :: XC_GGA_C_REGTPSS = 83 ! Regularized TPSS correlation (ex-VPBE)
integer(c_int), parameter, public :: XC_GGA_C_OP_XALPHA = 84 ! one-parameter progressive functional (XALPHA version)
integer(c_int), parameter, public :: XC_GGA_C_OP_G96 = 85 ! one-parameter progressive functional (G96 version)
integer(c_int), parameter, public :: XC_GGA_C_OP_PBE = 86 ! one-parameter progressive functional (PBE version)
integer(c_int), parameter, public :: XC_GGA_C_OP_B88 = 87 ! one-parameter progressive functional (B88 version)
integer(c_int), parameter, public :: XC_GGA_C_FT97 = 88 ! Filatov & Thiel correlation
integer(c_int), parameter, public :: XC_GGA_C_SPBE = 89 ! PBE correlation to be used with the SSB exchange
integer(c_int), parameter, public :: XC_GGA_X_SSB_SW = 90 ! Swart, Sola and Bickelhaupt correction to PBE
integer(c_int), parameter, public :: XC_GGA_X_SSB = 91 ! Swart, Sola and Bickelhaupt
integer(c_int), parameter, public :: XC_GGA_X_SSB_D = 92 ! Swart, Sola and Bickelhaupt dispersion
integer(c_int), parameter, public :: XC_GGA_XC_HCTH_407P = 93 ! HCTH/407+
integer(c_int), parameter, public :: XC_GGA_XC_HCTH_P76 = 94 ! HCTH p=7/6
integer(c_int), parameter, public :: XC_GGA_XC_HCTH_P14 = 95 ! HCTH p=1/4
integer(c_int), parameter, public :: XC_GGA_XC_B97_GGA1 = 96 ! Becke 97 GGA-1
integer(c_int), parameter, public :: XC_GGA_C_HCTH_A = 97 ! HCTH-A
integer(c_int), parameter, public :: XC_GGA_X_BPCCAC = 98 ! BPCCAC (GRAC for the energy)
integer(c_int), parameter, public :: XC_GGA_C_REVTCA = 99 ! Tognetti, Cortona, Adamo (revised)
integer(c_int), parameter, public :: XC_GGA_C_TCA = 100 ! Tognetti, Cortona, Adamo
integer(c_int), parameter, public :: XC_GGA_X_PBE = 101 ! Perdew, Burke & Ernzerhof exchange
integer(c_int), parameter, public :: XC_GGA_X_PBE_R = 102 ! Perdew, Burke & Ernzerhof exchange (revised)
integer(c_int), parameter, public :: XC_GGA_X_B86 = 103 ! Becke 86 Xalpha,beta,gamma
integer(c_int), parameter, public :: XC_GGA_X_HERMAN = 104 ! Herman et al original GGA
integer(c_int), parameter, public :: XC_GGA_X_B86_MGC = 105 ! Becke 86 Xalpha,beta,gamma (with mod. grad. correction)
integer(c_int), parameter, public :: XC_GGA_X_B88 = 106 ! Becke 88
integer(c_int), parameter, public :: XC_GGA_X_G96 = 107 ! Gill 96
integer(c_int), parameter, public :: XC_GGA_X_PW86 = 108 ! Perdew & Wang 86
integer(c_int), parameter, public :: XC_GGA_X_PW91 = 109 ! Perdew & Wang 91
integer(c_int), parameter, public :: XC_GGA_X_OPTX = 110 ! Handy & Cohen OPTX 01
integer(c_int), parameter, public :: XC_GGA_X_DK87_R1 = 111 ! dePristo & Kress 87 (version R1)
integer(c_int), parameter, public :: XC_GGA_X_DK87_R2 = 112 ! dePristo & Kress 87 (version R2)
integer(c_int), parameter, public :: XC_GGA_X_LG93 = 113 ! Lacks & Gordon 93
integer(c_int), parameter, public :: XC_GGA_X_FT97_A = 114 ! Filatov & Thiel 97 (version A)
integer(c_int), parameter, public :: XC_GGA_X_FT97_B = 115 ! Filatov & Thiel 97 (version B)
integer(c_int), parameter, public :: XC_GGA_X_PBE_SOL = 116 ! Perdew, Burke & Ernzerhof exchange (solids)
integer(c_int), parameter, public :: XC_GGA_X_RPBE = 117 ! Hammer, Hansen & Norskov (PBE-like)
integer(c_int), parameter, public :: XC_GGA_X_WC = 118 ! Wu & Cohen
integer(c_int), parameter, public :: XC_GGA_X_MPW91 = 119 ! Modified form of PW91 by Adamo & Barone
integer(c_int), parameter, public :: XC_GGA_X_AM05 = 120 ! Armiento & Mattsson 05 exchange
integer(c_int), parameter, public :: XC_GGA_X_PBEA = 121 ! Madsen (PBE-like)
integer(c_int), parameter, public :: XC_GGA_X_MPBE = 122 ! Adamo & Barone modification to PBE
integer(c_int), parameter, public :: XC_GGA_X_XPBE = 123 ! xPBE reparametrization by Xu & Goddard
integer(c_int), parameter, public :: XC_GGA_X_2D_B86_MGC = 124 ! Becke 86 MGC for 2D systems
integer(c_int), parameter, public :: XC_GGA_X_BAYESIAN = 125 ! Bayesian best fit for the enhancement factor
integer(c_int), parameter, public :: XC_GGA_X_PBE_JSJR = 126 ! JSJR reparametrization by Pedroza, Silva & Capelle
integer(c_int), parameter, public :: XC_GGA_X_2D_B88 = 127 ! Becke 88 in 2D
integer(c_int), parameter, public :: XC_GGA_X_2D_B86 = 128 ! Becke 86 Xalpha, beta, gamma
integer(c_int), parameter, public :: XC_GGA_X_2D_PBE = 129 ! Perdew, Burke & Ernzerhof exchange in 2D
integer(c_int), parameter, public :: XC_GGA_C_PBE = 130 ! Perdew, Burke & Ernzerhof correlation
integer(c_int), parameter, public :: XC_GGA_C_LYP = 131 ! Lee, Yang & Parr
integer(c_int), parameter, public :: XC_GGA_C_P86 = 132 ! Perdew 86
integer(c_int), parameter, public :: XC_GGA_C_PBE_SOL = 133 ! Perdew, Burke & Ernzerhof correlation SOL
integer(c_int), parameter, public :: XC_GGA_C_PW91 = 134 ! Perdew & Wang 91
integer(c_int), parameter, public :: XC_GGA_C_AM05 = 135 ! Armiento & Mattsson 05 correlation
integer(c_int), parameter, public :: XC_GGA_C_XPBE = 136 ! xPBE reparametrization by Xu & Goddard
integer(c_int), parameter, public :: XC_GGA_C_LM = 137 ! Langreth and Mehl correlation
integer(c_int), parameter, public :: XC_GGA_C_PBE_JRGX = 138 ! JRGX reparametrization by Pedroza, Silva & Capelle
integer(c_int), parameter, public :: XC_GGA_X_OPTB88_VDW = 139 ! Becke 88 reoptimized to be used with vdW functional of Dion et al
integer(c_int), parameter, public :: XC_GGA_X_PBEK1_VDW = 140 ! PBE reparametrization for vdW
integer(c_int), parameter, public :: XC_GGA_X_OPTPBE_VDW = 141 ! PBE reparametrization for vdW
integer(c_int), parameter, public :: XC_GGA_X_RGE2 = 142 ! Regularized PBE
integer(c_int), parameter, public :: XC_GGA_C_RGE2 = 143 ! Regularized PBE
integer(c_int), parameter, public :: XC_GGA_X_RPW86 = 144 ! refitted Perdew & Wang 86
integer(c_int), parameter, public :: XC_GGA_X_KT1 = 145 ! Exchange part of Keal and Tozer version 1
integer(c_int), parameter, public :: XC_GGA_XC_KT2 = 146 ! Keal and Tozer version 2
integer(c_int), parameter, public :: XC_GGA_C_WL = 147 ! Wilson & Levy
integer(c_int), parameter, public :: XC_GGA_C_WI = 148 ! Wilson & Ivanov
integer(c_int), parameter, public :: XC_GGA_X_MB88 = 149 ! Modified Becke 88 for proton transfer
integer(c_int), parameter, public :: XC_GGA_X_SOGGA = 150 ! Second-order generalized gradient approximation
integer(c_int), parameter, public :: XC_GGA_X_SOGGA11 = 151 ! Second-order generalized gradient approximation 2011
integer(c_int), parameter, public :: XC_GGA_C_SOGGA11 = 152 ! SOGGA11 correlation
integer(c_int), parameter, public :: XC_GGA_C_WI0 = 153 ! Wilson & Ivanov initial version
integer(c_int), parameter, public :: XC_GGA_XC_TH1 = 154 ! Tozer and Handy v. 1
integer(c_int), parameter, public :: XC_GGA_XC_TH2 = 155 ! Tozer and Handy v. 2
integer(c_int), parameter, public :: XC_GGA_XC_TH3 = 156 ! Tozer and Handy v. 3
integer(c_int), parameter, public :: XC_GGA_XC_TH4 = 157 ! Tozer and Handy v. 4
integer(c_int), parameter, public :: XC_GGA_X_C09X = 158 ! C09x to be used with the VdW of Rutgers-Chalmers
integer(c_int), parameter, public :: XC_GGA_C_SOGGA11_X = 159 ! SOGGA11-X correlation
integer(c_int), parameter, public :: XC_GGA_X_LB = 160 ! van Leeuwen & Baerends
integer(c_int), parameter, public :: XC_GGA_XC_HCTH_93 = 161 ! HCTH functional fitted to 93 molecules
integer(c_int), parameter, public :: XC_GGA_XC_HCTH_120 = 162 ! HCTH functional fitted to 120 molecules
integer(c_int), parameter, public :: XC_GGA_XC_HCTH_147 = 163 ! HCTH functional fitted to 147 molecules
integer(c_int), parameter, public :: XC_GGA_XC_HCTH_407 = 164 ! HCTH functional fitted to 407 molecules
integer(c_int), parameter, public :: XC_GGA_XC_EDF1 = 165 ! Empirical functionals from Adamson, Gill, and Pople
integer(c_int), parameter, public :: XC_GGA_XC_XLYP = 166 ! XLYP functional
integer(c_int), parameter, public :: XC_GGA_XC_KT1 = 167 ! Keal and Tozer version 1
integer(c_int), parameter, public :: XC_GGA_X_LSPBE = 168 ! PW91-like exchange with simple analytical form
integer(c_int), parameter, public :: XC_GGA_X_LSRPBE = 169 ! PW91-like modification of RPBE
integer(c_int), parameter, public :: XC_GGA_XC_B97_D = 170 ! Grimme functional to be used with C6 vdW term
integer(c_int), parameter, public :: XC_GGA_X_OPTB86B_VDW = 171 ! Becke 86 reoptimized for use with vdW functional of Dion et al
integer(c_int), parameter, public :: XC_GGA_XC_PBE1W = 173 ! Functionals fitted for water
integer(c_int), parameter, public :: XC_GGA_XC_MPWLYP1W = 174 ! Functionals fitted for water
integer(c_int), parameter, public :: XC_GGA_XC_PBELYP1W = 175 ! Functionals fitted for water
integer(c_int), parameter, public :: XC_GGA_C_ACGGAP = 176 ! Asymptotically corrected GGA +
integer(c_int), parameter, public :: XC_GGA_X_B88_6311G = 179 ! Becke 88 reoptimized with 6-311G** basis set
integer(c_int), parameter, public :: XC_GGA_X_NCAP = 180 ! Nearly correct asymptotic potential
integer(c_int), parameter, public :: XC_GGA_XC_NCAP = 181 ! Nearly correct asymptotic potential + P86 correlation
integer(c_int), parameter, public :: XC_GGA_X_LBM = 182 ! van Leeuwen & Baerends modified
integer(c_int), parameter, public :: XC_GGA_X_OL2 = 183 ! Exchange form based on Ou-Yang and Levy v.2
integer(c_int), parameter, public :: XC_GGA_X_APBE = 184 ! mu fixed from the semiclassical neutral atom
integer(c_int), parameter, public :: XC_GGA_K_APBE = 185 ! mu fixed from the semiclassical neutral atom
integer(c_int), parameter, public :: XC_GGA_C_APBE = 186 ! mu fixed from the semiclassical neutral atom
integer(c_int), parameter, public :: XC_GGA_K_TW1 = 187 ! Tran and Wesolowski set 1 (Table II)
integer(c_int), parameter, public :: XC_GGA_K_TW2 = 188 ! Tran and Wesolowski set 2 (Table II)
integer(c_int), parameter, public :: XC_GGA_K_TW3 = 189 ! Tran and Wesolowski set 3 (Table II)
integer(c_int), parameter, public :: XC_GGA_K_TW4 = 190 ! Tran and Wesolowski set 4 (Table II)
integer(c_int), parameter, public :: XC_GGA_X_HTBS = 191 ! Haas, Tran, Blaha, and Schwarz
integer(c_int), parameter, public :: XC_GGA_X_AIRY = 192 ! Constantin et al based on the Airy gas
integer(c_int), parameter, public :: XC_GGA_X_LAG = 193 ! Local Airy Gas
integer(c_int), parameter, public :: XC_GGA_XC_MOHLYP = 194 ! Functional for organometallic chemistry
integer(c_int), parameter, public :: XC_GGA_XC_MOHLYP2 = 195 ! Functional for barrier heights
integer(c_int), parameter, public :: XC_GGA_XC_TH_FL = 196 ! Tozer and Handy v. FL
integer(c_int), parameter, public :: XC_GGA_XC_TH_FC = 197 ! Tozer and Handy v. FC
integer(c_int), parameter, public :: XC_GGA_XC_TH_FCFO = 198 ! Tozer and Handy v. FCFO
integer(c_int), parameter, public :: XC_GGA_XC_TH_FCO = 199 ! Tozer and Handy v. FCO
integer(c_int), parameter, public :: XC_GGA_C_OPTC = 200 ! Optimized correlation functional of Cohen and Handy
integer(c_int), parameter, public :: XC_GGA_X_ECMV92 = 215 ! Engel, Chevary, Macdonald, and Vosko
integer(c_int), parameter, public :: XC_GGA_C_PBE_VWN = 216 ! Perdew, Burke & Ernzerhof correlation based on VWN LDA
integer(c_int), parameter, public :: XC_GGA_C_P86_FT = 217 ! Perdew 86 with a more accurate value for ftilde
integer(c_int), parameter, public :: XC_GGA_K_RATIONAL_P = 218 ! Lehtomaki and Lopez-Acevedo
integer(c_int), parameter, public :: XC_GGA_K_PG1 = 219 ! PG1 functional by Constantin, Fabiano, and Della Sala
integer(c_int), parameter, public :: XC_GGA_C_PBELOC = 246 ! Semilocal dynamical correlation
integer(c_int), parameter, public :: XC_GGA_C_P86VWN = 252 ! Perdew 86 based on the VWN5 LDA
integer(c_int), parameter, public :: XC_GGA_C_P86VWN_FT = 253 ! Perdew 86 based on the VWN5 LDA with a more accurate value for ftilde
integer(c_int), parameter, public :: XC_GGA_XC_VV10 = 255 ! Vydrov and Van Voorhis
integer(c_int), parameter, public :: XC_GGA_C_PBEFE = 258 ! PBE for formation energies
integer(c_int), parameter, public :: XC_GGA_C_OP_PW91 = 262 ! one-parameter progressive functional (PW91 version)
integer(c_int), parameter, public :: XC_GGA_X_PBEFE = 265 ! PBE for formation energies
integer(c_int), parameter, public :: XC_GGA_X_CAP = 270 ! Correct Asymptotic Potential
integer(c_int), parameter, public :: XC_GGA_X_EB88 = 271 ! Non-empirical (excogitated) B88 functional of Becke and Elliott
integer(c_int), parameter, public :: XC_GGA_C_PBE_MOL = 272 ! Del Campo, Gazquez, Trickey and Vela (PBE-like)
integer(c_int), parameter, public :: XC_GGA_K_ABSP3 = 277 ! gamma-TFvW form by Acharya et al [g = 1 - 1.513/N^0.35]
integer(c_int), parameter, public :: XC_GGA_K_ABSP4 = 278 ! gamma-TFvW form by Acharya et al [g = l = 1/(1 + 1.332/N^(1/3))]
integer(c_int), parameter, public :: XC_GGA_C_BMK = 280 ! Boese-Martin for kinetics
integer(c_int), parameter, public :: XC_GGA_C_TAU_HCTH = 281 ! correlation part of tau-hcth
integer(c_int), parameter, public :: XC_GGA_C_HYB_TAU_HCTH = 283 ! correlation part of hyb_tau-hcth
integer(c_int), parameter, public :: XC_GGA_X_BEEFVDW = 285 ! BEEF-vdW exchange
integer(c_int), parameter, public :: XC_GGA_XC_BEEFVDW = 286 ! BEEF-vdW exchange-correlation
integer(c_int), parameter, public :: XC_GGA_X_PBETRANS = 291 ! Gradient-based interpolation between PBE and revPBE
integer(c_int), parameter, public :: XC_GGA_X_CHACHIYO = 298 ! Chachiyo exchange
integer(c_int), parameter, public :: XC_GGA_C_CHACHIYO = 309 ! Chachiyo simple GGA correlation
integer(c_int), parameter, public :: XC_GGA_X_REVSSB_D = 312 ! Revised Swart, Sola and Bickelhaupt dispersion
integer(c_int), parameter, public :: XC_GGA_C_CCDF = 313 ! ccDF, coupled-cluster based density functional
integer(c_int), parameter, public :: XC_GGA_X_PW91_MOD = 316 ! Perdew & Wang 91, alternate version with more digits
integer(c_int), parameter, public :: XC_GGA_X_S12G = 495 ! Swart 2012 GGA exchange
integer(c_int), parameter, public :: XC_GGA_K_VW = 500 ! von Weiszaecker functional
integer(c_int), parameter, public :: XC_GGA_K_GE2 = 501 ! Second-order gradient expansion (l = 1/9)
integer(c_int), parameter, public :: XC_GGA_K_GOLDEN = 502 ! TF-lambda-vW form by Golden (l = 13/45)
integer(c_int), parameter, public :: XC_GGA_K_YT65 = 503 ! TF-lambda-vW form by Yonei and Tomishima (l = 1/5)
integer(c_int), parameter, public :: XC_GGA_K_BALTIN = 504 ! TF-lambda-vW form by Baltin (l = 5/9)
integer(c_int), parameter, public :: XC_GGA_K_LIEB = 505 ! TF-lambda-vW form by Lieb (l = 0.185909191)
integer(c_int), parameter, public :: XC_GGA_K_ABSP1 = 506 ! gamma-TFvW form by Acharya et al [g = 1 - 1.412/N^(1/3)]
integer(c_int), parameter, public :: XC_GGA_K_ABSP2 = 507 ! gamma-TFvW form by Acharya et al [g = 1 - 1.332/N^(1/3)]
integer(c_int), parameter, public :: XC_GGA_K_GR = 508 ! gamma-TFvW form by Gazquez and Robles
integer(c_int), parameter, public :: XC_GGA_K_LUDENA = 509 ! gamma-TFvW form by Ludena
integer(c_int), parameter, public :: XC_GGA_K_GP85 = 510 ! gamma-TFvW form by Ghosh and Parr
integer(c_int), parameter, public :: XC_GGA_K_PEARSON = 511 ! Pearson
integer(c_int), parameter, public :: XC_GGA_K_OL1 = 512 ! Ou-Yang and Levy v.1
integer(c_int), parameter, public :: XC_GGA_K_OL2 = 513 ! Ou-Yang and Levy v.2
integer(c_int), parameter, public :: XC_GGA_K_FR_B88 = 514 ! Fuentealba & Reyes (B88 version)
integer(c_int), parameter, public :: XC_GGA_K_FR_PW86 = 515 ! Fuentealba & Reyes (PW86 version)
integer(c_int), parameter, public :: XC_GGA_K_DK = 516 ! DePristo and Kress
integer(c_int), parameter, public :: XC_GGA_K_PERDEW = 517 ! Perdew
integer(c_int), parameter, public :: XC_GGA_K_VSK = 518 ! Vitos, Skriver, and Kollar
integer(c_int), parameter, public :: XC_GGA_K_VJKS = 519 ! Vitos, Johansson, Kollar, and Skriver
integer(c_int), parameter, public :: XC_GGA_K_ERNZERHOF = 520 ! Ernzerhof
integer(c_int), parameter, public :: XC_GGA_K_LC94 = 521 ! Lembarki & Chermette
integer(c_int), parameter, public :: XC_GGA_K_LLP = 522 ! Lee, Lee & Parr
integer(c_int), parameter, public :: XC_GGA_K_THAKKAR = 523 ! Thakkar 1992
integer(c_int), parameter, public :: XC_GGA_X_WPBEH = 524 ! short-range version of the PBE
integer(c_int), parameter, public :: XC_GGA_X_HJS_PBE = 525 ! HJS screened exchange PBE version
integer(c_int), parameter, public :: XC_GGA_X_HJS_PBE_SOL = 526 ! HJS screened exchange PBE_SOL version
integer(c_int), parameter, public :: XC_GGA_X_HJS_B88 = 527 ! HJS screened exchange B88 version
integer(c_int), parameter, public :: XC_GGA_X_HJS_B97X = 528 ! HJS screened exchange B97x version
integer(c_int), parameter, public :: XC_GGA_X_ITYH = 529 ! short-range recipe B88 functionals - erf
integer(c_int), parameter, public :: XC_GGA_X_SFAT = 530 ! short-range recipe for PBE functional
integer(c_int), parameter, public :: XC_GGA_X_SG4 = 533 ! Semiclassical GGA at fourth order
integer(c_int), parameter, public :: XC_GGA_C_SG4 = 534 ! Semiclassical GGA at fourth order
integer(c_int), parameter, public :: XC_GGA_X_GG99 = 535 ! Gilbert and Gill 1999
integer(c_int), parameter, public :: XC_GGA_X_PBEPOW = 539 ! PBE power
integer(c_int), parameter, public :: XC_GGA_X_KGG99 = 544 ! Gilbert and Gill 1999 (mixed)
integer(c_int), parameter, public :: XC_GGA_XC_HLE16 = 545 ! high local exchange 2016
integer(c_int), parameter, public :: XC_GGA_C_SCAN_E0 = 553 ! GGA component of SCAN
integer(c_int), parameter, public :: XC_GGA_C_GAPC = 555 ! GapC
integer(c_int), parameter, public :: XC_GGA_C_GAPLOC = 556 ! Gaploc
integer(c_int), parameter, public :: XC_GGA_C_ZVPBEINT = 557 ! another spin-dependent correction to PBEint
integer(c_int), parameter, public :: XC_GGA_C_ZVPBESOL = 558 ! another spin-dependent correction to PBEsol
integer(c_int), parameter, public :: XC_GGA_C_TM_LYP = 559 ! Takkar and McCarthy reparametrization
integer(c_int), parameter, public :: XC_GGA_C_TM_PBE = 560 ! Thakkar and McCarthy reparametrization
integer(c_int), parameter, public :: XC_GGA_C_W94 = 561 ! Wilson 94 (Eq. 25)
integer(c_int), parameter, public :: XC_GGA_C_CS1 = 565 ! A dynamical correlation functional
integer(c_int), parameter, public :: XC_GGA_X_B88M = 570 ! Becke 88 reoptimized to be used with mgga_c_tau1
integer(c_int), parameter, public :: XC_GGA_XC_KT3 = 587 ! Keal and Tozer version 3
integer(c_int), parameter, public :: XC_GGA_XC_LB07 = 589 ! Livshits and Baer, empirical functional
integer(c_int), parameter, public :: XC_GGA_K_GDS08 = 591 ! Combined analytical theory with Monte Carlo sampling
integer(c_int), parameter, public :: XC_GGA_K_GHDS10 = 592 ! As GDS08 but for an electron gas with spin
integer(c_int), parameter, public :: XC_GGA_K_GHDS10R = 593 ! Reparametrized GHDS10
integer(c_int), parameter, public :: XC_GGA_K_TKVLN = 594 ! Trickey, Karasiev, and Vela
integer(c_int), parameter, public :: XC_GGA_K_PBE3 = 595 ! Three parameter PBE-like expansion
integer(c_int), parameter, public :: XC_GGA_K_PBE4 = 596 ! Four parameter PBE-like expansion
integer(c_int), parameter, public :: XC_GGA_K_EXP4 = 597 ! Intermediate form between PBE3 and PBE4
integer(c_int), parameter, public :: XC_GGA_X_SFAT_PBE = 601 ! short-range recipe for PBE functional
integer(c_int), parameter, public :: XC_GGA_X_FD_LB94 = 604 ! Functional derivative recovered from the stray LB94 potential
integer(c_int), parameter, public :: XC_GGA_X_FD_REVLB94 = 605 ! Revised FD_LB94
integer(c_int), parameter, public :: XC_GGA_C_ZVPBELOC = 606 ! PBEloc variation with enhanced compatibility with exact exchange
integer(c_int), parameter, public :: XC_GGA_K_LKT = 613 ! Luo-Karasiev-Trickey kinetic GGA
integer(c_int), parameter, public :: XC_GGA_K_PBE2 = 616 ! Two parameter PBE-like expansion
integer(c_int), parameter, public :: XC_GGA_K_VT84F = 619 ! VT84F by Karasiev et al
integer(c_int), parameter, public :: XC_GGA_K_LGAP = 620 ! LGAP by Constantin et al
integer(c_int), parameter, public :: XC_GGA_X_ITYH_OPTX = 622 ! short-range OPTX functional
integer(c_int), parameter, public :: XC_GGA_X_ITYH_PBE = 623 ! short-range PBE functional
integer(c_int), parameter, public :: XC_GGA_C_LYPR = 624 ! Short-range LYP of Ai, Fang and Su
integer(c_int), parameter, public :: XC_GGA_K_LGAP_GE = 633 ! LGAP_GE by Constantin et al
integer(c_int), parameter, public :: XC_GGA_K_TFVW_OPT = 635 ! empirically optimized gamma-TFvW form
integer(c_int), parameter, public :: XC_GGA_C_MGGAC = 712 ! beta fitted to LC20 to be used with MGGAC
integer(c_int), parameter, public :: XC_HYB_MGGA_X_DLDF = 36 ! Dispersionless Density Functional
integer(c_int), parameter, public :: XC_HYB_MGGA_X_MS2H = 224 ! MS2 hybrid exchange of Sun, et al
integer(c_int), parameter, public :: XC_HYB_MGGA_X_MN12_SX = 248 ! MN12-SX hybrid exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_X_SCAN0 = 264 ! SCAN hybrid exchange
integer(c_int), parameter, public :: XC_HYB_MGGA_X_MN15 = 268 ! MN15 hybrid exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_X_BMK = 279 ! Boese-Martin for kinetics
integer(c_int), parameter, public :: XC_HYB_MGGA_X_TAU_HCTH = 282 ! Hybrid version of tau-HCTH
integer(c_int), parameter, public :: XC_HYB_MGGA_X_M08_HX = 295 ! M08-HX exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_X_M08_SO = 296 ! M08-SO exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_X_M11 = 297 ! M11 hybrid exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_X_REVM11 = 304 ! revM11 hybrid exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_X_REVM06 = 305 ! revised M06 hybrid exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_X_M06_SX = 310 ! M06-SX exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_TPSS0 = 396 ! TPSS hybrid with 25% exact exchange
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_B94_HYB = 398 ! Hybrid meta-GGA by Becke
integer(c_int), parameter, public :: XC_HYB_MGGA_X_M05 = 438 ! M05 hybrid exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_X_M05_2X = 439 ! M05-2X hybrid exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_B88B95 = 440 ! Mixture of B88 with BC95 (B1B95)
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_B86B95 = 441 ! Mixture of B86 with BC95
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_PW86B95 = 442 ! Mixture of PW86 with BC95
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_BB1K = 443 ! Mixture of B88 with BC95 from Zhao and Truhlar
integer(c_int), parameter, public :: XC_HYB_MGGA_X_M06_HF = 444 ! M06-HF hybrid exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_MPW1B95 = 445 ! Mixture of mPW91 with BC95 from Zhao and Truhlar
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_MPWB1K = 446 ! Mixture of mPW91 with BC95 for kinetics
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_X1B95 = 447 ! Mixture of X with BC95
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_XB1K = 448 ! Mixture of X with BC95 for kinetics
integer(c_int), parameter, public :: XC_HYB_MGGA_X_M06 = 449 ! M06 hybrid exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_X_M06_2X = 450 ! M06-2X hybrid exchange functional from Minnesota
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_PW6B95 = 451 ! Mixture of PW91 with BC95 from Zhao and Truhlar
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_PWB6K = 452 ! Mixture of PW91 with BC95 from Zhao and Truhlar for kinetics
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_TPSSH = 457 ! TPSS hybrid
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_REVTPSSH = 458 ! revTPSS hybrid
integer(c_int), parameter, public :: XC_HYB_MGGA_X_MVSH = 474 ! MVSh hybrid
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_WB97M_V = 531 ! Mardirossian and Head-Gordon
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_B0KCIS = 563 ! Hybrid based on KCIS
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_MPW1KCIS = 566 ! Modified Perdew-Wang + KCIS hybrid
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_MPWKCIS1K = 567 ! Modified Perdew-Wang + KCIS hybrid with more exact exchange
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_PBE1KCIS = 568 ! Perdew-Burke-Ernzerhof + KCIS hybrid
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_TPSS1KCIS = 569 ! TPSS hybrid with KCIS correlation
integer(c_int), parameter, public :: XC_HYB_MGGA_X_REVSCAN0 = 583 ! revised SCAN hybrid exchange
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_B98 = 598 ! Becke 98
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_EDMGGAH = 695 ! Tao 2001 hybrid
integer(c_int), parameter, public :: XC_HYB_MGGA_X_JS18 = 705 ! a screened version of TM
integer(c_int), parameter, public :: XC_HYB_MGGA_X_PJS18 = 706 ! a screened version of TM
integer(c_int), parameter, public :: XC_HYB_MGGA_XC_LC_TMLYP = 720 ! long-range corrected TM-LYP
integer(c_int), parameter, public :: XC_MGGA_C_DLDF = 37 ! Dispersionless Density Functional
integer(c_int), parameter, public :: XC_MGGA_XC_ZLP = 42 ! Zhao, Levy & Parr, Eq. (21)
integer(c_int), parameter, public :: XC_MGGA_XC_OTPSS_D = 64 ! oTPSS_D functional of Goerigk and Grimme
integer(c_int), parameter, public :: XC_MGGA_C_CS = 72 ! Colle and Salvetti
integer(c_int), parameter, public :: XC_MGGA_C_MN12_SX = 73 ! MN12-SX correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_MN12_L = 74 ! MN12-L correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_M11_L = 75 ! M11-L correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_M11 = 76 ! M11 correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_M08_SO = 77 ! M08-SO correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_M08_HX = 78 ! M08-HX correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_REVM11 = 172 ! Revised M11 correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_X_LTA = 201 ! Local tau approximation of Ernzerhof & Scuseria
integer(c_int), parameter, public :: XC_MGGA_X_TPSS = 202 ! Tao, Perdew, Staroverov & Scuseria exchange
integer(c_int), parameter, public :: XC_MGGA_X_M06_L = 203 ! M06-L exchange functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_X_GVT4 = 204 ! GVT4 from Van Voorhis and Scuseria
integer(c_int), parameter, public :: XC_MGGA_X_TAU_HCTH = 205 ! tau-HCTH from Boese and Handy
integer(c_int), parameter, public :: XC_MGGA_X_BR89 = 206 ! Becke-Roussel 89, gamma = 0.8
integer(c_int), parameter, public :: XC_MGGA_X_BJ06 = 207 ! Becke & Johnson correction to Becke-Roussel 89
integer(c_int), parameter, public :: XC_MGGA_X_TB09 = 208 ! Tran & Blaha correction to Becke & Johnson
integer(c_int), parameter, public :: XC_MGGA_X_RPP09 = 209 ! Rasanen, Pittalis, and Proetto correction to Becke & Johnson
integer(c_int), parameter, public :: XC_MGGA_X_2D_PRHG07 = 210 ! Pittalis, Rasanen, Helbig, Gross Exchange Functional
integer(c_int), parameter, public :: XC_MGGA_X_2D_PRHG07_PRP10 = 211 ! PRGH07 with PRP10 correction
integer(c_int), parameter, public :: XC_MGGA_X_REVTPSS = 212 ! revised Tao, Perdew, Staroverov & Scuseria exchange
integer(c_int), parameter, public :: XC_MGGA_X_PKZB = 213 ! Perdew, Kurth, Zupan, and Blaha
integer(c_int), parameter, public :: XC_MGGA_X_BR89_1 = 214 ! Becke-Roussel 89, gamma = 1.0
integer(c_int), parameter, public :: XC_MGGA_K_PGSL025 = 220 ! PGSL0.25 functional by Constantin, Fabiano, and Della Sala
integer(c_int), parameter, public :: XC_MGGA_X_MS0 = 221 ! MS exchange of Sun, Xiao, and Ruzsinszky
integer(c_int), parameter, public :: XC_MGGA_X_MS1 = 222 ! MS1 exchange of Sun, et al
integer(c_int), parameter, public :: XC_MGGA_X_MS2 = 223 ! MS2 exchange of Sun, et al
integer(c_int), parameter, public :: XC_MGGA_X_TH = 225 ! Tsuneda and Hirao
integer(c_int), parameter, public :: XC_MGGA_X_M11_L = 226 ! M11-L exchange functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_X_MN12_L = 227 ! MN12-L exchange functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_X_MS2_REV = 228 ! MS2 exchange of Sun, et al with a revised value for c
integer(c_int), parameter, public :: XC_MGGA_XC_CC06 = 229 ! Cancio and Chou 2006
integer(c_int), parameter, public :: XC_MGGA_X_MK00 = 230 ! Exchange for accurate virtual orbital energies
integer(c_int), parameter, public :: XC_MGGA_C_TPSS = 231 ! Tao, Perdew, Staroverov & Scuseria correlation
integer(c_int), parameter, public :: XC_MGGA_C_VSXC = 232 ! VSxc from Van Voorhis and Scuseria (correlation part)
integer(c_int), parameter, public :: XC_MGGA_C_M06_L = 233 ! M06-L correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_M06_HF = 234 ! M06-HF correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_M06 = 235 ! M06 correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_M06_2X = 236 ! M06-2X correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_M05 = 237 ! M05 correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_M05_2X = 238 ! M05-2X correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_PKZB = 239 ! Perdew, Kurth, Zupan, and Blaha
integer(c_int), parameter, public :: XC_MGGA_C_BC95 = 240 ! Becke correlation 95
integer(c_int), parameter, public :: XC_MGGA_C_REVTPSS = 241 ! revised TPSS correlation
integer(c_int), parameter, public :: XC_MGGA_XC_TPSSLYP1W = 242 ! Functionals fitted for water
integer(c_int), parameter, public :: XC_MGGA_X_MK00B = 243 ! Exchange for accurate virtual orbital energies (v. B)
integer(c_int), parameter, public :: XC_MGGA_X_BLOC = 244 ! functional with balanced localization
integer(c_int), parameter, public :: XC_MGGA_X_MODTPSS = 245 ! Modified Tao, Perdew, Staroverov & Scuseria exchange
integer(c_int), parameter, public :: XC_MGGA_C_TPSSLOC = 247 ! Semilocal dynamical correlation
integer(c_int), parameter, public :: XC_MGGA_X_MBEEF = 249 ! mBEEF exchange
integer(c_int), parameter, public :: XC_MGGA_X_MBEEFVDW = 250 ! mBEEF-vdW exchange
integer(c_int), parameter, public :: XC_MGGA_C_TM = 251 ! Tao and Mo 2016 correlation
integer(c_int), parameter, public :: XC_MGGA_XC_B97M_V = 254 ! Mardirossian and Head-Gordon
integer(c_int), parameter, public :: XC_MGGA_X_JK = 256 ! Jemmer-Knowles meta-GGA exchange
integer(c_int), parameter, public :: XC_MGGA_X_MVS = 257 ! MVS exchange of Sun, Perdew, and Ruzsinszky
integer(c_int), parameter, public :: XC_MGGA_X_MN15_L = 260 ! MN15-L exhange functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_MN15_L = 261 ! MN15-L correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_X_SCAN = 263 ! SCAN exchange of Sun, Ruzsinszky, and Perdew
integer(c_int), parameter, public :: XC_MGGA_C_SCAN = 267 ! SCAN correlation
integer(c_int), parameter, public :: XC_MGGA_C_MN15 = 269 ! MN15 correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_X_B00 = 284 ! Becke 2000
integer(c_int), parameter, public :: XC_MGGA_XC_HLE17 = 288 ! high local exchange 2017
integer(c_int), parameter, public :: XC_MGGA_C_SCAN_RVV10 = 292 ! SCAN correlation + rVV10 correlation
integer(c_int), parameter, public :: XC_MGGA_X_REVM06_L = 293 ! revised M06-L exchange functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_REVM06_L = 294 ! Revised M06-L correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_X_RTPSS = 299 ! Revised TPSS exchange by Garza, Bell and Head-Gordon
integer(c_int), parameter, public :: XC_MGGA_X_MS2B = 300 ! MS2beta exchange by Furness and Sun
integer(c_int), parameter, public :: XC_MGGA_X_MS2BS = 301 ! MS2beta* exchange by Furness and Sun
integer(c_int), parameter, public :: XC_MGGA_X_MVSB = 302 ! MVSBeta exchange of Furness and Sun
integer(c_int), parameter, public :: XC_MGGA_X_MVSBS = 303 ! MVSBeta* exchange of Furness and Sun
integer(c_int), parameter, public :: XC_MGGA_C_REVM06 = 306 ! Revised M06 correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_M06_SX = 311 ! M06-SX correlation functional from Minnesota
integer(c_int), parameter, public :: XC_MGGA_C_B94 = 397 ! Meta-GGA correlation by Becke
integer(c_int), parameter, public :: XC_MGGA_X_RSCAN = 493 ! Regularized SCAN exchange
integer(c_int), parameter, public :: XC_MGGA_C_RSCAN = 494 ! Regularized SCAN correlation
integer(c_int), parameter, public :: XC_MGGA_X_R2SCAN = 497 ! Re-regularized SCAN exchange
integer(c_int), parameter, public :: XC_MGGA_C_R2SCAN = 498 ! Re-regularized SCAN correlation
integer(c_int), parameter, public :: XC_MGGA_X_TM = 540 ! Tao and Mo 2016 exchange
integer(c_int), parameter, public :: XC_MGGA_X_VT84 = 541 ! meta-GGA version of VT{8,4} GGA
integer(c_int), parameter, public :: XC_MGGA_X_SA_TPSS = 542 ! TPSS with correct surface asymptotics
integer(c_int), parameter, public :: XC_MGGA_K_PC07 = 543 ! Perdew and Constantin 2007
integer(c_int), parameter, public :: XC_MGGA_C_KCIS = 562 ! Krieger, Chen, Iafrate, and Savin
integer(c_int), parameter, public :: XC_MGGA_XC_LP90 = 564 ! Lee & Parr, Eq. (56)
integer(c_int), parameter, public :: XC_MGGA_C_B88 = 571 ! Meta-GGA correlation by Becke
integer(c_int), parameter, public :: XC_MGGA_X_GX = 575 ! GX functional of Loos
integer(c_int), parameter, public :: XC_MGGA_X_PBE_GX = 576 ! PBE-GX functional of Loos
integer(c_int), parameter, public :: XC_MGGA_X_REVSCAN = 581 ! revised SCAN
integer(c_int), parameter, public :: XC_MGGA_C_REVSCAN = 582 ! revised SCAN correlation
integer(c_int), parameter, public :: XC_MGGA_C_SCAN_VV10 = 584 ! SCAN correlation + VV10 correlation
integer(c_int), parameter, public :: XC_MGGA_C_REVSCAN_VV10 = 585 ! revised SCAN correlation
integer(c_int), parameter, public :: XC_MGGA_X_BR89_EXPLICIT = 586 ! Becke-Roussel 89 with an explicit inversion of x(y), gamma = 0.8
integer(c_int), parameter, public :: XC_MGGA_X_BR89_EXPLICIT_1 = 602 ! Becke-Roussel 89 with an explicit inversion of x(y), gamma = 1.0
integer(c_int), parameter, public :: XC_MGGA_X_REGTPSS = 603 ! Regularized TPSS
integer(c_int), parameter, public :: XC_MGGA_X_2D_JS17 = 609 ! JS17 meta-GGA for 2D
integer(c_int), parameter, public :: XC_MGGA_K_L04 = 617 ! L0.4 by Laricchia et al
integer(c_int), parameter, public :: XC_MGGA_K_L06 = 618 ! L0.6 by Laricchia et al
integer(c_int), parameter, public :: XC_MGGA_K_RDA = 621 ! RDA by Karasiev et al
integer(c_int), parameter, public :: XC_MGGA_X_REGTM = 626 ! Regularized Tao-Mo exchange
integer(c_int), parameter, public :: XC_MGGA_K_GEA2 = 627 ! Second-order gradient expansion
integer(c_int), parameter, public :: XC_MGGA_K_GEA4 = 628 ! Fourth-order gradient expansion
integer(c_int), parameter, public :: XC_MGGA_K_CSK1 = 629 ! mGGA-rev functional by Cancio, Stewart, and Kuna (a=1)
integer(c_int), parameter, public :: XC_MGGA_K_CSK4 = 630 ! mGGA-rev functional by Cancio, Stewart, and Kuna (a=4)
integer(c_int), parameter, public :: XC_MGGA_K_CSK_LOC1 = 631 ! mGGAloc-rev functional by Cancio, Stewart, and Kuna (a=1)
integer(c_int), parameter, public :: XC_MGGA_K_CSK_LOC4 = 632 ! mGGAloc-rev functional by Cancio, Stewart, and Kuna (a=4)
integer(c_int), parameter, public :: XC_MGGA_K_PC07_OPT = 634 ! Reoptimized version by Mejia-Rodriguez and Trickey
integer(c_int), parameter, public :: XC_MGGA_C_KCISK = 638 ! Krieger, Chen, and Kurth
integer(c_int), parameter, public :: XC_MGGA_X_TLDA = 685 ! LDA-type exchange with tau-dependent potential
integer(c_int), parameter, public :: XC_MGGA_X_EDMGGA = 686 ! Tao 2001
integer(c_int), parameter, public :: XC_MGGA_X_GDME_NV = 687 ! Generalized density-matrix with a=1/2
integer(c_int), parameter, public :: XC_MGGA_X_RLDA = 688 ! Reparametrized local-density approximation
integer(c_int), parameter, public :: XC_MGGA_X_GDME_0 = 689 ! Generalized density-matrix with a=0
integer(c_int), parameter, public :: XC_MGGA_X_GDME_KOS = 690 ! Generalized density-matrix with a=0.00638
integer(c_int), parameter, public :: XC_MGGA_X_GDME_VT = 691 ! Varied-terms (VT) mGGA of Koehl, Odom, and Scuseria
integer(c_int), parameter, public :: XC_MGGA_X_REVTM = 693 ! revised Tao and Mo 2016 exchange
integer(c_int), parameter, public :: XC_MGGA_C_REVTM = 694 ! revised Tao and Mo 2016 correlation
integer(c_int), parameter, public :: XC_MGGA_X_MBRXC_BG = 696 ! Modified Becke-Roussel for band gaps - cuspless hole
integer(c_int), parameter, public :: XC_MGGA_X_MBRXH_BG = 697 ! Modified Becke-Roussel for band gaps - hydrogen hole
integer(c_int), parameter, public :: XC_MGGA_X_HLTA = 698 ! Half-and-half by Lehtola and Marques
integer(c_int), parameter, public :: XC_MGGA_C_HLTAPW = 699 ! Meta-GGAized PW
integer(c_int), parameter, public :: XC_MGGA_X_SCANL = 700 ! Deorbitalized SCAN exchange
integer(c_int), parameter, public :: XC_MGGA_X_REVSCANL = 701 ! Deorbitalized revSCAN exchange
integer(c_int), parameter, public :: XC_MGGA_C_SCANL = 702 ! SCAN correlation
integer(c_int), parameter, public :: XC_MGGA_C_SCANL_RVV10 = 703 ! SCAN correlation + rVV10 correlation
integer(c_int), parameter, public :: XC_MGGA_C_SCANL_VV10 = 704 ! SCAN correlation + VV10 correlation
integer(c_int), parameter, public :: XC_MGGA_X_TASK = 707 ! TASK exchange of Aschebrock and Kuemmel
integer(c_int), parameter, public :: XC_MGGA_X_MGGAC = 711 ! MGGAC of Patras et al
integer(c_int), parameter, public :: XC_MGGA_X_MBR = 716 ! modified Becke-Roussel by Patra et al
integer(c_int), parameter, public :: XC_MGGA_X_R2SCANL = 718 ! Deorbitalized r^2SCAN exchange
integer(c_int), parameter, public :: XC_MGGA_C_R2SCANL = 719 ! Deorbitalized r^2SCAN correlation
Exact exchange (EXX)¶
See also
System
ecutfock float
ecutvcut float
exxdiv_treatment [gygi-baldereschi | vcut_spherical | vcut_ws | none]
exx_fraction float
nqx1 integer
nqx2 integer
nqx3 integer
screening_parameter float
x_gamma_extrapolation Yes/No
End
System- Type:
Block
- Description:
Keywords from the &SYSTEM namelist in the QuantumEspresso input file.
ecutfock- Type:
Float
- Unit:
Rydberg
- GUI name:
Exchange operator cutoff
- Description:
Kinetic energy cutoff for the exact exchange operator in EXX type calculations. By default this is the same as
ecutrhobut in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be >=ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials. Use with care, especially in metals where it may give raise to instabilities.
ecutvcut- Type:
Float
- Default value:
0.0
- Unit:
Rydberg
- Description:
Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors.
exxdiv_treatment- Type:
Multiple Choice
- Default value:
gygi-baldereschi
- Options:
[gygi-baldereschi, vcut_spherical, vcut_ws, none]
- GUI name:
Divergence treatment
- Description:
Specific for EXX. It selects the kind of approach to be used for treating the Coulomb potential divergencies at small q vectors. gygi-baldereschi: appropriate for cubic and quasi-cubic supercells vcut_spherical: appropriate for cubic and quasi-cubic supercells vcut_ws: appropriate for strongly anisotropic supercells, see also ecutvcut. none: sets Coulomb potential at G,q=0 to 0.0 (required for GAU-PBE)
exx_fraction- Type:
Float
- GUI name:
EXX fraction
- Description:
Fraction of EXX for hybrid functional calculations. In the case of
input_dftset to ‘PBE0’, the default value is 0.25, while forinput_dftset to ‘B3LYP’ theexx_fractiondefault value is 0.20.
nqx1- Type:
Integer
- Description:
Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. Defaults to the size of the k-point mesh used.
nqx2- Type:
Integer
- Description:
Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. Defaults to the size of the k-point mesh used.
nqx3- Type:
Integer
- Description:
Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points. Defaults to the size of the k-point mesh used.
screening_parameter- Type:
Float
- Default value:
0.106
- GUI name:
Screening parameter
- Description:
screening_parameter for HSE like hybrid functionals. For more information, see: J. Chem. Phys. 118, 8207 (2003), doi:10.1063/1.1564060 J. Chem. Phys. 124, 219906 (2006), doi:10.1063/1.2204597
x_gamma_extrapolation- Type:
Bool
- Default value:
Yes
- GUI name:
Gamma extrapolation
- Description:
Specific for EXX. If .true., extrapolate the G=0 term of the potential (see README in examples/EXX_example for more) Set this to .false. for GAU-PBE.
Dipole/charge corrections¶
See also
System
edir [x | y | z]
emaxpos float
eopreg float
eamp float
assume_isolated [Auto | None | Martyna-Tuckerman | ESM | 2D]
End
System- Type:
Block
- Description:
Keywords from the &SYSTEM namelist in the QuantumEspresso input file.
edir- Type:
Multiple Choice
- Options:
[x, y, z]
- GUI name:
Field direction
- Description:
1(orx), 2 (ory) or 3 (orz). The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector. Thus the potential is constant in planes defined by FFT grid points. Used only iftefieldis enabled.
emaxpos- Type:
Float
- Default value:
0.5
- GUI name:
Saw potential maximum
- Description:
Position of the maximum of the saw-like potential along crystal axis
edir, within the unit cell, see alsoeopreg. 0 <emaxpos< 1 Used only iftefieldis enabled.
eopreg- Type:
Float
- Default value:
0.1
- GUI name:
Saw potential decreasing
- Description:
Zone in the unit cell where the saw-like potential decreases, see also
amp. Must be in range 0 <eopreg< 1. Used only iftefieldis enabled.
eamp- Type:
Float
- Default value:
0.001
- Unit:
Hartree
- GUI name:
Field amplitude
- Description:
Amplitude of the electric field, in Hartree a.u. = = 51.4220632*10^10 V/m. Used only if
tefieldis enabled. The saw-like potential increases with slopeeampin the region from (emaxpos+eopreg- 1) to (emaxpos), then decreases to 0 until (emaxpos+eopreg), in units of the crystal vector edir. Important: the change of slope of this potential must be located in the empty region, or else unphysical forces will result.
assume_isolated- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, None, Martyna-Tuckerman, ESM, 2D]
- GUI name:
Isolated system
- Description:
Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell). Currently available choices: • Auto: determines the used method based on the periodicity of the system in the AMS driver input. None for systems 3D periodicity, Martyna-Tuckerman for systems without a lattice. • None: regular periodic calculation w/o any correction. • Martyna-Tuckerman: correction to both total energy and scf potential. Adapted from: G.J. Martyna, and M.E. Tuckerman, A reciprocal space based method for treating long range interactions in ab-initio and force-field-based calculation in clusters, J. Chem. Phys. 110, 2810 (1999), [doi:10.1063/1.477923]. • ESM: Effective Screening Medium Method. For polarized or charged slab calculation, embeds the simulation cell within an effective semi-infinite medium in the perpendicular direction (along z). Embedding regions can be vacuum or semi-infinite metal electrodes (use esm_bc to choose boundary conditions). If between two electrodes, an optional electric field (esm_efield) may be applied. Method described in M. Otani and O. Sugino, ‘First-principles calculations of charged surfaces and interfaces: A plane-wave nonrepeated slab approach’, PRB 73, 115407 (2006). • 2D: Truncation of the Coulomb interaction in the z direction for structures periodic in the x-y plane. Total energy, forces and stresses are computed in a two-dimensional framework. Linear-response calculations () done on top of a self-consistent calculation with this flag will automatically be performed in the 2D framework as well. Please refer to: Sohier, T., Calandra, M., & Mauri, F. (2017), ‘Density functional perturbation theory for gated two-dimensional heterostructures: Theoretical developments and application to flexural phonons in graphene’, PRB, 96, 075448 (2017).
Hubbard U, DFT+U¶
Note: the Hubbard U (and J) settings are specified in the Quantum ESPRESSO 7.1 format (pdf).
This format is different compared to earlier versions of Quantum ESPRESSO. See the Examples for example usage in AMS.
Example: DFT+U (Dudarev’s formalism)¶
Hubbard ortho-atomic
U Mn-3d 5.0 # eV
U Ni-3d 6.0 # eV
End
Instead of 3d, you can also specify for example 4s etc.
To apply the Hund J0 (DFT+U+J0):
Hubbard ortho-atomic
U Mn-3d 5.0 # eV
J0 Mn-3d 1.0 # eV
U Ni-3d 6.0 # eV
J0 Ni-3d 1.2 # eV
End
Example: DFT+U+J (Liechtenstein’s formulation)¶
Hubbard ortho-atomic
U Mn-3d 5.0
J Mn-3d 1.0
B Mn-3d 1.1
End
For details, see the Quantum ESPRESSO documentation for Hubbard U (pdf).
Hubbard- Type:
Non-standard block
- Description:
Specify parameters for DFT+U models. The type of Hubbard projectors to use (e.g.
atomicorortho-atomic) is specified in the header of this block. Example input: .. code-block:: text Hubbard ortho-atomic U Fe-3d 3.0 End More examples can be found in the documentation.
Restart Options¶
You can restart your calculation using the keyword EngineRestart at the AMS level or the Restart section at the QuantumEspresso engine level.
The AMS EngineRestart keyword requires the complete path to the quantumespresso.rkf file. It also expects a directory named quantumespresso.save to be present, along with other relevant QE files that share the same prefix in the same location. This feature is beneficial as it allows compatibility between different engines. On the contrary, the QuantumEspresso engine Restart block allows you to specify the directory, path, and prefix independently.
Depending on the specific files with the same prefix in that directory, the engine can determine whether to reuse the electronic density and wave function or restart the self-consistent field (SCF) cycle. For the latter option, it is crucial that the QE calculation is properly terminated. You can control this with the option Control%max_seconds or by gently stopping it using the EXIT file.
For examples, please refer to the directories $AMSHOME/examples/QE/ZnO_restart and $AMSHOME/examples/QE/RestartSCF
EngineRestart string
EngineRestart- Type:
String
- Description:
The path to the file from which to restart the engine. Should be a proper engine result file (like adf.rkf, band.rkf etc), or the name of the results directory containing it.
Engine QuantumEspresso
...
Restart
Directory string
Path string
Prefix string
End
EndEngine
Restart- Type:
Block
- Description:
This section configures restarting a Quantum Espresso calculation from previous data. You can restart from a specific Quantum Espresso results file (e.g., quantumespresso.rkf), or by providing the directory and file prefix of the previous calculation. This is compatible with any stand-alone Quantum Espresso version.
Directory- Type:
String
- Default value:
- GUI name:
Restart from directory
- Description:
The directory containing the restart files from a previous Quantum Espresso calculation. This typically includes the prefix.save directory with wavefunctions and other data. This option is used in conjunction with the Prefix option.
Path- Type:
String
- GUI name:
Restart from file
- Description:
Path to the Quantum Espresso results file (e.g., quantumespresso.rkf) to use to restart the calculation. When this option is used, the directory of the results file is used as the Directory, and the filename (without the .rkf extension) is used as the Prefix. This assumes all restart files (e.g., prefix.save directory) are in the same directory as the results file. This option is equivalent to the EngineRestart option.
Prefix- Type:
String
- Default value:
quantumespresso
- GUI name:
Restart using prefix
- Description:
The prefix used for the files in the previous calculation. This is usually the same as the ‘prefix’ specified in the input file of the original calculation. For example, if your files are named ‘my_calc.save’ and ‘my_calc.restart_scf’, the prefix would be ‘my_calc’. This option is used in conjunction with the Directory option.
Differences between AMS and standalone QE¶
AMS internally enforces
scf_must_converge = .true.to ensure it can reliably detect the completion status of calculations. However, from the AMS input file, this parameter actually controls how the SCF convergence affects the overall AMS execution. Specifically, ifscf_must_convergeis set to.true.(which is the default), the entire AMS execution will be halted if the SCF fails to converge, otherwise it allows the AMS execution to proceed even if the SCF does not converge. This behavior is intended to prevent or keep control of inaccurate results from propagating through subsequent steps in the AMS workflow.The default value for
Electrons%mixing_betais 0.3 (smaller than the pw.x default of 0.7), to make SCF convergence more reliable.The pseudopotentials are specified in the engine Pseudopotentials block. They will then be appended to the ATOMIC_SPECIES lines in the pw.x input.
AMS automatically sets
pseudo_dir,outdir,prefix,title,ntypandnatAMS automatically generates a path through the Brillouin zone for band structure calculations by default
For more differences, see the Quick reference (migration guide)