Commit 54e3d395 authored by anoop chandran's avatar anoop chandran
Browse files

add new parts and error correction

parent 6e95bcba
......@@ -4,4 +4,148 @@
Basis sets
===================
TODO
LAPW basis
==============
The reader is supposed to be familiar with the LAPW basis set. This section is intended as a short recapitulation and to define the notation used in the manual.
The LAPW method relies on a partitioning of space into non-overlapping MT spheres centered at the atomic nuclei and the interstitial region. The basis functions are defined differently in the two regions, plane waves in the interstitial and numerical functions in the spheres, consisting of a radial part :math:`{u_{lp}^a(r)}` (:math:`{a}` is the atomic index) and the spherical harmonics :math:`{Y_{lm}(\hat{\mathbf{r}})}`. :math:`{p}` is an index to distinguish different types of radial functions: :math:`{u_{l0}^a=u_l^a}`, :math:`{\,u_{l1}^a=\dot{u}_l^a=\partial u_l^a/\partial\epsilon}`, :math:`{\,u_{lp}^a=u_l^{a,\mathrm{LO}},\,p\ge 2}`, where we have used the usual notation of LAPW. Augmented plane waves are formed by matching linear combinations of the :math:`{u}` and :math:`{\dot{u}}` to the interstitial plane waves, forming the standard LAPW basis set. Local orbitals :math:`{u^\mathrm{LO}}` can be used to extend the basis set, to enable the description of semicore and high-lying conduction states. The plane waves and the angular part of the MT functions can be converged straightforwardly with the reciprocal cutoff radius :math:`{g_\mathrm{max}}` and the maximal l quantum number :math:`{l_\mathrm{max}}`, respectively, whereas the radial part of the MT functions is more difficult to converge.
MTACCUR
--------
(*) The accuracy of the radial MT basis can be analyzed with the keyword ``MTACCUR e1 e2``, which gives the MT representation error [Phys. Rev. B 83, 081101] in the energy range between ``e1`` and ``e2``. (If unspecified, ``e1`` and ``e2`` are chosen automatically.) The results are written to the output files ``spex.mt.t`` where ``t`` is the atom type index, or ``spex.mt.s.t`` with the spin index ``s(=1 or 2)`` for spin-polarized calculations. The files contain sets of data for all l quantum numbers, which can be plotted separately with gnuplot (e.g., ``plot "spex.mt.1" i 3`` for :math:`{l=3}`).
+----------+------------------+--------------------------------------+
| Examples | ``MTACCUR -1 2`` | | Calculate MT representation error |
| | | | between -1 and 2 Hartree. |
+----------+------------------+--------------------------------------+
| | ``MTACCUR`` | Automatic energy range. |
+----------+------------------+--------------------------------------+
Mixed product basis [[#MPB]]
============================
The methods implemented in Spex distinguish themselves from conventional DFT with local or semilocal functionals by the fact that individual two-particle scattering processes are described explicitly. In such processes, the state of an incoming particle and the state that it scatters into form products of wave functions. Many of the physical quantities, such as the Coulomb interaction, the polarization function, and the dielectric function, become matrices when represented in a suitable product basis. In the context of the FLAPW method, the mixed product basis is an optimal choice. It consists of two separate sets of functions that are defined only in one of the spatial regions, while being zero in the other, the first is defined by products of the LAPW MT functions and the second by interstitial plane waves. (The products of plane waves are plane waves again.) The corresponding parameters are defined in the section ``MBASIS`` of the input file.
GCUT (MBASIS)
---------------
If :math:`{N}` is the number of LAPW basis functions, one would naively expect the number of product functions to be roughly :math:`{N^2}`. In the case of the interstitial plane waves, this is not so, since, with a cutoff :math:`{g_\mathrm{max}}`, the maximum momentum of the product would be :math:`{2g_\mathrm{max}}`, leading to :math:`{8N}` as the number of product plane waves. Fortunately, it turns out that the basis size can be much smaller in practice. Therefore, we introduce a reciprocal cutoff radius :math:`{G_\mathrm{max}}` for the interstitial plane waves and find that, instead of :math:`{G_\mathrm{max}=2g_\mathrm{max}}`, good convergence is achieved already with :math:`{G_\mathrm{max}=0.75g_\mathrm{max}}`, the default value. The parameter :math:`{G_\mathrm{max}}` can be set to a different value with the keyword ``GCUT`` in the section ``MBASIS`` of the input file.
+---------+--------------+--+------------------------------------------------+
| Example | ``GCUT 2.9`` | | Use a reciprocal cutoff radius of 2.9 |
| | | | :math:`Bohr^{-1}` for the product plane waves. |
+---------+--------------+--+------------------------------------------------+
LCUT (MBASIS) [[#LCUT]]
-----------------------
The MT functions are constructed from the products :math:`{u_{lp}^a(r)Y_{lm}(\hat{\mathbf{r}})u_{l'p'}^a(r)Y_{l'm'}(\hat{\mathbf{r}})}`. (Obviously, the atom index :math:`{a}` must be indentical.) The product of spherical harmonics exands into a linear combination of :math:`{Y_{LM}(\hat{\mathbf{r}})}` with :math:`{L=|l-l'|,...,l+l'}` and :math:`{|M|\le L}`. In principle, this leads to a cutoff of :math:`{2l_\mathrm{max}}` for the products, but, as with the plane waves, one can afford to use a much smaller cutoff parameter in practice. We use :math:`{L_\mathrm{max}=l_\mathrm{max}/2}` as the default. The corresponding keyword in the input file is called ``LCUT``.
+---------+--------------+------------------------------------------------------------+
| Example | ``LCUT 5 4`` | Use l cutoffs of 5 and 4 for two atom types in the system. |
+---------+--------------+------------------------------------------------------------+
SELECT (MBASIS)
----------------
In the LAPW basis, the matching conditions at the MT boundaries require large :math:`{l}` cutoff radii, typically around :math:`{l=10}`, giving a correspondingly large number of radial functions. Not all of these functions must be considered in the product basis set. The keyword ``SELECT`` enables a specific choice of the radial functions. When specified, an entry for each atom type is required. The default is ``l;l+1`` with ``l`` being the ``LCUT``. The best way to describe the syntax of ``SELECT`` is with examples:
+----------+--------------------------------+------------------------------------------------------------------------------------------------------------------+
| Examples | ``SELECT 2;3`` | | Use products of :math:`{u_{lp} u_{l'p'}}` with :math:`{l\le 2}` and :math:`{l'\le 3}` |
| | | | for :math:`{p=0}` (so-called :math:`{u}`) and no function of :math:`{p=1}` (so-called :math:`{\dot{u}}`). |
+----------+--------------------------------+------------------------------------------------------------------------------------------------------------------+
| | ``SELECT 2,1;3,2`` | | Same as before but also include the :math:`{\dot{u}}` functions with :math:`{l\le 2}` and :math:`{l'\le 3}`. |
+----------+--------------------------------+------------------------------------------------------------------------------------------------------------------+
| | ``SELECT 2,,1100;3,,1111`` | | Same as first line but also include the local orbitals |
| | | | :math:`{p\ge 2}`, which are selected (deselected) by "1" ("0"): |
| | | | here, the first two and all four LOs, respectively. The default behavior is |
| | | | to include semicore LOs but to exclude the ones at higher energies. |
+----------+--------------------------------+------------------------------------------------------------------------------------------------------------------+
| | ``SELECT 2,1,1100;3,2,1111`` | | Same as second line with the LOs. |
+----------+--------------------------------+------------------------------------------------------------------------------------------------------------------+
The LOs are selected by series of 1s and 0s. If there are many LOs, a definition like ``0000111`` can be abbreviated to ``4031`` (four times ``0``, three times ``1``). It is important to note that the wave-function products that must be represented consist mostly of occupied-unoccupied pairs. So, the first set of parameters before the semicolon refers to the occupied state, the set after the semicolon refers to the unoccupied state.
TOL (MBASIS)
------------------
(*) The set of MT products selected by ``SELECT`` can still be highly linearly dependent. Therefore, in a subsequent optimization step one diagonalizes the MT overlap matrix and retains only those eigenfunctions whose eigenvalues exceed a predefined tolerance value. This tolerance is 0.0001 by default and can be changed with the keyword ``TOL`` in the input file.
+---------+-----------------+-------------------------------------------------------------------------------+
| Example | ``TOL 0.00001`` | Remove linear dependencies that fall below a tolerance of 0.00001 (see text). |
+---------+-----------------+-------------------------------------------------------------------------------+
OPTIMIZE (MBASIS)
-----------------
The mixed product basis can still be quite large. In the calculation of the screened interaction, each matrix element, when represented in the basis of Coulomb eigenfunctions, is multiplied by :math:`{\sqrt{v_\mu v_\nu}}` with the Coulomb eigenvalues :math:`{\{v_\mu\}}`. This gives an opportunity for reducing the basis-set size further by introducing a Coulomb cutoff :math:`{v_\mathrm{min}}`. The reduced basis set is then used for the polarization function, the dielectric function, and the screened interaction. The parameter :math:`{v_\mathrm{min}}` can be specified after the keyword ``OPTIMIZE MB`` in three ways: first, as a "pseudo" reciprocal cutoff radius :math:`{\sqrt{4\pi/v_\mathrm{min}}}` (which derives from the plane-wave Coulomb eigenvalues :math:`{v_\mathbf{G}=4\pi/G^2}), second, directly as the parameter :math:`{v_\mathrm{min}}` by using a negative real number, and, finally, as the number of basis functions that should be retained when given as an integer. The so-defined basis functions are mathematically close to plane waves. For testing purposes, one can also enforce the usage of plane waves (or rather projections onto plane waves) with the keyword ``OPTIMIZE PW``, in which case the Coulomb matrix is known analytically. No optimization of the basis is applied, if ``OPTIMIZE`` is omitted.
+----------+-----------------------+-------------------------------------------------------------------------------------------------------------+
| Examples | ``OPTIMIZE MB 4.0`` | Optimize the mixed product basis by removing eigenfunctions with eigenvalues below ``4\pi/4.5^2``. |
+----------+-----------------------+-------------------------------------------------------------------------------------------------------------+
| | ``OPTIMIZE MB -0.05`` | Optimize the mixed product basis by removing eigenfunctions with eigenvalues below ``0.05``. |
+----------+-----------------------+-------------------------------------------------------------------------------------------------------------+
| | ``OPTIMIZE MB 80`` | Retain only the eigenfunctions with the 80 largest eigenvalues. |
+----------+-----------------------+-------------------------------------------------------------------------------------------------------------+
| | ``OPTIMIZE PW 4.5`` | Use projected plane waves with the cutoff ``4.5 \mathrm{Bohr}^{-1}`` (for testing only, can be quite slow). |
+----------+-----------------------+-------------------------------------------------------------------------------------------------------------+
In summary, there are a number of parameters that influence the accuracy of the basis set. Whenever a new physical system is investigated, it is recommendable to converge the basis set for that system. The parameters to consider in this respect are ``GCUT``, ``LCUT``, ``SELECT``, and ``OPTIMIZE``.
Finally, we show a section ``MBASIS`` for a system with three atom types as an example
.. code-block:: bash
SECTION MBASIS
GCUT 3.0
LCUT 5 4 4
SELECT 3,2;4;2 2;3 2;3
TOL 0.0001
OPTIMIZE MB 4.5
END
NOAPW (MBASIS)
--------------
(*) By default, Spex constructs augmented plane waves from the mixed product basis in a similar way as in the LAPW approach. In this way, the unphysical "step" at the MT sphere boundaries is avoided. It also leads to a further reduction of the basis set without compromising accuracy. This APW construction can be avoided with the keyword ``NOAPW``.
ADDBAS (MBASIS)
------------------
(*) This keyword augments the mixed product basis by the radial :math:`{u_{lp}}` functions, the :math:`{l}` and :math:`{p}` parameters are according to first part of the ``SELECT`` definition. This improves the basis convergence for COHSEX calculations.
CHKPROD (MBASIS)
-----------------
(*) Checks the accuracy of the MT product basis.
WFADJUST (MBASIS)
------------------
(**) Removes wavefunction coefficients belonging to radial functions that are not used to construct the MT product basis. (Currently the coefficients are actually not removed from the memory.)
FFT (WFPROD)
--------------
When the interaction potential is represented in the mixed product basis, the coupling to the single-particle states involve projections of the form
:math:`{\langle M_{\mathbf{k}\mu} \phi_{\mathbf{q}n} | \phi_{\mathbf{k+q}n'} \rangle\,.}`
The calculation of these projections can be quite expensive. Therefore, there are a number of keywords that can be used for acceleration. Most of them are, by now, somewhat obsolete. An important keyword, though, is ``FFT`` in the section ``WFPROD`` of the input file. When used, the interstitial terms are evaluated using Fast Fourier Transformations (FFTs), i.e., by transforming into real space (where the convolutions turn into products), instead of by explicit convolutions in reciprocal space. For small systems the latter is faster, but for large systems it is recommendable to use FFTs because of a better scaling with system size. A run with FFTs can be made to yield results identical to the explicit summation. This requires an FFT reciprocal cutoff radius of :math:`{2G_\mathrm{max}+g_\mathrm{max}}`, which can be achieved by setting ``FFT EXACT``, but such a calculation is quite costly. It is, therefore, advisable to use smaller cutoff radii, thereby sacrificing a bit of accuracy but speeding up the computations a lot. If given without an argument, Spex will use 2/3 of the above ''exact'' cutoff. One can also specify a cutoff by a real-valued argument explicitly, good compromises between accuracy and speed are values between 6 and 8 Bohr'^-1^'.
+----------+---------------+-------------------------------------------------------------------------------+
| Examples | ``FFT 6`` | Use FFTs with the cutoff 6 Bohr'^-1^'. |
+----------+---------------+-------------------------------------------------------------------------------+
| | ``FFT`` | Use the default cutoff :math:`{\frac{2}{3}(2G_\mathrm{max}+g_\mathrm{max})}`. |
+----------+---------------+-------------------------------------------------------------------------------+
| | ``FFT EXACT`` | Use the exact cutoff :math:`{2G_\mathrm{max}+g_\mathrm{max}}`. |
+----------+---------------+-------------------------------------------------------------------------------+
APPROXPW (WFPROD)
------------------
(**) Since version 02.03 the interstitial part of the projections is calculated exactly, leading to favorable convergence with respect to ``GCUT``. However, the exact evaluation takes considerably more time. If ``APPROXPW`` is set, the old and approximate calculation of the products is used instead. (Only included for testing.)
LCUT MTTHR (MBASIS)
--------------------
(**) The MT part of the projections can be accelerated as well with the keywords ``LCUT`` and ``MTTHR`` in the section ``WFPROD``. (Note the other unrelated [[#LCUT|``LCUT``]] keyword in ``MBASIS``.) The first can be used to restrict the l cutoff of the wave functions (only for the projections), one l cutoff for each atom type. The second is a threshold value below which wave-function coefficients are neglected. By default, the two options are unused.
MINCPW (MBASIS)
----------------
(**) The keyword ``MINCPW`` modifies the plane-wave wave-function coefficients such that their absolute values become as small as possible. This reduces the error in the evaluation of the wave-function products arising from the finite G cutoff and leads to better convergence with respect to ``GCUT`` and smoother band structures, when ``APPROXPW`` is used. The coefficients can be modified, because the set of IPWs is overcomplete. If set, the eigenvectors of the overlap matrix with the ``n`` smallest eigenvalues are used for this modification. Note that it only makes sense to use this together with ``APPROXPW``.
Wannier orbitals [[#Wannier]]
=============================
...
.. _keywords:
.. _common_keywords:
****************
Common Keywords
......
......@@ -19,12 +19,14 @@ User's guide
++++++++++++
.. toctree::
:maxdepth: 3
:maxdepth: 2
installation
getting_started
general_information
keywords
common_keywords
tutorials
basis_sets
keyword_reference
spex_faq
.. _keyword_reference:
========================
Keyword Reference
========================
This document gives a reference of available keywords in the input file ``spex.inp``. The syntax of the input file is as follows.
* The file ``spex.inp`` does not use a fixed format, and the keywords may be given in any order.
* Each keyword is given on one line together with its parameters following it and may be given only once.
* All keywords (and section names) are in capital letters.
* Everything after a ``#`` sign is interpreted as a comment. Empty lines are allowed.
* Lines are only interpreted up to the 80th column. Line continuation is possible using a single backslash ``\`` at the end of the previous line.
* Some keywords are only defined inside sections. A section starts with ``SECTION sectionname`` and ends with ``END``.
In the following the keywords are listed and explained alphabetically and for each section separately. If there is no default value, the keyword must be given. **Experimental, badly tested, and obsolete keywords as well as keywords for testing are shown in round brackets.**
.. warning:: The list can be partly out of date or obsolete.
Global Keywords
-----------------
(``ALIGNBD``): Aligns the degenerate states on the unshifted k-point set (see ``KPT +=...``) to the states on the shifted k points. Corresponding transformation matrices are written to the file ``spex.abd`` or read from it if it exists. Normally used to calculate response quantities of metals for small k vectors, e.g., in order to test the expansion around the point '''k=0'''. (Default false)
``BANDINFO``: Prints information about bands: weight of s,p,d,f,g character of each state, (P)DOS plot in separate file (``spex.dos.NNN``), square integral of wave-function products. (Default false)
(``BANDOMIT (bands) ABC``): Omits bands defined in ``bands`` in exchange (``A=1``), susceptibility (``B=1``), and/or correlation self-energy (``C=1``). (Otherwise ``A=0`` etc.) (Default none)
``BZ k l m``: Defines a k-point set ``k``x``l``x``m``.
``CHKMISM``: Checks the mismatch of the DFT wave functions at the MT spheres. (Default false)
``DIPOLE``: Calculates dipole moments for all direct (optical) transitions. (Default false)
``CHKOLAP``: Checks the overlap of the DFT wave functions. (Default false)
(``CORES cores``): Includes core states into the calculation of the susceptibility and self-energy. The core states are defined separately for each atom type as a list in brackets, e.g., ``(4f,5s,5p)``. Empty lists ``()`` are allowed. (Default none)
``CORESOC``: Treats core states as { j,m_j } Dirac spinors. Otherwise, the Dirac states are averaged in each { l,m } channel. (Default false)
(``GAUSS x y``): Use Gauss integration with widths ``x`` and ``y`` instead of tetrahedron integration. Only for debugging. (Default false)
(``IBC n``): Uses the incomplete-basis-set correction (IBC). Experimental! (Default false)
(``ITERATE opt e``): Constructs a (``opt=NR``: non-relativistic, ``opt=SR``: scalar-relativistic, ``opt=FR``: fully relativistic, i.e., including SOC) LAPW(+LO) Hamiltonian from the converged DFT potential and calculates wave functions and energies from it, which are then used in the calculation. This spares you the last DFT run. The parameter ``e`` is the lower energy bound for the electron states. The calculation is fairly slow. (Default none)
``JOB job1 job2 ...``: Defines what Spex should do. Consult the [[Spex_Tutorial|tutorial]] for details.
``KPT label1 label2 ...``: Defines labels (single characters) for k points. Consult the [[Spex_Tutorial|tutorial]] for details. (Default none)
``KPTPATH (A,B,C,...)``: Comma-separated list of k points that defines a k-point path. Spex automatically determines all k points (according to the ``BZ`` definition) that lie on the path. The path can be used (e.g., in the ``JOB`` definition) with ``PATH``. If Wannier functions are defined, Spex performs a Wannier interpolation along this path. (default none)
``MEM m``: Restricts the memory usage to ``m`` MB (per node). (Does not work exactly. The code actually needs more memory.) (Default 200)
``MTACCUR emin emax``: Writes plots for the MT representation error in the energy range {``emin``,``emax``} to the files ``spex.mt.NNN``. (Default none)
``NBAND n``: Restricts the number of bands to ``n`` bands or, if ``n`` is a real number, to all bands with energies below that value. (:comment All bands that are not treated explicitly can be taken into account in an approximate way by placing them at a fixed energy above all other energies. For example with ``NBAND 100+5`` this energy would lie 5 ha above the maximum energy (see PRB 78, 085125). :) (Default all bands)
(``PLUSSOC``): Adds spin-orbit coupling to the input data in second variation. (Default false)
``RESTART``: Enables to continue an older calculation (e.g., if the latter has crashed). Intermediate results are written to files (``spex.mb`` - Mixed product basis, ``spex.cou(s)`` - Coulomb matrix, ``spex.cor`` - Dielectric function, ``spex.spc`` - (e.g.) polarization function, ``spex.uwan`` - Wannier U matrices, ``spex.kolap`` - Overlap matrices for Wannier construction) or read from the files if they exist. With ``RESTART SIG``, Spex reads the self-energy from the files ``spex.sigx`` and ``spex.sigc``, which are always written in ``GW/HF FULL`` calculations. (Default false)
``STOREIBZ``: Wave functions are only stored in the IBZ rather than in the full BZ. This decreases the memory demand considerably but slows down the calculation somewhat because wave functions must be regenerated when needed. (Default false)
``WRITE q1 q2 ...``: Tells Spex to write the head element of the specified quantities ``q1/2=`` ``SUSCEP``, ``DIELEC`` or ``SCREEN`` to a file. Optionally a job number can be specified in brackets, as in ``WRITE SUSCEP(2)``. If one of these quantities are explicitly defined in the job definition, they are automatically written to files. With ``q1=INFO``, Spex writes preliminary results to several output files. Consult the [[Spex_Tutorial|tutorial]] for details. (Default none)
``WRTKPT``: Tells Spex to write out the k-point set and exit. (Default false)
Section ``MBASIS``
-------------------
``ADDBAS``: Augments mixed basis by the radial {u} functions (according to first part of SELECT entry). This improves the basis convergence for COHSEX calculations. (Default false)
``CHKPROD``: Checks the accuracy of the MT product basis. (Default false)
``GCUT G``: G cutoff for the IPWs of the mixed basis.
``LCUT l``: l cutoffs (one for each atom type) for the mixed basis.
``NOAPW``: Switches off construction of "product APWs", which are continuous at the MT sphere boundary. (Default false)
``OPTIMIZE``: Optimize mixed basis for correlation self-energy. Consult the [[Spex_Tutorial|tutorial]] for details. (Default none)
``SELECT l1,l3,lo1;l2,l4,lo2``: Selection of the MT radial functions from which the mixed basis is constructed. Consult the [[Spex_Tutorial|tutorial]] for details.
``TOL t``: Tolerance value for the removal of linear dependencies from the MT part of the mixed basis. (Default 0.0001)
(``WFADJUST``): Removes wavefunction coefficients belonging to radial functions that are not used to construct the MT product basis. (Currently the coefficients are actually not removed from the memory.) (Default false)
Section ``COULOMB``
--------------------
``CHKCOUL``: Performs checks on the Coulomb matrix: (1) Project on plane waves and see whether we get :math:`{v_{\mathbf{GG'}}=4\pi \delta_{\mathbf{GG'}}/ |\mathbf{k+G}|^2 }`, (2) compare largest eigenvalue of Coulomb matrix to :math:`{4\pi / k^2}`. (Default false)
(``CUTZERO``): Removes linear dependencies in the overlap matrix of the mixed basis. Otherwise, in the case of a large ``GCUT`` the diagonalization of the Coulomb matrix might fail due to numerical rounding errors in LAPACK. (Default false)
``LEXP``: l cutoff for the expansion of plane waves inside MT spheres. (Default 14)
``NOSTORE``: The default is to precalculate and keep the Coulomb matrices for all k points in memory. With this keyword the matrices are calculated whenever they are needed. This reduces the memory demand but somewhat slows down the calculation. Unless ``APPROXPW`` is chosen, this also applies to the overlap-correction matrix. (Only affects HF and QP calculations.) (Default false)
(``STEPRAD K``): Uses the Fourier transform of the step function as an alternative to the Rayleigh expansion for representing the IPWs and prints the resulting difference. The parameter ``K`` is the corresponding reciprocal cutoff radius. Only for testing. (Default none)
(``TSTCOUL``): Similar to ``CHKCOUL`` but regenerates MT part of the mixed basis from spherical Bessel functions and stops after the test. (Default false)
Section ``WFPROD``
-------------------
(``APPROXPW``): Since version 02.03 the plane-wave part of the wave-function products are calculated exactly leading to much better convergence with respect to ``GCUT``. However, the exact evaluation takes considerably more time. If ``APPROXPW`` is set, the old and approximate calculation of the products is used instead. (Default false)
``LCUT l``:Optional l cutoffs (one for each atom type) for the wave functions in the calculation of the products. (Default none)
``MTTHR d``: Threshold value below which wave-function coefficients are neglected. (1E-10 is a safe choice.) (Default 0)
(``MINCPW n``): Modifies the IPW wave-function coefficients such that their absolute values become as small as possible. This reduces the error in the evaluation of the wave-function products arising from the finite G cutoff and leads to better convergence with respect to ``GCUT`` and smoother band structures, when ``APPROXPW`` is used. The coefficients can be modified, because the set of IPWs is overcomplete. If set, the eigenvectors of the overlap matrix with the ``n`` smallest eigenvalues are used for this modification. Note that it only makes sense to use this together with ``APPROXPW``. (Default 0)
``FFT gcut``: Employs Fast Fourier transformation for the calculation of the plane-wave part of the wave-function products. Scales much better with system size than the direct (default) evaluation. Requires a reciprocal cutoff ``gcut``. The exact limit is :math:`gcut=GCUT{+2k_{\mathrm{max}}}`, where :math:`{k_{\mathrm{max}}}` is the PW cutoff of the DFT calculation, but much lower cutoffs are enough; try with ``gcut=8`` for example. If no ``gcut`` is given, Spex uses the exact limit. (Default none)
Section ``SUSCEP``
------------------
``DISORDER`` :math:`{\tau}`: Replaces the infinitesimal :math:`{i\eta}` by the finite frequency :math:`{i/2\tau}` in the response function. (Default none)
(``FSPEC N x``): Deprecated keyword. Use ``HILBERT`` instead. (Default none)
``HILBERT d x``: Defines the exponential frequency mesh for the Hilbert transformation in one of two ways: (1) ``d`` is the difference between the first (set at the band gap value or zero) mesh point :math:`{\omega_1}` and the second mesh point :math:`{\omega_2}`, and :math:`x` is the factor :math:`{x=(\omega_{i+1}-\omega_i)/(\omega_i-\omega_{i-1})}`; (2) if ``d`` is an integer, it is interpreted as the number of mesh points in the range :math:`{{\omega_1}..5 htr}`, and ``x`` is interpreted as the stretching factor "acquired at 5 htr", i.e., :math:`{x^{1/N}}` is the corresponding factor defined in (1). (Default 0.01 1)
:comment Alternatively, the first argument ``N`` can be a real number in which case it is interpreted as the first nonzero mesh point. Latest version: A negative second argument means the stretching factor that is reached after {N} points, i.e., :math:`{x^N}`. (Default 30 1.05):)
``HUBBARD file``: Calculates Hubbard parameters. If the optional filename ``file`` is given, the Hubbard parameters are read from (written to) ``file`` if it exists (does not exist). (Default false)
``MULTDIFF ON`` or ``OFF``: If set "ON" (and ``MB/PW=`` is used), the BZ integrand in the calculation of the head and wing elements of the polarization function (not for the magnetic susceptibility) is multiplied by KS energy differences. (The integration weights are correspondingly adjusted.) For a small (or zero) '''k''' vector this leads to better numerics (because the integrand is exactly inversely proportional to the KS energy differences in the case '''k=0'''). (Default ``ON `` for '''k=0''', ``OFF`` else)
``PLASMA p``: Sets the plasma frequency at ``p``. ``p=METAL``: use metallic screening. (Default none)
(``TETRAF``): If set, tetrahedron weights are only calculated in the (extended) irreducible part of the BZ. This accelerates the calculation of the weights considerably but introduces slight deviations due to symmetry breaking. (Default false)
``WGHTTHR w``: Sets a threshold value for the (tetrahedron) weights. All transition with weights below ``w`` are neglected. (Default :math:`{10^{-10}}`)
Section ``SENERGY``
----------------------
(``ALIGNVXC``): Aligns chemical potential to quasiparticle state of highest occupied state. (Default false)
``CONTINUE (n)``: If the optional (and now somewhat obsolete) parameter ``n`` is not given, a pade continuation is used. Otherwise, ``n`` specifies the number of poles used in the fit function for the analytic continuation of the self-energy. The fitting procedure can be influenced further by adding single characters to ``n``; character "``c``": employ additional constraints (i.e., integrability of the self-energy and continuity of its derivative at {\omega=0}), "``+``": add a constant to the fit function as a parameter, "``*``": allow poles above the real frequency axis. (Default Pade)
``CONTOUR D d``: Specifies contour integration for the evaluation of the self-energy. The first argument ``D``, if it is a number, defines the interval for the numerical derivative :math:`{d/d\epsilon \Sigma(\epsilon) = [\Sigma(\epsilon+D)-\Sigma(\epsilon-D)]/(2D)}` where :math:`{\epsilon}` is the corresponding KS energy. It can also be defined as a range, e.g. ``{-0.5..0.5,0.01}`` or ``[{-0.5..0.5,0.01}]``, which defines an equidistant mesh (relative to the Kohn-Sham energy or in absolute energies, the latter is the only viable definition for a ``GW FULL`` calculation) on which the self-energy is evaluated and which is used to solve the nonlinear quasiparticle equation (neglecting off-diagonal elements). The second argument ``d`` defines the step size of an equidistant mesh for the screened interaction. If ``d`` is omitted, a Pade continuation is used for the screened interaction (Keywords ``CONTINUE`` and ``CONTOUR`` are mutually exclusive.) (Default none)
``FREQINT SPLINE/PADE``: Algorithm for frequency integration in :math:`{\int G(\omega+\omega')W(\omega')d\omega'}`: the screened interaction is interpolated with a splines or with a Pade approximation. (Default SPLINE)
``LFRAC l``: l cutoff for the treatment of the anisotropy at the point :math:`{k=0}`. For isotropic systems ``l=1`` is enough. (Default 1)
``MESH n x``: Defines the imaginary frequency mesh where ``n`` is the number of points and ``x`` the frequency of the last point. Instead, one can also specify a file that contains the frequency mesh as a list with ``MESH filename``. (Default 10 10.0)
``NOZERO``: Neglect zero order terms in the self-energy coming from combinations of divergent terms math:`{1/k}` and math:`{1/k^2}` in the (bare or screened) interaction with linear and quadratic terms of the other quantities. This is necessary to converge the k-point sampling for materials with small band gaps. (Default false)
``RPAENE``: Calculate RPA correlation energy "on the fly". (Default false)
``VXC READ/CALC``: Specifies whether the vxc matrix elements are calculated or read from the file ``vxcfull``. (Default READ)
.. note:: ``IMAGTIME``: Since version 02.00 the correlation self-energy is evaluated by a direct frequency convolution of {G} and {W} rather than a multiplication in imaginary time. With the keyword ``IMAGTIME`` the latter (older) algorithm can still be used. (In some cases the old algorithm is considerably faster.) (Default false) :)
Section ``WANNIER``
--------------------
``FROZEN e``: Use frozen energy window. Lower bound is defined automatically, upper bound can be defined with the optional parameter ``e``. If ``e`` is not given, Spex guesses a reasonable value. (Default false)
``MAXIMIZE``: Use maximally localized Wannier functions instead of the first-guess ones. (Default false)
``ORBITALS (..) (..) ..``: Defines the orbitals for the first guess. Round brackets ``()`` for atoms, square brackets ``[]`` for atom types. In the brackets, one can use ;-separated lists of s,p,d,f,px,py,pz,dxy,dyz,dxz,dz2,dx2y2,t2g,eg,fz3,fxz2,fyz2,fzxy,fxyz,fxxy,fyxy,sp,sp2,sp3,sp3d,sp3d2. Euler angles can be specified with, e.g., ``sp,120,0,0``. (Default none)
``RSITE latvec``: Calculate off-site Hubbard interaction parameters (in addition to the on-site ones) with ``latvec`` being a lattice vector, e.g., ``(0,0,1)`` or several lattice vectors, e.g., ``(0,0,1) (0,0,3)`` or ``(0,0,1)-(0,0,3)`` or ``(0,1..2,1..3)``. The latter two define a list of lattice vectors: (0,0,1), (0,0,2), (0,0,3) and (0,1,1), (0,2,1), (0,1,2), (0,2,2), (0,1,3), (0,2,3), respectively. (Default none)
(``UREAD``): Wannier U matrix elements are read from the Fleur output file. (Default false)
(``WSCALE s``): Scaling factor ``s`` for the screened Coulomb interaction for spin-wave calculations. ``s`` can be a range ...... to be completed! (Default none)
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment