# 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.The

**QuantumESPRESSO Engine System block**contains keywords from the`&SYSTEM`

namelist in the pw.x input file. For example,`ecutwfc`

to 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 set 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

`Family`

and`Files`

keywords. This key specifies a directory containing label.upf files. Example: 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

`Files`

and`Directory`

keywords.

`Files`

- Type
Block

- Recurring
True

- Description
Selects the pseudopotentials to use for each atomic species. This key is mutually exclusive with the

`Family`

and`Directory`

keywords.

`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_dft`

option 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`

, and`ams_kpath`

. See the examples and QE documentation for details. If omitted, only`gamma`

is used. For most cases,`automatic`

(which generates a Monkhorst-Pack grid) is recommended. Note: Gamma-point calculations are significantly faster using`gamma`

than`automatic`

, 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
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

`tefield`

is True) a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See keywords`edir`

,`emaxpos`

,`eopreg`

for 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

`tefield`

to 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`

,`eopreg`

for the form and size of the added potential.

## 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
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 that`conv_thr`

is 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

`Davidson`

but 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.

## System block (in the QuantumESPRESSO engine)¶

Overview:

```
System
assume_isolated [Auto | None | Martyna-Tuckerman]
degauss float
dftd3_threebody Yes/No
dftd3_version [2 | 3 | 4 | 5 | 6]
eamp float
ecutfock float
ecutrho float
ecutvcut float
ecutwfc float
edir [1 | 2 | 3]
emaxpos float
eopreg float
exx_fraction float
exxdiv_treatment [gygi-baldereschi | vcut_spherical | vcut_ws | none]
input_dft string
lspinorb Yes/No
nbnd integer
nqx1 integer
nqx2 integer
nqx3 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%Family`

recommends a ratio of`ecutrho`

to`ecutwfc`

, this recommended ratio will be used. If there is no recommended ratio, the default value is`4 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 times`ecutwfc`

, typically). PAW datasets can often be used at`4 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 of`ecutrho`

to 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

`smearing`

and`degauss`

• Tetrahedra: Tetrahedron method, Bloechl’s version: P.E. Bloechl, PRB 49, 16223 (1994). Requires uniform grid of k-points, to be automatically generated (see`block 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

- 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

`noncolin`

key 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_magnetization`

for LSDA,`constrained_magnetization`

for 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 with`tot_magnetization`

, do not specify`starting_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_dft`

keyword.

`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)¶

See also

```
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.

**Valid values for input_dft** (source: Modules/funct.f90)

```
! ------------------------------------------------------------------------
! "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).
```

### 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

`ecutrho`

but 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_dft`

set to ‘PBE0’, the default value is 0.25, while for`input_dft`

set to ‘B3LYP’ the`exx_fraction`

default 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 [1 | 2 | 3]
emaxpos float
eopreg float
eamp float
assume_isolated [Auto | None | Martyna-Tuckerman]
End
```

`System`

- Type
Block

- Description
Keywords from the &SYSTEM namelist in the QuantumEspresso input file.

`edir`

- Type
Multiple Choice

- Options
[1, 2, 3]

- GUI name
Field direction

- Description
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 if

`tefield`

is 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 also`eopreg`

. 0 <`emaxpos`

< 1 Used only if`tefield`

is 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 if`tefield`

is 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

`tefield`

is enabled. The saw-like potential increases with slope`eamp`

in 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]

- 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].

## 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 J_{0} (DFT+U+J_{0}):

