QuantumESPRESSO Keywords¶
The input to the QuantumESPRESSO engine has a similar structure as the input to the pw.x executable.
Exceptions: The pseudopotentials are specified in the engine Pseudopotentials block. They will then be appended to the ATOMIC_SPECIES lines in the pw.x input.
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=aaa
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. This block is described in detail below.
Pseudopotentials¶
The pseudopotentials are specified in a free block. See the Examples for examples.
The pseudopotentials will also determine the XC functional used, unless you set the System%input_dft
option.
See the list of pseudopotentials that are included with the AMS Quantum ESPRESSO package.
Pseudopotentials # Non-standard block. See details.
...
End
Pseudopotentials
- Type
Non-standard block
- Description
Selects the pseudopotential to use for the atomic species. Each line should contain a symbol followed by a filename (or path relative to $PSEUDO_DIR) or an absolute path to the pseudopotential file.
K-space and k-point sampling¶
K_Points header # Non-standard block. See details.
...
End
K_Points
- Type
Non-standard block
- Description
Specify the used k-points. The type of k-points to use (e.g.
automatic
orgamma
is specified in the header of this block. If this block is absent, only the Gamma point will be used.
Control block¶
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
- 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 keywordsedir
,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
- 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
- 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¶
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 thatconv_thr
is extensive, like the total energy.
diagonalization
- Type
Multiple Choice
- Default value
Davidson
- Options
[Davidson, ConjugateGradient, PPCG, ParO, RMM-Davidson, RMM-ParO]
- 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.7
- GUI name
Beta
- Description
Mixing factor for self-consistency.
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
- 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)¶
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
ecutwfc float
edir [1 | 2 | 3]
emaxpos float
eopreg float
exx_fraction float
input_dft string
nspin [None | Collinear | Non-Collinear]
occupations [Smearing | Tetrahedra | Tetrahedra_lin | Tetrahedra_opt | Fixed]
smearing [Gaussian | Methfessel-Paxton | Marzari-Vanderbilt | Fermi-Dirac]
starting_magnetization string
tot_magnetization float
vdw_corr [None | Grimme-D2 | Grimme-D3 | TS | MBD | XDM]
xdm_a1 float
xdm_a2 float
End
System
- Type
Block
- Description
Keywords from the &SYSTEM namelist in the QuantumEspresso input file.
assume_isolated
- Type
Multiple Choice
- Default value
Auto
- Options
[Auto, None, Martyna-Tuckerman]
- 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].
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.
dftd3_threebody
- Type
Bool
- Default value
Yes
- 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.
dftd3_version
- Type
Multiple Choice
- Default value
3
- Options
[2, 3, 4, 5, 6]
- 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.
eamp
- Type
Float
- Default value
0.001
- Unit
Hartree
- 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 slopeeamp
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.
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.
ecutrho
- Type
Float
- Unit
Rydberg
- GUI name
Density energy cutoff
- Description
Kinetic energy cutoff for charge density and potential. Default value is 4*``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 at 4*``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 ofecutrho
to be accurately converged.
ecutwfc
- Type
Float
- Default value
40.0
- Unit
Rydberg
- GUI name
Wavefunction energy cutoff
- Description
Kinetic energy cutoff for wavefunctions.
edir
- Type
Multiple Choice
- Options
[1, 2, 3]
- Description
The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points. Used only if
tefield
is enabled.
emaxpos
- Type
Float
- Default value
0.5
- 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 iftefield
is enabled.
eopreg
- Type
Float
- Default value
0.1
- Description
Zone in the unit cell where the saw-like potential decreases, see also
amp
. Must be in range 0 <eopreg
< 1. Used only iftefield
is enabled.
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 forinput_dft
set to ‘B3LYP’ theexx_fraction
default value is 0.20.
input_dft
- Type
String
- GUI name
Force XC
- Description
Exchange-correlation functional: eg ‘PBE’, ‘BLYP’, etc. See Modules/funct.f90 in the QE source code for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!
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)
occupations
- Type
Multiple Choice
- Default value
Fixed
- Options
[Smearing, Tetrahedra, Tetrahedra_lin, Tetrahedra_opt, Fixed]
- Description
Available options are: • Smearing: gaussian smearing for metals; see keywords
smearing
anddegauss
• 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: ptimized 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]
- 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
starting_magnetization
- Type
String
- Recurring
True
- Description
Expects an element symbol (or QE.Label) followed by a real number in the range [-1:+1]. 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 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.
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.
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 dipersion (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.
xdm_a1
- Type
Float
- Default value
0.6836
- 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
- 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]
Hubbard U, DFT+U¶
Note: the Hubbard U (and J) settings are specified in the Quantum ESPRESSO 7.1 format. This format is different compared to earlier versions of Quantum ESPRESSO.
Hubbard header # Non-standard block. See details.
...
End
Hubbard
- Type
Non-standard block
- Description
Specify parameters for DFT+U models. The type of Hubbard projectors to use (e.g.
atomic
orortho-atomic
is specified in the header of this block. Please refer to the QuantumEspresso manual (e.g.Doc/Hubbard_input.pdf
) for details concerning the contents of this block.