Commit c249f54e authored by Christoph Friedrich's avatar Christoph Friedrich

Merge branch 'master' into 'master'

All Known Issues with Latex, tables and equations are fixed

See merge request spex/spex-docs!2
parents 895e6d5b e509d34b
......@@ -19,7 +19,7 @@ This generates a html documentation tree under spex-docs/build
make latexpdf
This generates a html documentation tree under spex-docs/build
This generates a pdf documentation tree under spex-docs/build
You can browse to ``spex-docs/build/html/index.html`` to see the documentation in html format.
span.eqno {
float: right;
This diff is collapsed.
This diff is collapsed.
......@@ -15,6 +15,8 @@
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
def setup(app):
# -- Project information -----------------------------------------------------
......@@ -28,7 +28,7 @@ For the first and third step consult the manual of your DFT program. (Click `her
KPT X=[0,0,1] L=1/2*[1,1,1]
JOB GW 1:(1,2,5) X:(1,3,5) L:(1-3,5)
.. note:: Refer to the chapter :ref:`keyword_reference` for a full list of available keywords
.. note:: Refer to the tutorials and other chapter for a full list of available keywords
For the second step only the lines beginning with ``BZ`` and ``WRTKPT`` are necessary. The line ``BZ 4 4 4`` defines a 4x4x4 k-point set, and the keyword ``WRTKPT`` tells Spex to write the (irreducible) k-points to a file (``kpts`` for Fleur) and stop.
......@@ -13,10 +13,7 @@ It needs input from a converged DFT calculation, which can be generated by Fleur
If you use SPEX for your research, please cite the following work:
.. highlights:: Christoph Friedrich, Stefan Blu'gel, Arno Schindlmayr, "Efficient implementation of the GW approximation within the all-electron FLAPW method", Phys. Rev. B 81, 125102 (2010).
User's guide
.. highlights:: Christoph Friedrich, Stefan Blügel, Arno Schindlmayr, "Efficient implementation of the GW approximation within the all-electron FLAPW method", *Phys. Rev. B 81, 125102 (2010)*.
.. toctree::
:maxdepth: 2
......@@ -27,9 +24,6 @@ User's guide
......@@ -20,10 +20,9 @@ Configure the spex installation
Once you have obtained the code (``spexVERSION.tgz``) unpack it with your local version of tar and change to the ``spexVERSION`` directory, where ``VERSION`` is the version number, e.g. "05.00". There you should find the source code and a configure shell script that helps to generate a Makefile for your system. Consult the file ``INSTALL`` for a description of the compilation process. In short, if all necessary libraries are in standard directories, ``./configure`` and make should suffice to create a working executable. Special options can be given to the configure script:
* ``--enable-parallel``: Build parallel version (requires an MPI-3 compiler).
* ``--enable-load``: Load wave functions from harddisc when needed (otherwise stored in memory).
* ``--with-wan``: Build with Wannier-function support
* ``--prefix=PREF``: Executables will be installed in directory PREF (`/usr/local` is default).
* ``--enable-load``: Load wave functions from harddisc when needed (otherwise stored in memory).
* ``--with-wan``: Build with Wannier-function support(Wannier-function support requires the Wannier90 library, whose location can be specified with ``–with-wan=DIR``)
* ``--prefix=PREF``: Executables will be installed in directory PREF (`/usr/local` is default).
.. note:: Enter ``./configure -h`` for a full list of configuration options
.. warning:: Wannier-function support requires the Wannier90 library, whose location can be specified with ``–with-wan=DIR``
This diff is collapsed.
This diff is collapsed.
.. _theory:
.. _gw:
``GW`` calculations
The ''GW'' approach has become a routine method to calculate quasiparticle spectra from first principles. It is based on many-body perturbation theory, in which the Dyson equation (here in simplified notation)
:math:`{\displaystyle G(\omega)=G_0(\omega)+G_0(\omega)[\Sigma^{\mathrm{xc}}(\omega)-v^{\mathrm{xc}}]G(\omega)}`
links the interacting Green function :math:`{G}` to the non-interacting one :math:`{G_0}`. (A non-magnetic system is considered in this section for simplicity.) The latter is obtained from a mean-field solution with frequency-independent potential :math:`{v^{\mathrm{xc}}}`, which in the case of a KS system would correspond to the local exchange-correlation potential (the nonlocal Hartree-Fock exchange potential and the ''hermitianized'' self-energy of QSGW are other examples). The self-energy :math:`{\Sigma^{\mathrm{xc}}}` connects the non-interacting mean-field system to the real interacting system and thus accounts for the many-body electronic exchange and correlation effects. It is not known exactly and must be approximated in practice. The most popular approximation to the electronic self-energy is the GW approximation,
:math:`{\displaystyle\Sigma^{\mathrm{xc}}(\mathbf{r},\mathbf{r}';\omega)=\frac{i}{2\pi}\int_{-\infty}^\infty G(\mathbf{r},\mathbf{r}';\omega+\omega')\,W(\mathbf{r},\mathbf{r}';\omega')e^{i\eta\omega'}\,d\omega'\,}`
which has been shown to yield accurate band structures for a wide range of materials. Here, :math:`{G}` is the single-particle Green function (usually :math:`{G_0}` is employed) and :math:`{W}` is the screened Coulomb interaction, which is the effective interaction potential in an interacting system, incorporating the dynamical screening processes. The screened Coulomb interaction is the solution of a Dyson-type equation
:math:`{\displaystyle W(\omega)=v+vP(\omega)W(\omega)\,}`
with the random-phase approximation for the polarization function :math:`{P}`
.. _eqP:
:math:`{\displaystyle P(\omega)=-\frac{i}{\pi}\int_{-\infty}^\infty G(\omega-\omega')G(\omega')d\omega'\,.}`
Usually, the Green function :math:`{G_0}` of a mean-field system is taken for :math:`{G}`, in which case it takes the form
.. _eqG0:
:math:`{\displaystyle G_0(\mathbf{r},\mathbf{r}';\omega)=\sum_\mathbf{k}\sum_n \frac{\phi_{\mathbf{k}n}(\mathbf{r})\phi^*_{\mathbf{k}n}(\mathbf{r}')}{\omega-\epsilon_{\mathbf{k}n}+ i\eta\mathrm{sgn}(-\epsilon_{\mathbf{k}n}\mathrm{F}}\,,}`
where :math:`{\phi_{n\mathbf{k}}(\mathbf{r})}` and :math:`{\epsilon_{n\mathbf{k}}}` are the eigenfunctions and eigenvalues, respectively, of the mean-field system. Here, a natural choice is to employ the solution of the KS equations
often with the local-density approximation (LDA) for the exchange-correlation potential. In this respect, one says that LDA is the ''starting point'' for the ''GW'' calculation. Other starting points are generalized gradient approximation (GGA), LDA+''U'', hybrid functionals, Hartree-Fock, QSGW, et cetera. The explicit form of :math:`{G_0}` enables us to perform the frequency integration in [[#eq:P|:math:`{P}`]], which yields
.. _eqPexp:
:math:`{\displaystyle P\left(\mathbf{r},\mathbf{r}',\omega\right)=2\sum_{\mathbf{q},\mathbf{k}}^{\mathrm{BZ}}\sum_{n}^{\mathrm{occ}}\sum_{n'}^{\mathrm{unocc}}\phi_{\mathbf{q}n}\left(\mathbf{r}\right)\phi_{\mathbf{q}n}^{*}\left(\mathbf{r}'\right)\phi_{\mathbf{q}+\mathbf{k}n'}\left(\mathbf{r}'\right)\phi_{\mathbf{q}+\mathbf{k}n'}^{*}\left(\mathbf{r}\right)\cdot\left(\frac{1}{\omega+\epsilon_{\mathbf{q}n}-\epsilon_{\mathbf{q}+\mathbf{k}n'}+i\eta}-\frac{1}{\omega-\epsilon_{\mathbf{q}n}+\epsilon_{\mathbf{q}+\mathbf{k}n'}-i\eta}\right)=\int_{-\infty}^\infty \frac{S(\mathbf{r},\mathbf{r}';\omega')}{\omega-\omega'+i\eta\mathrm{sgn}(\omega')}d\omega'\,,}`
where the last equality implicitly defines the spectral function :math:`{S(\omega)}`.
The Dyson equation can be rewritten in the form of an effective equation of motion of a single particle, the quasiparticle equation
.. _eqPexq:
:math:`{\displaystyle\left\{-\frac{\nabla}{2}+v^\mathrm{ext}(\mathbf{r})+v^\mathrm{H}(\mathbf{r})\right\}\psi_{\mathbf{k}n}(\mathbf{r})+\int \Sigma^\mathrm{xc}(\mathbf{r},\mathbf{r}';E_{\mathbf{k}n})\psi_{\mathbf{k}n}(\mathbf{r}')d^3 r=E_{\mathbf{k}n}\psi_{\mathbf{k}n}(\mathbf{r})}`
with the (non-orthonormal) quasiparticle wavefunctions and (complex-valued) quasiparticle energies. It can be shown that the interacting Green function takes the same form as [[#eq:G0|:math:`{G_0}`]] (Lehmann representation) if the eigenfunctions and eigenvalues are replaced by the latter. The fact that this equation of motion is formally similar to the KS equation motivates to use perturbation theory of first order and write the quasiparticle energies as
.. _eqqppert:
:math:`{\displaystyle E_{n\mathbf{k}}=\epsilon_{n\mathbf{k}}+\langle\phi_{n\mathbf{k}}|\Sigma^\mathrm{xc}(E_{n\mathbf{k}})-v^\mathrm{xc}|\phi_{n\mathbf{k}}\rangle\approx\epsilon_{n\mathbf{k}}+Z_{n\mathbf{k}}\langle\phi_{n\mathbf{k}}|\Sigma^\mathrm{xc}(\epsilon_{n\mathbf{k}})-v^\mathrm{xc}|\phi_{n\mathbf{k}}\rangle}`
with the renormalization constant :math:`{Z_{n\mathbf{k}}=[1-\partial\Sigma^{\mathrm{xc}}/\partial\omega(\epsilon_{n\mathbf{k}})]^{-1}}`. Both expressions can be taken to evaluate the quasiparticle energy, the first one is a non-linear equation in :math:`{E_{n\mathbf{k}}}` and requires an iterative solution. We thus have three ways to calculate the quasiparticle energies: (a) by solving the full [[#eq:qpeq|quasiparticle equation]], (b) with the [[#eq:qppert|non-linear equation]], and (c) using the [[#eq:qppert|linearized solution]]. The mathematical complexity, the computational cost, and the accuracy decreases in this order. For example, solution (a) requires the full self-energy matrix (i.e., including the off-diagonal elements) to be evaluated. Once the full matrix :math:`{\Sigma^\mathrm{xc}_{\mathbf{k},nn'}(\omega)}` is known, one can proceed to perform a self-consistent calculation within the QSGW approach. In this approach, the self-energy matrix is ''hermitianized'' and made frequency independent. This self-energy can then be used to replace :math:`{v^\mathrm{xc}}` in the KS equation, defining a new mean-field system. A self-consistent solution of this mean-field system (using a DFT code) is then employed as a new starting point and so on until self-consistency in the quasiparticle energies is achieved.
Interaction parameters (Hubbard ``U``)
Wannier functions
RPA exchange-correlation energy
Spectra (EELS, spin excitation spectra etc.)
The spectral function of response quantities (e.g., [[#eq:Pexp|:math:`{S(\omega)}`]]) are often related to spectra measured in experiments. The imaginary part of the head element (:math:`{\varepsilon^{-1}_{\mathbf{k},\mathbf{GG}'}, \mathbf{G}=\mathbf{G}'=0}`) of the inverse of the dielectric matrix
:math:`{\displaystyle \varepsilon_\mathbf{k}(\omega)=I - P_\mathbf{k}(\omega) v_\mathbf{k}}`
with [[#eq:Pexp|:math:`{P(\omega)}`]], the identity matrix :math:`{I}`, and the bare Coulomb interaction :math:`{v}` is measured in valence electron-energy loss spectroscopy (EELS). Note that :math:`{W_\mathbf{k}(\omega)=\varepsilon_\mathbf{k}^{-1}(\omega)v_\mathbf{k}}`. Optical absorption is related to the macroscopic dielectric function :math:`{\varepsilon_\mathrm{M}(\omega)=1/\varepsilon^{-1}_{\mathbf{k=0},\mathbf{00}'}(\omega)}`. We have adopted a pure plane-wave representation. The dielectric function can also be used to calculate the density response function :math:`{R_\mathbf{k}(\omega)=\varepsilon_\mathbf{k}^{-1}(\omega)P_\mathbf{k}(\omega)}`, where :math:`{R(\mathbf{r},\mathbf{r}';\omega)=\delta n(\mathbf{r},\omega)/\delta v_\mathrm{ext}(\mathbf{r}',\omega)}` gives the dynamical linear response of the electron number density with respect to changes in the external potential. In this respect, :math:`{P(\mathbf{r},\mathbf{r}';\omega)}` gives the linear response of the density with respect to changes in the effective potential, e.g., the effective KS potential.
In photoelectron spectroscopy, one measures the imaginary part of the Green function, which, using the Dyson equation, can be written as
:math:`{\displaystyle A_\mathbf{k}(\omega)=\mathrm{Im} \sum_n \frac{1}{\omega-\epsilon_{\mathbf{k}n}-\Sigma_\mathbf{k}^{\mathrm{xc}}(\omega)}.}`
``GT`` self-energy
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