```
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.

`atomic`

or`ortho-atomic`

is specified in the header of this block. Example input: Hubbard ortho-atomic U Fe-3d 3.0 End More examples can be found in the documentation.

## Properties: DOS, Band structure¶

```
Properties
BandStructure Yes/No
DOS Yes/No
End
```

`Properties`

- Type
Block

- Description
Configures which QE level properties to calculate for SinglePoint calculations or other important geometries (e.g. at the end of an optimization).

`BandStructure`

- Type
Bool

- Default value
No

- GUI name
Calculate band structure

- Description
If true, the band structure is calculated and saved for visualization.

`DOS`

- Type
Bool

- Default value
No

- GUI name
Calculate DOS

- Description
If true, the Density-Of-States (DOS) is calculated and saved for visualization. To configure the parameters of the calculation, please modify the options in the the section ‘DOS’.

### Density of states: DOS, PDOS¶

```
DOS
DeltaE float
Emax float
Emin float
K_Points header # Non-standard block. See details.
...
End
K_PointsStep float
PDOS Yes/No
degauss float
nbnd integer
ngauss [SimpleGaussian | Methfessel-Paxton | ColdSmearing | Fermi-Dirac | Default]
End
```

`DOS`

- Type
Block

- Description
This section configures the parameters for calculating the Density of States (DOS). These are the utilities involved: •

`kpath`

: This AMS tool generates an automated high-symmetry k-path in the Brillouin zone. •`pw.x`

(with`calculation=nscf`

): This Quantum ESPRESSO (QE) utility conducts electronic structure calculations, specifically for the non-self-consistent field (nscf) computation. •`dos.x`

: A QE utility utilized for post-processing electronic structure calculations. It analyzes the electronic wavefunctions obtained from preceding calculations to determine the density of available electronic states at different energy levels. For more details see https://www.quantum-espresso.org/Doc/INPUT_DOS.html •`projwfc.x`

: Another QE utility employed for post-processing electronic structure calculations. It projects the wavefunctions onto atomic orbitals or basis sets, offering insights into the composition and character of electronic states. For more details see https://www.quantum-espresso.org/Doc/INPUT_PROJWFC.html By default, the calculation sequence follows the order:`kpath -> pw.x(calculation=nscf) -> dos.x`

. However, enabling`DOS%PDOS`

switches the calculation to use`projwfc.x`

instead of`dos.x`

. While common parameters can be customized directly in this section, specialized adjustments should be made in either the`DOS_X`

or`PROJWFC_X`

section, depending on specific requirements.

`DeltaE`

- Type
Float

- Default value
0.1

- Unit
eV

- GUI name
Energy step

- Description
Energy grid step.

`Emax`

- Type
Float

- Unit
eV

- Description
Maximum energy for DOS plot. If unspecified, the upper band value, plus 3 times the value of the gaussian smearing if present, will be used.

`Emin`

- Type
Float

- Unit
eV

- Description
Minimum energy for DOS plot. If unspecified, the lower band value, minus 3 times the value of the gaussian smearing if present, will be used.

`K_Points`

- Type
Non-standard block

- Description
Specify the k-points to use. Choose a header appropriate for your system. Available values are:

`tpiba`

,`automatic`

,`crystal`

,`gamma`

,`tpiba_b`

,`crystal_b`

,`tpiba_c`

,`crystal_c`

, and`ams_kpath`

. See the QE documentation for details. If omitted, the k-points specified in the main QE calculation will be used. For most cases,`automatic`

(which generates a Monkhorst-Pack grid) is recommended.

`K_PointsStep`

- Type
Float

- Default value
0.05

- Unit
1/Bohr

- Description
This option is used only if the type of k_points to use is

`ams_kpath`

.

`PDOS`

- Type
Bool

- Default value
No

- GUI name
Calculate PDOS and Lowdin charges

- Description
If true, the partial Density-Of-States (projections on atomic basis functions) is calculated and saved for visualization. It uses the QE-utility

`projwfc.x`

. To configure the parameters of the calculation, please modify the options in the the section`PROJWFC_X`

.

`degauss`

- Type
Float

- Unit
Rydberg

- GUI name
Broadening width

- Description
Gaussian broadening. See more details in sections

`DOS_X`

or`PROJWFC_X`

.

`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: 20% more (minimum of 4 additional bands) than the number used in the main ‘pw.x’ calculation, regardless of the material’s insulating or metallic nature. Notice that this default is calculated differently than in standard QE.

`ngauss`

- Type
Multiple Choice

- Default value
Default

- Options
[SimpleGaussian, Methfessel-Paxton, ColdSmearing, Fermi-Dirac, Default]

- GUI name
Broadening type

- Description
Type of gaussian broadening: Available options are: • SimpleGaussian. • Methfessel-Paxton: Methfessel-Paxton of order 1. • ColdSmearing: Marzari-Vanderbilt-DeVita-Payne. • Fermi-Dirac: Fermi-Dirac function. • Default: See more details in sections

`DOS_X`

or`PROJWFC_X`

.

### Electronic band structure¶

Before calculating the band structure, make sure that the crystal unit cell corresponds to the **primitive** unit cell!

