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. See Example 01.
First perform a SCF calculation as above;
then do a non-SCF calculation 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 01, 06, 07,
NOTA BENE: Since v.4.1, both atomic positions
and the scf
potential are read from the data file so that consistency is guaranteed.
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 noncolin must be true.
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, it 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.
Furthermore to make a spin-orbit calculation you must use fully
relativistic pseudopotentials at least for the atoms in which you
think that spin-orbit interaction is large. If all the pseudopotentials
are scalar
relativistic the calculation becomes equivalent to a noncollinear
calculation without spin orbit. (Andrea Dal Corso, 2007-07-27)
See Example 06 for noncollinear magnetism, Example 07 (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
flib/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 08 and its README.
For DFT-D (DFT + semiempirical dispersion interactions), see the
description of input variables london*, sample files
PW/tests/vdw.*, and the comments in source file
Modules/mm_dispersion.f90.
Since v.5.0, calculations in the Hartree-Fock approximation, or using
hybrid XC functionals that include some Hartree-Fock exchange, no longer
require a special preprocessing before compilation.
See EXX_example/ and its README file.
See example vdwDF_example
and references
quoted in file README therein.
See Example 04, 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 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
Filippo Spiga
2015-09-24