Next: 3.4 Optimization and dynamics
Up: 3 Using PWscf
Previous: 3.2 Data files
Contents
Subsections
Set calculation='scf' (this is actually the default).
Namelists &IONS and &CELL will be ignored. For LSDA spin-polarized
calculations (that is: with a fixed quantization axis for magnetization),
set nspin=2. Note that the number of k-points will be internally
doubled (one set of k-points for spin-up, one set for spin-down).
See example 1 (that is: PW/examples/example01).
First perform a SCF calculation as above;
then do a non-SCF calculation (at fixed potential, computed in the
previous step) with the desired k-point grid and number nbnd
of bands.
Use calculation='bands' if you are interested in calculating
only the Kohn-Sham states for the given set of k-points
(e.g. along symmetry lines: see for instance
http://www.cryst.ehu.es/cryst/get_kvec.html). Specify instead
calculation='nscf' if you are interested in further processing
of the results of non-SCF calculations (for instance, in DOS calculations).
In the latter case, you should specify a uniform grid of points.
For DOS calculations you should choose occupations='tetrahedra',
together with an automatically generated uniform k-point grid
(card K_POINTS with option ``automatic'').
Specify nosym=.true. to avoid generation of additional k-points in
low-symmetry cases. Variables prefix and outdir, which
determine
the names of input or output files, should be the same in the two runs.
See examples 1, 6, 7.
NOTA BENE: in non-scf calculations, the atomic positions are read by
default from the data file of the scf step, not from input.
The following input variables are relevant for noncollinear and
spin-orbit calculations:
noncolin
lspinorb
starting_magnetization (one for each type of atoms)
To make a spin-orbit calculation both noncolin and
lspinorb must be true. Furthermore you must use fully
relativistic pseudopotentials at least for one atom. If all
pseudopotentials are scalar-relativistic, the calculation is
noncollinear but there is no spin-orbit coupling.
If starting_magnetization is set to zero (or not given)
the code makes a spin-orbit calculation without spin magnetization
(it assumes that time reversal symmetry holds and it does not calculate
the magnetization). The states are still two-component spinors but the
total magnetization is zero.
If starting_magnetization is different from zero, the code makes a
noncollinear spin polarized calculation with spin-orbit interaction. The
final spin magnetization might be zero or different from zero depending
on the system. Note that the code will look only for symmetries that leave
the starting magnetization unchanged.
See example 6 for noncollinear magnetism, example 7 (and references
quoted therein) for spin-orbit interactions.
DFT+U (formerly known as LDA+U) calculation can be
performed within a simplified rotationally invariant form
of the U Hubbard correction. Note that for all atoms having
a U value there should be an item in function
Modules/set_hubbard_l.f90 and one in
subroutine PW/src/tabd.f90, defining respectively
the angular momentum and the occupancy of the orbitals with
the Hubbard correction. If your Hubbard-corrected atoms are not
there, you need to edit these files and to recompile.
See example 8 and its README.
For DFT-D (DFT + semiempirical dispersion interactions), see the
description of input variable vdw_corr and related
input variables; sample input files can be found in
test-suite/pw_vdw/vdw-d*.in. For DFT-D2, see also the
comments in source file Modules/mm_dispersion.f90.
For DFT-D3, see the README in the dft-d3/ directory.
Hybrid functionals do not require anything special to be done,
but note that: 1) they are much slower than plain GGA calculations,
2) non-scf and band calculations are not presently implemented, and
3) there are no pseudopotentials generated for hybrid functionals.
See EXX_example/ and its README file, and tests
pw_b3lyp, pw_pbe, pw_hse.
See example vdwDF_example, references quoted in file
README therein, tests pw_vdW.
See example 4, its file README, the documentation in the header of
PW/src/bp_c_phase.f90.
There are two different implementations of macroscopic electric fields
in pw.x: via an external sawtooth potential (input variable
tefield=.true.) and via the modern theory of polarizability
(lelfield=.true.).
The former is useful for surfaces, especially in conjunction
with dipolar corrections (dipfield=.true.):
see the web page – courtesy Christoph Wolf –
https://christoph-wolf.at/tag/dipfield, and
PP/examples/dipole_example for an example of application.
Electric fields via modern theory of polarization are documented in
example 10. The exact meaning of the related variables, for both
cases, is explained in the general input documentation.
Modern theory of orbital magnetization [Phys. Rev. Lett. 95, 137205 (2005)]
for insulators. The calculation is performed by setting
input variable lorbm=.true. in nscf run. If finite electric field
is present (lelfield=.true.) only Kubo terms are computed
[see New J. Phys. 12, 053032 (2010) for details].
Next: 3.4 Optimization and dynamics
Up: 3 Using PWscf
Previous: 3.2 Data files
Contents