```
BandStructure
K_Points header # Non-standard block. See details.
...
End
K_PointsLabels string
K_PointsStep float
nbnd integer
End
```

`BandStructure`

- Type
Block

- Description
This section configures the parameters for calculating the Band Structure. This involves utilizing the following utilities in sequential order: •

`kpath`

: This AMS tool generates an automated high-symmetry k-path in the Brillouin zone. •`pw.x`

(with calculation=bands): This utility from Quantum ESPRESSO (QE) performs electronic structure calculations, particularly for bands. For more details see https://www.quantum-espresso.org/Doc/INPUT_PW.html •`bands.x`

: Another QE utility, which calculates the band structure. For more details see https://www.quantum-espresso.org/Doc/INPUT_BANDS.html.

`K_Points`

- Type
Non-standard block

- Description
Specify the k-points to use. Choose a header appropriate for your system. Available values are:

`tpiba`

,`automatic`

,`crystal`

,`gamma`

,`tpiba_b`

,`crystal_b`

,`tpiba_c`

,`crystal_c`

, and`ams_kpath`

. See the QE documentation for details. If omitted,`ams_kpath`

will be used for 3D systems, and`gamma`

otherwise. For most cases,`ams_kpath`

(which generates a convenient path along high-symmetry k-points in the Brillouin zone) is recommended.

`K_PointsLabels`

- Type
String

- Description
K-Points labels separated by ‘-’, e.g. L-G-X-U-G. Labels are arbitrary

`K_PointsStep`

- Type
Float

- Default value
0.05

- Unit
1/Bohr

- Description
This option is used only if the type of k_points to use is

`ams_kpath`

.

