Development of the Elk LAPW Code
K. Dewhurst, S. Sharma
Elk is an all-electron full-potential linearised augmented plane-wave (LAPW) code for determining
the properties of crystalline solids. In our institute the code is actively developed as a testbed for new
methods. It is also extensively used for production, especially for materials which are particularly sensitive to the
types of approximation used or for which pseudopotential methods are not appropriate. One aspect which is unique to Elk
is that almost all features can be used in combination with each other, resulting in powerful and robust code.
The basic aim of Elk is to solve the Kohn-Sham equations for external fields. Every external field
has a conjugate density to which it couples. At the moment, there are four external fields available in Elk:
| External field |
Conjugate density |
| Vext(r) |
ρ(r) |
| Bext(r) |
m (r) |
| Eext(r)(=-∇V(r)) |
ρ(r) |
| A |
j |
Although these fields should be related by Maxwell's equations, Elk treats them as independent in
order to simulate various conditions outside the crystal. The Kohn-Sham equations are solved in two-step process. In
the first-variational step a Hamiltonian containing only the scalar potential and E field is
constructed
and diagonalised with
. Then in the
second-variational step, the magnetic fields, spin-orbit coupling and
A field are added
using the first-variational step as a basis
Instead of the usual approach of separating the Kohn-Sham equations into spin-up and spin-down orbitals, densities and
potentials, Elk treats magnetism as
non-collinear for which the basic variables are the scalar density
ρ(
r) and the magnetisation vector field
m(
r). This approach requires fully variational
spinor wavefunctions
for which the density and magnetisation are given by
and
respectively.
Spin-spiral states also allowed:
in which case the magnetisation density is incommensurate with the crystal unit
cell, having the form m(r)=[mx(r)sin(q·r),
my(r)cos(q·r),mz(r)]. This spiral state may be lower in energy than
the usual ferromagnetic or anti-ferromagnetic states for certain materials such as γ-Fe [Phys. Rev. B
66, 14447 (2002)].
The LAPW basis
The LAPW basis is constructed by partitioning space into spheres around atoms, called muffin-tins, and the remaining
interstitial region. Linear combinations of atomic-like orbitals make up the basis functions in the muffin-tins and
plane waves fill the interstitial region. At the boundary, the functions, and possibly their derivatives, are matched
ensuring continuous or differentiable basis functions. These augmented plane wave functions are not orthogonal,
requiring that the Kohn-Sham equations be solved as a generalised eigenvalue equation: H❘Φi 〉 =
O❘Φi〉 where Opq = 〈Bp❘Bq〉 is the overlap matrix consisting of
inner products of LAPW basis functions |Bsub>prang;. The energy of the radial part of the muffin-tin
functions is chosen to be close to a Kohn-Sham eigenvalue, making this basis one of the most efficient possible for
solids.

- Figure 1: Schematic of the LAPW basis. The basis functions consist of a plane wave
augmented by a linear combination of atomic-like functions in the muffin-tins, chosen to so that the resulting function
is continuous across the boundary.
An important aspect for any DFT code is the ability to solve Poisson's equation
efficiently for the relevant boundary conditions. This is needed in order to determine the Hartree potential but, in
the case of Elk, it is also used with complex charge densities for computing Coulomb matrix elements of the form
It is essential then that the algorithm be as fast as possible, and considerable effort has been expended in writing a
highly optimised version of Weinert's method [J. Math. Phys.
22, 2433 (1981)] for solving Poisson's equation in
the LAPW basis. These Coulomb matrix elements are used in some of the more advanced features of the code like
Hartree-Fock, the optimised effective potential (OEP) method, reduced density matrix functional theory (RDMFT),
time-dependent density functional theory (TDDFT), and the Bethe-Salpeter equation (BSE).
Exchange-correlation functionals
Several local density approximation (LDA) and generalised gradient approximation (GGA) functionals are implimented
natively in Elk. It is also possible to link to the ETSF libxc functional library (
http://www.tddft.org/programs/octopus/wiki/index.php/Libxc
) which contains almost every LDA and GGA functional yet conceived. The ability to use meta-GGA (mGGA) functionals in
conjunction with libxc has also been added. This type of functional requires the kinetic energy density
in addition to
ρ and
m. In the case of non-collinear magnetism, Elk employs a technique, [J. Appl. Phys.
63, 3482 (1988)], in which the local 2×2 spin density matrix
diagonalised and the eigenvalues are used as up and down spin densities in a LSDA functional. The inverse operation is
applied to the up and down potentials to produce a 2×2 matrix
from which is extracted the exchange-correlation magnetic field. It is less clear how GGA functionals should be used
for non-collinear situations, but in Elk's case the spin density is first locally diagonalised into up and down, and
then the gradients are computed. A drawback to these approaches is that the exchange-correlation magnetic field
B
xc(
r) is always collinear with the magnetisation density. Thus from the Landau-Lifshitz-Gilbert
equation
we find that for LSDA in the absence of external fields
∂m(
r,
t)/
∂t = 0,
meaning that there can be no spin dynamics. This problem can be fixed by use of intrinsically non-collinear functional
approximations which depend explicitly on |
m(
r)| and its gradients, or by use of the OEP method for
spin-polarised systems as implimented in Elk [
Phys. Rev. Lett. 98, 196405 (2007)].
DFT+U and spin-current tensor moments
Elk has the most sophisticated implimentation of DFT+U available. It can be used in conjunction with spin-orbit
coupling, non-collinear magnetism and spin-spirals, and has the ability to interpolate between around mean field (AMF)
and the fully localised limit (FLL) [Phys. Rev. B 67, 153106 (2003)].

