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.
General concepts
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
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.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 densityDFT+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)].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).
Parallelism
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)].
CECAM Elk Tutorial
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 .
Licensing
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 .
https://www2.mpi-halle.mpg.de/theory_department/research/elk_code_development/
0 Comments