`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: 20% more (minimum of 4 additional bands) than the number used in the main ‘pw.x’ calculation, regardless of the material’s insulating or metallic nature. Notice that this default is calculated differently than in standard QE.

## Expert input for post-processing¶

### DOS_X (dos.x)¶

Warning

Use the `DOS_X`

input block only if you cannot achieve your goal using the `DOS`

block.

Input options for the dos.x program.

```
DOS_X
DeltaE float
Emax float
Emin float
bz_sum [Smearing | Tetrahedra | Tetrahedra_lin | Tetrahedra_opt | Default]
degauss float
ngauss [SimpleGaussian | Methfessel-Paxton | ColdSmearing | Fermi-Dirac | Default]
End
```

`DOS_X`

- Type
Block

- Description
This section configures the parameters for running the QE-utility

`dos.x`

(see https://www.quantum-espresso.org/Doc/INPUT_DOS.html). This utility calculates the Density of States (DOS), separated into up and down components for DSDA.

`DeltaE`

- Type
Float

- Default value
0.1

- Unit
eV

- GUI name
Energy step

- Description
Energy grid step.

`Emax`

- Type
Float

- Unit
eV

- Description
Maximum energy for DOS plot. If unspecified, the upper band value, plus 3 times the value of the gaussian smearing if present, will be used.

`Emin`

- Type
Float

- Unit
eV

- Description
Minimum energy for DOS plot. If unspecified, the lower band value, minus 3 times the value of the gaussian smearing if present, will be used.

`bz_sum`

- Type
Multiple Choice

- Default value
Default

- Options
[Smearing, Tetrahedra, Tetrahedra_lin, Tetrahedra_opt, Default]

- GUI name
BZ summation method

- Description
Keyword selecting the method for BZ summation. Available options are: • Smearing: Integration using gaussian smearing. In fact currently any string not related to tetrahedra defaults to smearing. • Tetrahedra: Tetrahedron method, Bloechl’s version: P.E. Bloechl, PRB 49, 16223 (1994). Requires uniform grid of k-points, to be automatically generated (see

`block K_Points`

). • 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). Default: The default value is`Smearing`

if`DOS_X%degauss`

is set, otherwise it is influenced by related variables used in the previous ‘pw.x’ run. For more information, consult the original Quantum Espresso documentation at this link: https://www.quantum-espresso.org/Doc/INPUT_DOS.html.

`degauss`

- Type
Float

- Unit
Rydberg

- GUI name
Broadening width

- Description
Gaussian broadening. If not set, the default value is determined by the choice you make for

`DOS_X%bz_sum`

, and it may also be influenced by related variables used in the previous ‘pw.x’ run. For more information, consult the original Quantum Espresso documentation at this link: https://www.quantum-espresso.org/Doc/INPUT_DOS.html.

`ngauss`

- Type
Multiple Choice

- Default value
Default

- Options
[SimpleGaussian, Methfessel-Paxton, ColdSmearing, Fermi-Dirac, Default]

- GUI name
Broadening type

- Description
Type of gaussian broadening: Available options are: • SimpleGaussian. • Methfessel-Paxton: Methfessel-Paxton of order 1. • ColdSmearing: Marzari-Vanderbilt-DeVita-Payne. • Fermi-Dirac: Fermi-Dirac function. • Default: The default value is determined by the choices you make for

`DOS_X%bz_sum`

and`DOS_X%degauss`

, and it may also be influenced by related variables used in the previous ‘pw.x’ run. For more information, consult the original Quantum Espresso documentation at this link: https://www.quantum-espresso.org/Doc/INPUT_DOS.html.

### PROJWFC_X (projwfc.x)¶

Input options for the projwfc.x program.

```
PROJWFC_X
DeltaE float
Emax float
Emin float
degauss float
diag_basis Yes/No
lsym Yes/No
ngauss [SimpleGaussian | Methfessel-Paxton | ColdSmearing | Fermi-Dirac | Default]
End
```

`PROJWFC_X`

- Type
Block

- Description
This section configures the parameters for running the QE-utility

`projwfc.x`

(see https://www.quantum-espresso.org/Doc/INPUT_PROJWFC.html). This utility projects wavefunctions onto orthogonalized atomic wavefunctions, calculates Lowdin charges, spilling parameter, projected DOS (separated into up and down components for LSDA).

`DeltaE`

- Type
Float

- Default value
0.1

- Unit
eV

- GUI name
Energy step

- Description
Energy grid step.

`Emax`

- Type
Float

- Unit
eV

- Description
Maximum energy for DOS plot. If unspecified, the upper band value, plus 3 times the value of the gaussian smearing if present, will be used.

`Emin`

- Type
Float

- Unit
eV

- Description
Minimum energy for DOS plot. If unspecified, the lower band value, minus 3 times the value of the gaussian smearing if present, will be used.

`degauss`

- Type
Float

- Unit
Rydberg

- GUI name
Broadening width

- Description
Gaussian broadening. If not set, the default value is determined by the choice you make for

`DOS_X%bz_sum`

, and it may also be influenced by related variables used in the previous ‘pw.x’ run. For more information, consult the original Quantum Espresso documentation at this link: https://www.quantum-espresso.org/Doc/INPUT_PROJWFC.html.

`diag_basis`

- Type
Bool

- Default value
No

- Description
If False, the projections of Kohn-Sham states are done on the orthogonalized atomic orbitals in the global XYZ coordinate frame. If True, the projections of Kohn-Sham states are done on the orthogonalized atomic orbitals that are rotated to the basis in which the atomic occupation matrix is diagonal (i.e. local XYZ coordinate frame).

`lsym`

- Type
Bool

- Default value
Yes

- Description
If True, the projections are symmetrized, the partial density of states are computed. If False the projections are not symmetrized, the partial DOS can be computed only in the k-resolved case

`ngauss`

- Type
Multiple Choice

- Default value
Default

- Options
[SimpleGaussian, Methfessel-Paxton, ColdSmearing, Fermi-Dirac, Default]

- GUI name
Broadening type

- Description
Type of gaussian broadening: Available options are: • SimpleGaussian. • Methfessel-Paxton: Methfessel-Paxton of order 1. • ColdSmearing: Marzari-Vanderbilt-DeVita-Payne. • Fermi-Dirac: Fermi-Dirac function. • Default: The default value is determined by the choices you make for

`DOS_X%bz_sum`

and`DOS_X%degauss`

, and it may also be influenced by related variables used in the previous ‘pw.x’ run. For more information, consult the original Quantum Espresso documentation at this link: https://www.quantum-espresso.org/Doc/INPUT_PROJWFC.html.

## Differences between AMS and standalone QE¶

AMS enforces

`scf_must_converge = .false.`

The default value for

`Electrons%mixing_beta`

is 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`

,`ntyp`

and`nat`

AMS automatically generates a path through the Brillouin zone for band structure calculations by default

For more differences, see the Quick reference (migration guide)