- Figure 2: Cover of the September 2009 issue of Physical Review Letters showing the
spin-current density matrix for two components of a hidden order parameter - the rank five multipole tensor
w615 - in URu2Si2 generated by Elk [F. Cricchio, F. Bultmark, O. Grånäs and L.
Nordström, Phys. Rev. Lett. 103, 107202 (2009)].
Recently, the ability to decompose the spin-current density tensor was added to the
code. This allows for the discovery of previously hidden order parameters in solids which are not simply localised spin
moments, but rather specific moments of the full spin-current tensor.
Developments completed at the MPI
- Reduced density matrix functional theory (RDMFT) for solids has been implimented in Elk. A simple functional was
devised and parameterised by fitting to the exchange-correlation energy of the electron gas. This was used to determine
the band gaps of strongy-correlated insulators.
- Phonon dispersions and electron-phonon coupling matrix elements.
- Calculation of the Eliashberg function α2F(ω) and solving the Eliashberg equations.
- Inverse random phase approximation (RPA) dielectric function ε-1
(G,G',q,w) available as causal, time-ordered or Matsubara.
- Non-linear optical (NLO) second-harmonic generation.
- Generating and solving the Bethe-Salpeter equation (BSE).
- Linear-response time-dependent density functional theory (TDDFT).
Three forms of parallelism are implemented in Elk, and all can be used in combination with each
other, with efficiency depending on the particular task, crystal structure and computer system. OpenMP works for
symmetric multiprocessors, i.e. computers that have many cores with the same unified memory accessible to each. The
message passing interface (MPI) is particularly suitable for running Elk across multiple nodes of a cluster, with
scaling to hundreds of processors possible. Phonon calculations utilize a simple form of parallelism with the code
simply examining which dynamical matrices are missing from the run directory: this allows many computers to work
independently on a single phonon calculation.
Current and future developments at the MPI
- Continuing development of TDDFT including a new functional: the `boot-strap' kernel, which is able to predict
excitonic peaks in optical spectra. This is also being evaluated for the q > 0 case.
- Real-time evolution of solids under the influence of ultra-short laser pulses in the attosecond or low femtosecond
range. This is a flagship project of our institute and involves new methods for performing unitary time evolution of
the Kohn-Sham orbitals as well as the development of time-dependent functionals suitable for condensed matter.
- New superconducting density functional theory (SCDFT) method for ab-initio prediction of the superconducting
critical temperature Tc.
- Implementation of magnetic linear response functions for non-collinear systems in conjunction with DFT+U for
direct comparison with experiment as well as for use in the SCDFT functionals.
- Calculation the spectral density function for solids using RDMFT.
- Development of intrinsically non-collinear functionals beyond the usual method of diagonalising the spin-density
matrix and LSDA.
- An implimentation of the all-electron GW approximation, as well as extending this to include higher order terms in
the Hedin equations [Phys. Rev. 139, A796 (1965)].

- Figure 3: Simulated STM image of lithium atoms on a graphene sheet using the local
density of states (LDOS) function. Diagonalisation of the first-variational state was performed with a parallel
iterative algorithm. The unit cell contains 216 atoms with the lithium atoms highlighted.
We also have begun a biennial workshop, the CECAM Elk Tutorial, aimed at introducing new users to
the code and the methods used. The inaugural Tutorial took place in Lausanne from 18-23 July 2011 where experts in
various techniques used by Elk were invited to give presentations on their subject. These were recorded and are
available online at http://elk.sourceforge.net/cecam.html .
In the spirit of scientific openness, the code is released under the GNU General Public License
allowing for the free modification, scrutiny and redistribution of the code. Elk can be downloaded from elk.sourceforge.net .
To top