ibrav |
INTEGER |
Status: |
REQUIRED
|
Bravais-lattice index. Optional only if space_group is set.
If ibrav /= 0, specify EITHER [ celldm(1)-celldm(6) ]
OR [ A, B, C, cosAB, cosAC, cosBC ]
but NOT both. The lattice parameter "alat" is set to
alat = celldm(1) (in a.u.) or alat = A (in Angstrom);
see below for the other parameters.
For ibrav=0 specify the lattice vectors in CELL_PARAMETERS,
optionally the lattice parameter alat = celldm(1) (in a.u.)
or = A (in Angstrom). If not specified, the lattice parameter is
taken from CELL_PARAMETERS
IMPORTANT NOTICE 1:
with ibrav=0 lattice vectors must be given with a sufficiently large
number of digits and with the correct symmetry, or else symmetry
detection may fail and strange problems may arise in symmetrization.
IMPORTANT NOTICE 2:
do not use celldm(1) or A as a.u. to Ang conversion factor,
use the true lattice parameters or nothing,
specify units in CELL_PARAMETERS and ATOMIC_POSITIONS
ibrav structure celldm(2)-celldm(6)
or: b,c,cosbc,cosac,cosab
0 free
crystal axis provided in input: see card CELL_PARAMETERS
1 cubic P (sc)
v1 = a(1,0,0), v2 = a(0,1,0), v3 = a(0,0,1)
2 cubic F (fcc)
v1 = (a/2)(-1,0,1), v2 = (a/2)(0,1,1), v3 = (a/2)(-1,1,0)
3 cubic I (bcc)
v1 = (a/2)(1,1,1), v2 = (a/2)(-1,1,1), v3 = (a/2)(-1,-1,1)
-3 cubic I (bcc), more symmetric axis:
v1 = (a/2)(-1,1,1), v2 = (a/2)(1,-1,1), v3 = (a/2)(1,1,-1)
4 Hexagonal and Trigonal P celldm(3)=c/a
v1 = a(1,0,0), v2 = a(-1/2,sqrt(3)/2,0), v3 = a(0,0,c/a)
5 Trigonal R, 3fold axis c celldm(4)=cos(gamma)
The crystallographic vectors form a three-fold star around
the z-axis, the primitive cell is a simple rhombohedron:
v1 = a(tx,-ty,tz), v2 = a(0,2ty,tz), v3 = a(-tx,-ty,tz)
where c=cos(gamma) is the cosine of the angle gamma between
any pair of crystallographic vectors, tx, ty, tz are:
tx=sqrt((1-c)/2), ty=sqrt((1-c)/6), tz=sqrt((1+2c)/3)
-5 Trigonal R, 3fold axis <111> celldm(4)=cos(gamma)
The crystallographic vectors form a three-fold star around
<111>. Defining a' = a/sqrt(3) :
v1 = a' (u,v,v), v2 = a' (v,u,v), v3 = a' (v,v,u)
where u and v are defined as
u = tz - 2*sqrt(2)*ty, v = tz + sqrt(2)*ty
and tx, ty, tz as for case ibrav=5
Note: if you prefer x,y,z as axis in the cubic limit,
set u = tz + 2*sqrt(2)*ty, v = tz - sqrt(2)*ty
See also the note in Modules/latgen.f90
6 Tetragonal P (st) celldm(3)=c/a
v1 = a(1,0,0), v2 = a(0,1,0), v3 = a(0,0,c/a)
7 Tetragonal I (bct) celldm(3)=c/a
v1=(a/2)(1,-1,c/a), v2=(a/2)(1,1,c/a), v3=(a/2)(-1,-1,c/a)
8 Orthorhombic P celldm(2)=b/a
celldm(3)=c/a
v1 = (a,0,0), v2 = (0,b,0), v3 = (0,0,c)
9 Orthorhombic base-centered(bco) celldm(2)=b/a
celldm(3)=c/a
v1 = (a/2, b/2,0), v2 = (-a/2,b/2,0), v3 = (0,0,c)
-9 as 9, alternate description
v1 = (a/2,-b/2,0), v2 = (a/2, b/2,0), v3 = (0,0,c)
91 Orthorhombic one-face base-centered A-type
celldm(2)=b/a
celldm(3)=c/a
v1 = (a, 0, 0), v2 = (0,b/2,-c/2), v3 = (0,b/2,c/2)
10 Orthorhombic face-centered celldm(2)=b/a
celldm(3)=c/a
v1 = (a/2,0,c/2), v2 = (a/2,b/2,0), v3 = (0,b/2,c/2)
11 Orthorhombic body-centered celldm(2)=b/a
celldm(3)=c/a
v1=(a/2,b/2,c/2), v2=(-a/2,b/2,c/2), v3=(-a/2,-b/2,c/2)
12 Monoclinic P, unique axis c celldm(2)=b/a
celldm(3)=c/a,
celldm(4)=cos(ab)
v1=(a,0,0), v2=(b*cos(gamma),b*sin(gamma),0), v3 = (0,0,c)
where gamma is the angle between axis a and b.
-12 Monoclinic P, unique axis b celldm(2)=b/a
celldm(3)=c/a,
celldm(5)=cos(ac)
v1 = (a,0,0), v2 = (0,b,0), v3 = (c*cos(beta),0,c*sin(beta))
where beta is the angle between axis a and c
13 Monoclinic base-centered celldm(2)=b/a
(unique axis c) celldm(3)=c/a,
celldm(4)=cos(gamma)
v1 = ( a/2, 0, -c/2),
v2 = (b*cos(gamma), b*sin(gamma), 0 ),
v3 = ( a/2, 0, c/2),
where gamma=angle between axis a and b projected on xy plane
-13 Monoclinic base-centered celldm(2)=b/a
(unique axis b) celldm(3)=c/a,
celldm(5)=cos(beta)
v1 = ( a/2, b/2, 0),
v2 = ( -a/2, b/2, 0),
v3 = (c*cos(beta), 0, c*sin(beta)),
where beta=angle between axis a and c projected on xz plane
IMPORTANT NOTICE: until QE v.6.4.1, axis for ibrav=-13 had a
different definition: v1(old) =-v2(now), v2(old) = v1(now)
14 Triclinic celldm(2)= b/a,
celldm(3)= c/a,
celldm(4)= cos(bc),
celldm(5)= cos(ac),
celldm(6)= cos(ab)
v1 = (a, 0, 0),
v2 = (b*cos(gamma), b*sin(gamma), 0)
v3 = (c*cos(beta), c*(cos(alpha)-cos(beta)cos(gamma))/sin(gamma),
c*sqrt( 1 + 2*cos(alpha)cos(beta)cos(gamma)
- cos(alpha)^2-cos(beta)^2-cos(gamma)^2 )/sin(gamma) )
where alpha is the angle between axis b and c
beta is the angle between axis a and c
gamma is the angle between axis a and b
|
Either:
celldm(i), i=1,6 |
REAL |
See: |
ibrav |
Crystallographic constants - see the ibrav variable.
Specify either these OR A,B,C,cosAB,cosBC,cosAC NOT both.
Only needed values (depending on "ibrav") must be specified
alat = celldm(1) is the lattice parameter "a" (in BOHR)
If ibrav==0, only celldm(1) is used if present;
cell vectors are read from card CELL_PARAMETERS
|
Or:
A, B, C, cosAB, cosAC, cosBC |
REAL |
See: |
ibrav |
Traditional crystallographic constants:
a,b,c in ANGSTROM
cosAB = cosine of the angle between axis a and b (gamma)
cosAC = cosine of the angle between axis a and c (beta)
cosBC = cosine of the angle between axis b and c (alpha)
The axis are chosen according to the value of ibrav.
Specify either these OR celldm but NOT both.
Only needed values (depending on ibrav) must be specified.
The lattice parameter alat = A (in ANGSTROM ).
If ibrav == 0, only A is used if present, and
cell vectors are read from card CELL_PARAMETERS.
|
|
nat |
INTEGER |
Status: |
REQUIRED
|
number of atoms in the unit cell (ALL atoms, except if
space_group is set, in which case, INEQUIVALENT atoms)
|
ntyp |
INTEGER |
Status: |
REQUIRED
|
number of types of atoms in the unit cell
|
nbnd |
INTEGER |
Default: |
for an insulator, nbnd = number of valence bands
(nbnd = # of electrons /2);
for a metal, 20% more (minimum 4 more)
|
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
|
tot_charge |
REAL |
Default: |
0.0
|
Total charge of the system. Useful for simulations with charged cells.
By default the unit cell is assumed to be neutral (tot_charge=0).
tot_charge=+1 means one electron missing from the system,
tot_charge=-1 means one additional electron, and so on.
In a periodic calculation a compensating jellium background is
inserted to remove divergences if the cell is not neutral.
|
starting_charge(i), i=1,ntyp |
REAL |
Default: |
0.0
|
starting charge on atomic type 'i',
to create starting potential with startingpot = 'atomic'.
|
tot_magnetization |
REAL |
Default: |
-1 [unspecified]
|
Total majority spin charge - 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.
|
starting_magnetization(i), i=1,ntyp |
REAL |
Default: |
0
|
Starting spin polarization on atomic type 'i' 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 variable
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 1: starting_magnetization is ignored in most BUT NOT ALL
cases in non-scf calculations: it is safe to keep the same
values for the scf and subsequent non-scf calculation.
NOTE 2: If you fix the magnetization with
tot_magnetization, do not specify starting_magnetization.
NOTE 3: 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 (the internal variable domag is set to .FALSE.).
|
ecutwfc |
REAL |
Status: |
REQUIRED
|
kinetic energy cutoff (Ry) for wavefunctions
|
ecutrho |
REAL |
Default: |
4 * ecutwfc
|
Kinetic energy cutoff (Ry) for charge density and potential
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*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.
|
ecutfock |
REAL |
Default: |
ecutrho
|
Kinetic energy cutoff (Ry) 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 .gt. 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.
|
nr1, nr2, nr3 |
INTEGER |
Three-dimensional FFT mesh (hard grid) for charge
density (and scf potential). If not specified
the grid is calculated based on the cutoff for
charge density (see also ecutrho)
Note: you must specify all three dimensions for this setting to
be used.
|
nr1s, nr2s, nr3s |
INTEGER |
Three-dimensional mesh for wavefunction FFT and for the smooth
part of charge density ( smooth grid ).
Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )
Note: you must specify all three dimensions for this setting to
be used.
|
nosym |
LOGICAL |
Default: |
.FALSE.
|
if (.TRUE.) symmetry is not used. Consequences:
- if a list of k points is provided in input, it is used
"as is": symmetry-inequivalent k-points are not generated,
and the charge density is not symmetrized;
- if a uniform (Monkhorst-Pack) k-point grid is provided in
input, it is expanded to cover the entire Brillouin Zone,
irrespective of the crystal symmetry.
Time reversal symmetry is assumed so k and -k are considered
as equivalent unless noinv=.true. is specified.
Do not use this option unless you know exactly what you want
and what you get. May be useful in the following cases:
- in low-symmetry large cells, if you cannot afford a k-point
grid with the correct symmetry
- in MD simulations
- in calculations for isolated atoms
|
nosym_evc |
LOGICAL |
Default: |
.FALSE.
|
if (.TRUE.) symmetry is not used, and k points are
forced to have the symmetry of the Bravais lattice;
an automatically generated Monkhorst-Pack grid will contain
all points of the grid over the entire Brillouin Zone,
plus the points rotated by the symmetries of the Bravais
lattice which were not in the original grid. The same
applies if a k-point list is provided in input instead
of a Monkhorst-Pack grid. Time reversal symmetry is assumed
so k and -k are equivalent unless noinv=.true. is specified.
This option differs from nosym because it forces k-points
in all cases to have the full symmetry of the Bravais lattice
(not all uniform grids have such property!)
|
noinv |
LOGICAL |
Default: |
.FALSE.
|
if (.TRUE.) disable the usage of k => -k symmetry
(time reversal) in k-point generation
|
no_t_rev |
LOGICAL |
Default: |
.FALSE.
|
if (.TRUE.) disable the usage of magnetic symmetry operations
that consist in a rotation + time reversal.
|
force_symmorphic |
LOGICAL |
Default: |
.FALSE.
|
if (.TRUE.) force the symmetry group to be symmorphic by disabling
symmetry operations having an associated fractionary translation
|
use_all_frac |
LOGICAL |
Default: |
.FALSE.
|
if (.FALSE.) force real-space FFT grids to be commensurate with
fractionary translations of non-symmorphic symmetry operations,
if present (e.g.: if a fractional translation (0,0,c/4) exists,
the FFT dimension along the c axis must be multiple of 4).
if (.TRUE.) do not impose any constraints to FFT grids, even in
the presence of non-symmorphic symmetry operations.
BEWARE: use_all_frac=.TRUE. may lead to wrong results for
hybrid functionals and phonon calculations. Both cases use
symmetrization in real space that works for non-symmorphic
operations only if the real-space FFT grids are commensurate.
|
occupations |
CHARACTER |
Available options are:
- 'smearing' :
gaussian smearing for metals;
see variables 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 card 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
- 'from_input' :
The occupation are read from input file,
card OCCUPATIONS. Option valid only for a
single k-point, requires nbnd to be set
in input. Occupations should be consistent
with the value of tot_charge.
|
one_atom_occupations |
LOGICAL |
Default: |
.FALSE.
|
This flag is used for isolated atoms (nat=1) together with
occupations='from_input'. If it is .TRUE., the wavefunctions
are ordered as the atomic starting wavefunctions, independently
from their eigenvalue. The occupations indicate which atomic
states are filled.
The order of the states is written inside the UPF pseudopotential file.
In the scalar relativistic case:
S -> l=0, m=0
P -> l=1, z, x, y
D -> l=2, r^2-3z^2, xz, yz, xy, x^2-y^2
In the noncollinear magnetic case (with or without spin-orbit),
each group of states is doubled. For instance:
P -> l=1, z, x, y for spin up, l=1, z, x, y for spin down.
Up and down is relative to the direction of the starting
magnetization.
In the case with spin-orbit and time-reversal
(starting_magnetization=0.0) the atomic wavefunctions are
radial functions multiplied by spin-angle functions.
For instance:
P -> l=1, j=1/2, m_j=-1/2,1/2. l=1, j=3/2,
m_j=-3/2, -1/2, 1/2, 3/2.
In the magnetic case with spin-orbit the atomic wavefunctions
can be forced to be spin-angle functions by setting
starting_spin_angle to .TRUE..
|
starting_spin_angle |
LOGICAL |
Default: |
.FALSE.
|
In the spin-orbit case when domag=.TRUE., by default,
the starting wavefunctions are initialized as in scalar
relativistic noncollinear case without spin-orbit.
By setting starting_spin_angle=.TRUE. this behaviour can
be changed and the initial wavefunctions are radial
functions multiplied by spin-angle functions.
When domag=.FALSE. the initial wavefunctions are always
radial functions multiplied by spin-angle functions
independently from this flag.
When lspinorb is .FALSE. this flag is not used.
|
degauss |
REAL |
Default: |
0.D0 Ry
|
value of the gaussian spreading (Ry) for brillouin-zone
integration in metals.
|
smearing |
CHARACTER |
Default: |
'gaussian'
|
Available options are:
- 'gaussian', 'gauss' :
ordinary Gaussian spreading (Default)
- 'methfessel-paxton', 'm-p', 'mp' :
Methfessel-Paxton first-order spreading
(see PRB 40, 3616 (1989)).
- 'marzari-vanderbilt', 'cold', 'm-v', 'mv' :
Marzari-Vanderbilt-DeVita-Payne cold smearing
(see PRL 82, 3296 (1999))
- 'fermi-dirac', 'f-d', 'fd' :
smearing with Fermi-Dirac function
|
nspin |
INTEGER |
Default: |
1
|
nspin = 1 : non-polarized calculation (default)
nspin = 2 : spin-polarized calculation, LSDA
(magnetization along z axis)
nspin = 4 : spin-polarized calculation, noncollinear
(magnetization in generic direction)
DO NOT specify nspin in this case;
specify noncolin=.TRUE. instead
|
noncolin |
LOGICAL |
Default: |
.false.
|
if .true. the program will perform a noncollinear calculation.
|
ecfixed |
REAL |
Default: |
0.0
|
See: |
q2sigma |
qcutz |
REAL |
Default: |
0.0
|
See: |
q2sigma |
q2sigma |
REAL |
Default: |
0.1
|
ecfixed, qcutz, q2sigma: parameters for modified functional to be
used in variable-cell molecular dynamics (or in stress calculation).
"ecfixed" is the value (in Rydberg) of the constant-cutoff;
"qcutz" and "q2sigma" are the height and the width (in Rydberg)
of the energy step for reciprocal vectors whose square modulus
is greater than "ecfixed". In the kinetic energy, G^2 is
replaced by G^2 + qcutz * (1 + erf ( (G^2 - ecfixed)/q2sigma) )
See: M. Bernasconi et al, J. Phys. Chem. Solids 56, 501 (1995),
doi:10.1016/0022-3697(94)00228-2
|
input_dft |
CHARACTER |
Default: |
read from pseudopotential files
|
Exchange-correlation functional: eg 'PBE', 'BLYP' etc
See Modules/funct.f90 for allowed values.
Overrides the value read from pseudopotential files.
Use with care and if you know what you are doing!
|
ace |
LOGICAL |
Default: |
true
|
Use Adaptively Compressed Exchange operator as in
Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092
Set to false to use standard Exchange (much slower)
|
exx_fraction |
REAL |
Default: |
it depends on the specified functional
|
Fraction of EXX for hybrid functional calculations. In the case of
input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP'
the exx_fraction default value is 0.20.
|
screening_parameter |
REAL |
Default: |
0.106
|
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
|
exxdiv_treatment |
CHARACTER |
Default: |
'gygi-baldereschi'
|
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)
|
x_gamma_extrapolation |
LOGICAL |
Default: |
.true.
|
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.
|
ecutvcut |
REAL |
Default: |
0.0 Ry
|
See: |
exxdiv_treatment |
Reciprocal space cutoff for correcting Coulomb potential
divergencies at small q vectors.
|
nqx1, nqx2, nqx3 |
INTEGER |
Three-dimensional mesh for q (k1-k2) sampling of
the Fock operator (EXX). Can be smaller than
the number of k-points.
Currently this defaults to the size of the k-point mesh used.
In QE =< 5.0.2 it defaulted to nqx1=nqx2=nqx3=1.
|
localization_thr |
REAL |
Default: |
0.0
|
Overlap threshold over which the exchange integral over a pair of localized orbitals
is included in the evaluation of EXX operator. Any value greater than 0.0 triggers
the SCDM localization and the evaluation on EXX using the localized orbitals.
Very small value of the threshold should yield the same result as the default EXX
evaluation
|
lda_plus_u |
LOGICAL |
Default: |
.FALSE.
|
Status: |
DFT+U (formerly known as LDA+U) currently works only for
a few selected elements. Modify Modules/set_hubbard_l.f90 and
PW/src/tabd.f90 if you plan to use DFT+U with an element that
is not configured there.
|
Specify lda_plus_u = .TRUE. to enable DFT+U, DFT+U+V, or DFT+U+J calculations.
See: Anisimov, Zaanen, and Andersen, PRB 44, 943 (1991);
Anisimov et al., PRB 48, 16929 (1993);
Liechtenstein, Anisimov, and Zaanen, PRB 52, R5467 (1994).
You must specify, for each Hubbard atom, the value of
U and (optionally) V, J, alpha of the Hubbard model (all in eV):
see lda_plus_u_kind, Hubbard_U, Hubbard_V,
Hubbard_J, Hubbard_alpha
|
lda_plus_u_kind |
INTEGER |
Default: |
0
|
Specifies the type of calculation:
- lda_plus_u_kind = 0 :
DFT+U simplified version of Cococcioni and de Gironcoli,
PRB 71, 035105 (2005), using Hubbard_U
- lda_plus_u_kind = 1 :
DFT+U rotationally invariant scheme of Liechtenstein et al.,
using Hubbard_U and Hubbard_J
- lda_plus_u_kind = 2 :
DFT+U+V simplified version of Campo Jr and Cococcioni,
J. Phys.: Condens. Matter 22, 055602 (2010), doi:10.1088/0953-8984/22/5/055602,
using Hubbard_V
|
Hubbard_U(i), i=1,ntyp |
REAL |
Default: |
0.D0 for all species
|
Hubbard_U(i): U parameter (eV) for species i, DFT+U calculation
|
Hubbard_J0(i), i=1,ntype |
REAL |
Default: |
0.D0 for all species
|
Hubbard_J0(i): J0 parameter (eV) for species i, DFT+U+J calculation,
see PRB 84, 115108 (2011) for details.
|
Hubbard_V(na,nb,k), (na,nb,k) = (1,1,1) ... (natx,27*natx,4)
|
REAL |
Default: |
0.D0 for all elements
|
Hubbard_V(na,nb,k): V parameters (eV) between atoms na and nb,
used in DFT+U+V calculations (only for lda_plus_u_kind=2).
The atomic indices na and nb correspond to the atomic positions
in the ATOMIC_POSITIONS card (this is not the same as Hubbard_U
which is specified for ATOMIC_SPECIES).
When na=nb, then Hubbard_V(na,na,k) is the on-site Hubbard_U
for the atom na.
natx=50 (if needed it can be changed in /Modules/parameters.f90)
The index k controls the "interaction type" (k=1 is used for the
simplest DFT+U+V calculation):
k=1 - interaction between standard orbitals (both on na and nb);
k=2 - interaction between standard (on na) and background (on nb) orbitals;
k=3 - interaction between background orbitals (both on na and nb);
k=4 - interaction between background (on na) and standard (on nb) orbitals.
Standard orbitals correspond to the main Hubbard channel (e.g. d electrons
in transition metals) and background orbitals correspond to the secondary
Hubbard channel (e.g. p electrons in transition metals).
|
Hubbard_alpha(i), i=1,ntyp |
REAL |
Default: |
0.D0 for all species
|
Hubbard_alpha(i) is the perturbation (on atom i, in eV)
used to compute U (and V) with the linear-response method of
Cococcioni and de Gironcoli, PRB 71, 035105 (2005)
(only for lda_plus_u_kind=0 and 2).
Note: Hubbard U and V can be computed using the HP code
which is based on density-functional perturbation theory,
and it gives exactly the same result as the method of
Cococcioni and de Gironcoli.
|
Hubbard_beta(i), i=1,ntyp |
REAL |
Default: |
0.D0 for all species
|
Hubbard_beta(i) is the perturbation (on atom i, in eV)
used to compute J0 with the linear-response method of
Cococcioni and de Gironcoli, PRB 71, 035105 (2005)
(only for lda_plus_u_kind=0 and 2). See also
PRB 84, 115108 (2011).
|
Hubbard_J(i,ityp), (i,ityp) = (1,1) ... (3,ntyp)
|
REAL |
Default: |
0.D0 for all species
|
Hubbard_J(i,ityp): J parameters (eV) for species ityp,
used in DFT+U calculations (only for lda_plus_u_kind=1)
For p orbitals: J = Hubbard_J(1,ityp);
For d orbitals: J = Hubbard_J(1,ityp), B = Hubbard_J(2,ityp);
For f orbitals: J = Hubbard_J(1,ityp), E2 = Hubbard_J(2,ityp),
E3= Hubbard_J(3,ityp).
If B or E2 or E3 are not specified or set to 0 they will be
calculated from J using atomic ratios.
|
starting_ns_eigenvalue(m,ispin,ityp), (m,ispin,ityp) = (1,1,1) ... (2*lmax+1,nspin or npol,ntyp)
|
REAL |
Default: |
-1.d0 that means NOT SET
|
In the first iteration of an DFT+U run it overwrites
the m-th eigenvalue of the ns occupation matrix for the
ispin component of atomic species ityp.
For the noncollinear case, the ispin index runs up to npol=2
The value lmax is given by the maximum angular momentum
number to which the Hubbard U is applied.
Leave unchanged eigenvalues that are not set.
This is useful to suggest the desired orbital occupations
when the default choice takes another path.
|
U_projection_type |
CHARACTER |
Default: |
'atomic'
|
Only active when lda_plus_U is .true., specifies the type
of projector on localized orbital to be used in the DFT+U
scheme.
Currently available choices:
- 'atomic' :
use atomic wfc's (as they are) to build the projector
- 'ortho-atomic' :
use Lowdin orthogonalized atomic wfc's
- 'norm-atomic' :
Lowdin normalization of atomic wfc. Keep in mind:
atomic wfc are not orthogonalized in this case.
This is a "quick and dirty" trick to be used when
atomic wfc from the pseudopotential are not
normalized (and thus produce occupation whose
value exceeds unity). If orthogonalized wfc are
not needed always try 'atomic' first.
- 'file' :
use the information from file "prefix".atwfc that must
have been generated previously, for instance by pmw.x
(see PP/src/poormanwannier.f90 for details).
- 'pseudo' :
use the pseudopotential projectors. The charge density
outside the atomic core radii is excluded.
N.B.: for atoms with +U, a pseudopotential with the
all-electron atomic wavefunctions is required (i.e.,
as generated by ld1.x with lsave_wfc flag).
NB: forces and stress currently implemented only for the
'atomic' and 'pseudo' choice.
|
Hubbard_parameters |
CHARACTER |
Default: |
'input'
|
Available choices:
- 'input' :
read the Hubbard_U (or Hubbard_V) parameters from
the PW input file
- 'file' :
read the Hubbard_V parameters from the file "parameters.in"
which can be generated after the linear-response calculation
(using the HP code). This option has a higher priority over
the Hubbard_V if they are specified in the input. This option
can be used only when lda_plus_u_kind = 2.
|
ensemble_energies |
LOGICAL |
Default: |
.false.
|
If ensemble_energies = .true., an ensemble of xc energies
is calculated non-selfconsistently for perturbed
exchange-enhancement factors and LDA vs. PBE correlation
ratios after each converged electronic ground state
calculation.
Ensemble energies can be analyzed with the 'bee' utility
included with libbeef.
Requires linking against libbeef.
input_dft must be set to a BEEF-type functional
(e.g. input_dft = 'BEEF-vdW')
|
edir |
INTEGER |
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;
edir = 1, 2 or 3. Used only if tefield is .TRUE.
|
emaxpos |
REAL |
Default: |
0.5D0
|
Position of the maximum of the saw-like potential along crystal
axis edir, within the unit cell (see below), 0 < emaxpos < 1
Used only if tefield is .TRUE.
|
eopreg |
REAL |
Default: |
0.1D0
|
Zone in the unit cell where the saw-like potential decreases.
( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE.
|
eamp |
REAL |
Default: |
0.001 a.u.
|
Amplitude of the electric field, in ***Hartree*** a.u.;
1 a.u. = 51.4220632*10^10 V/m. Used only if tefield==.TRUE.
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.
|
angle1(i), i=1,ntyp |
REAL |
The angle expressed in degrees between the initial
magnetization and the z-axis. For noncollinear calculations
only; index i runs over the atom types.
|
angle2(i), i=1,ntyp |
REAL |
The angle expressed in degrees between the projection
of the initial magnetization on x-y plane and the x-axis.
For noncollinear calculations only.
|
lforcet |
LOGICAL |
When starting a non collinear calculation using an existing density
file from a collinear lsda calculation assumes previous density points in
z direction and rotates it in the direction described by angle1 and
angle2 variables for atomic type 1
|
constrained_magnetization |
CHARACTER |
Default: |
'none'
|
See: |
lambda, fixed_magnetization
|
Used to perform constrained calculations in magnetic systems.
Currently available choices:
- 'none' :
no constraint
- 'total' :
total magnetization is constrained by
adding a penalty functional to the total energy:
LAMBDA * SUM_{i} ( magnetization(i) - fixed_magnetization(i) )**2
where the sum over i runs over the three components of
the magnetization. Lambda is a real number (see below).
Noncolinear case only. Use tot_magnetization for LSDA
- 'atomic' :
atomic magnetization are constrained to the defined
starting magnetization adding a penalty:
LAMBDA * SUM_{i,itype} ( magnetic_moment(i,itype) - mcons(i,itype) )**2
where i runs over the cartesian components (or just z
in the collinear case) and itype over the types (1-ntype).
mcons(:,:) array is defined from starting_magnetization,
(also from angle1, angle2 in the noncollinear case).
lambda is a real number
- 'total direction' :
the angle theta of the total magnetization
with the z axis (theta = fixed_magnetization(3))
is constrained:
LAMBDA * ( arccos(magnetization(3)/mag_tot) - theta )**2
where mag_tot is the modulus of the total magnetization.
- 'atomic direction' :
not all the components of the atomic
magnetic moment are constrained but only the cosine
of angle1, and the penalty functional is:
LAMBDA * SUM_{itype} ( mag_mom(3,itype)/mag_mom_tot - cos(angle1(ityp)) )**2
N.B.: symmetrization may prevent to reach the desired orientation
of the magnetization. Try not to start with very highly symmetric
configurations or use the nosym flag (only as a last remedy)
|
lambda |
REAL |
Default: |
1.d0
|
See: |
constrained_magnetization |
parameter used for constrained_magnetization calculations
N.B.: if the scf calculation does not converge, try to reduce lambda
to obtain convergence, then restart the run with a larger lambda
|
report |
INTEGER |
Default: |
-1
|
determines when atomic magnetic moments are printed on output:
report = 0 never
report =-1 at the beginning of the scf and at convergence
report = N as -1, plus every N scf iterations
|
lspinorb |
LOGICAL |
if .TRUE. the noncollinear code can use a pseudopotential with
spin-orbit.
|
assume_isolated |
CHARACTER |
Default: |
'none'
|
Used to perform calculation assuming the system to be
isolated (a molecule or a cluster in a 3D supercell).
Currently available choices:
- 'none' :
(default): regular periodic calculation w/o any correction.
- 'makov-payne', 'm-p', 'mp' :
the Makov-Payne correction to the
total energy is computed. An estimate of the vacuum
level is also calculated so that eigenvalues can be
properly aligned. ONLY FOR CUBIC SYSTEMS (ibrav=1,2,3).
Theory: G.Makov, and M.C.Payne,
"Periodic boundary conditions in ab initio
calculations" , PRB 51, 4014 (1995).
- 'martyna-tuckerman', 'm-t', 'mt' :
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).
NB:
- Two dimensional (xy plane) average charge density
and electrostatic potentials are printed out to
'prefix.esm1'.
- Requires cell with a_3 lattice vector along z,
normal to the xy plane, with the slab centered
around z=0.
- For bc2 with an electric field and bc3 boundary
conditions, the inversion symmetry along z-direction
is automatically eliminated.
- In case of calculation='vc-relax', use
cell_dofree='2Dxy' or other parameters so that
c-vector along z-axis should not be moved.
See esm_bc, esm_efield, esm_w, esm_nfit.
- '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.
Physical Review B, 96(7), 75448. https://doi.org/10.1103/PhysRevB.96.075448
NB:
- The length of the unit-cell along the z direction should
be larger than twice the thickness of the 2D material
(including electrons). A reasonable estimate for a
layer's thickness could be the interlayer distance in the
corresponding layered bulk material. Otherwise,
the atomic thickness + 10 bohr should be a safe estimate.
There is also a lower limit of 20 bohr imposed by the cutoff
radius used to read pseudopotentials (see read_pseudo.f90 in Modules).
- As for ESM above, only in-plane stresses make sense and one
should use cell_dofree='2Dxy' in a vc-relax calculation.
|
esm_bc |
CHARACTER |
Default: |
'pbc'
|
See: |
assume_isolated |
If assume_isolated = 'esm', determines the boundary
conditions used for either side of the slab.
Currently available choices:
- 'pbc' :
(default): regular periodic calculation (no ESM).
- 'bc1' :
Vacuum-slab-vacuum (open boundary conditions).
- 'bc2' :
Metal-slab-metal (dual electrode configuration).
See also esm_efield.
- 'bc3' :
Vacuum-slab-metal
|
esm_w |
REAL |
Default: |
0.d0
|
See: |
assume_isolated |
If assume_isolated = 'esm', determines the position offset
[in a.u.] of the start of the effective screening region,
measured relative to the cell edge. (ESM region begins at
z = +/- [L_z/2 + esm_w] ).
|
esm_efield |
REAL |
Default: |
0.d0
|
See: |
assume_isolated |
If assume_isolated = 'esm' and esm_bc = 'bc2', gives the
magnitude of the electric field [Ry/a.u.] to be applied
between semi-infinite ESM electrodes.
|
esm_nfit |
INTEGER |
Default: |
4
|
See: |
assume_isolated |
If assume_isolated = 'esm', gives the number of z-grid points
for the polynomial fit along the cell edge.
|
lgcscf |
LOGICAL |
Default: |
.FALSE.
|
If .TRUE. perform a constant bias potential (constant-mu) calculation
with Grand-Canonical SCF. (JCP 146, 114104 (2017), R.Sundararaman, et al.)
NB:
- The total energy displayed in output includes the potentiostat
contribution (-mu*N).
- assume_isolated = 'esm' and esm_bc = 'bc2' or 'bc3' must be set
in SYSTEM namelist.
- ESM-RISM is also supported (assume_isolated = 'esm' and esm_bc = 'bc1'
and trism = .TRUE.).
- mixing_mode has to be 'TF' or 'local-TF', also its default is 'TF.'
- The default of mixing_beta is 0.1 with ESM-RISM, 0.2 without ESM-RISM.
- The default of diago_thr_init is 1.D-5.
- diago_full_acc is always .TRUE. .
- diago_rmm_conv is always .TRUE. .
|
gcscf_mu |
REAL |
Status: |
REQUIRED
|
The target Fermi energy (eV) of GC-SCF. One can start
with appropriate total charge of the system by giving tot_charge .
|
gcscf_conv_thr |
REAL |
Default: |
1.D-2
|
Convergence threshold of Fermi energy (eV) for GC-SCF.
|
gcscf_beta |
REAL |
Default: |
0.05D0
|
Mixing factor for GC-SCF.
Larger values are recommended,
if systems with small DOS on Fermi surface as graphite.
|
vdw_corr |
CHARACTER |
Default: |
'none'
|
See: |
london_s6, london_rcut, london_c6, london_rvdw, dftd3_version, dftd3_threebody, ts_vdw_econv_thr, ts_vdw_isolated, xdm_a1, xdm_a2, mbd_vdw
|
Type of Van der Waals correction. Allowed values:
- 'grimme-d2', 'Grimme-D2', 'DFT-D', 'dft-d' :
Semiempirical Grimme's DFT-D2. Optional variables:
london_s6, london_rcut, london_c6, london_rvdw
S. Grimme, J. Comp. Chem. 27, 1787 (2006), doi:10.1002/jcc.20495
V. Barone et al., J. Comp. Chem. 30, 934 (2009), doi:10.1002/jcc.21112
- 'grimme-d3', 'Grimme-D3', 'DFT-D3', 'dft-d3' :
Semiempirical Grimme's DFT-D3. Optional variables:
dftd3_version, dftd3_threebody
S. Grimme et al, J. Chem. Phys 132, 154104 (2010), doi:10.1063/1.3382344
- 'TS', 'ts', 'ts-vdw', 'ts-vdW', 'tkatchenko-scheffler' :
Tkatchenko-Scheffler dispersion corrections with first-principle derived
C6 coefficients.
Optional variables: ts_vdw_econv_thr, ts_vdw_isolated
See A. Tkatchenko and M. Scheffler, PRL 102, 073005 (2009).
- 'mbd_vdw', 'many-body dispersion' :
Many-body dipersion (MBD) correction to long-range interactions.
Optional variables: ts_vdw_isolated
A. Ambrosetti, A. M. Reilly, R. A. DiStasio, A. Tkatchenko, J. Chem. Phys. 140
18A508 (2014).
- 'XDM', 'xdm' :
Exchange-hole dipole-moment model. Optional variables: xdm_a1, xdm_a2
A. D. Becke et al., J. Chem. Phys. 127, 154108 (2007), doi:10.1063/1.2795701
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 in input_dft
|
london |
LOGICAL |
Default: |
.FALSE.
|
Status: |
OBSOLESCENT, same as vdw_corr='DFT-D'
|
london_s6 |
REAL |
Default: |
0.75
|
global scaling parameter for DFT-D. Default is good for PBE.
|
london_c6(i), i=1,ntyp |
REAL |
Default: |
standard Grimme-D2 values
|
atomic C6 coefficient of each atom type
( if not specified default values from S. Grimme, J. Comp. Chem. 27, 1787 (2006),
doi:10.1002/jcc.20495 are used; see file Modules/mm_dispersion.f90 )
|
london_rvdw(i), i=1,ntyp |
REAL |
Default: |
standard Grimme-D2 values
|
atomic vdw radii of each atom type
( if not specified default values from S. Grimme, J. Comp. Chem. 27, 1787 (2006),
doi:10.1002/jcc.20495 are used; see file Modules/mm_dispersion.f90 )
|
london_rcut |
REAL |
Default: |
200
|
cutoff radius (a.u.) for dispersion interactions
|
dftd3_version |
integer |
Default: |
3
|
Version of Grimme implementation of Grimme-D3:
- dftd3_version = 2 :
Original Grimme-D2 parametrization
- dftd3_version = 3 :
Grimme-D3 (zero damping)
- dftd3_version = 4 :
Grimme-D3 (BJ damping)
- dftd3_version = 5 :
Grimme-D3M (zero damping)
- dftd3_version = 6 :
Grimme-D3M (BJ damping)
NOTE: not all functionals are parametrized.
|
dftd3_threebody |
LOGICAL |
Default: |
TRUE
|
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=2, three-body contribution is always disabled.
|
ts_vdw_econv_thr |
REAL |
Default: |
1.D-6
|
Optional: controls the convergence of the vdW energy (and forces). The default value
is a safe choice, likely too safe, but you do not gain much in increasing it
|
ts_vdw_isolated |
LOGICAL |
Default: |
.FALSE.
|
Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the
Many-Body dispersion (MBD) energy for an isolated (non-periodic) system.
|
xdm |
LOGICAL |
Default: |
.FALSE.
|
Status: |
OBSOLESCENT, same as vdw_corr='xdm'
|
xdm_a1 |
REAL |
Default: |
0.6836
|
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 |
REAL |
Default: |
1.5045
|
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
|
space_group |
INTEGER |
Default: |
0
|
The number of the space group of the crystal, as given
in the International Tables of Crystallography A (ITA).
This allows to give in input only the inequivalent atomic
positions. The positions of all the symmetry equivalent atoms
are calculated by the code. Used only when the atomic positions
are of type crystal_sg. See also uniqueb,
origin_choice, rhombohedral
|
uniqueb |
LOGICAL |
Default: |
.FALSE.
|
Used only for monoclinic lattices. If .TRUE. the b
unique ibrav (-12 or -13) are used, and symmetry
equivalent positions are chosen assuming that the
twofold axis or the mirror normal is parallel to the
b axis. If .FALSE. it is parallel to the c axis.
|
origin_choice |
INTEGER |
Default: |
1
|
Used only for space groups that in the ITA allow
the use of two different origins. origin_choice=1,
means the first origin, while origin_choice=2 is the
second origin.
|
rhombohedral |
LOGICAL |
Default: |
.TRUE.
|
Used only for rhombohedral space groups.
When .TRUE. the coordinates of the inequivalent atoms are
given with respect to the rhombohedral axes, when .FALSE.
the coordinates of the inequivalent atoms are given with
respect to the hexagonal axes. They are converted internally
to the rhombohedral axes and ibrav=5 is used in both cases.
|
variables used only if gate = .TRUE.
zgate |
REAL |
Default: |
0.5
|
used only if gate = .TRUE.
Specifies the position of the charged plate which represents
the counter charge in doped systems (tot_charge .ne. 0).
In units of the unit cell length in z direction, zgate in ]0,1[
Details of the gate potential can be found in
T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014).
|
relaxz |
LOGICAL |
Default: |
.FALSE.
|
used only if gate = .TRUE.
Allows the relaxation of the system towards the charged plate.
Use carefully and utilize either a layer of fixed atoms or a
potential barrier (block=.TRUE.) to avoid the atoms moving to
the position of the plate or the dipole of the dipole
correction (dipfield=.TRUE.).
|
block |
LOGICAL |
Default: |
.FALSE.
|
used only if gate = .TRUE.
Adds a potential barrier to the total potential seen by the
electrons to mimic a dielectric in field effect configuration
and/or to avoid electrons spilling into the vacuum region for
electron doping. Potential barrier is from block_1 to block_2 and
has a height of block_height.
If dipfield = .TRUE. then eopreg is used for a smooth increase and
decrease of the potential barrier.
|
block_1 |
REAL |
Default: |
0.45
|
used only if gate = .TRUE. and block = .TRUE.
lower beginning of the potential barrier, in units of the
unit cell size along z, block_1 in ]0,1[
|
block_2 |
REAL |
Default: |
0.55
|
used only if gate = .TRUE. and block = .TRUE.
upper beginning of the potential barrier, in units of the
unit cell size along z, block_2 in ]0,1[
|
block_height |
REAL |
Default: |
0.1
|
used only if gate = .TRUE. and block = .TRUE.
Height of the potential barrier in Rydberg.
|
|
|
|
0 Comments