An all-electron full-potential linearised augmented-plane wave (LAPW) code
with many advanced features. Written originally at
Karl-Franzens-Universität Graz
as a milestone of the EXCITING EU Research and Training Network, the code is
designed to be as simple as possible so that new developments in
the field of density functional theory (DFT) can be added quickly and reliably.
The code is freely available under the
GNU General Public License.
Latest version: 7.2.42
News |
Features |
Download |
Documentation |
Forums |
Mailing list |
Contributions |
CECAM tutorial |
Links
Computer memory issues
The latest versions of Elk use stack space more aggressively which can result in
segmentation faults as threads exceed their stack space. To avoid this,
use the following script file (elk.sh) to run elk:
Change the number of threads (OMP_NUM_THREADS) to be equal to the number of cores per node on your machine.
This script can be then used with MPI and ensures each process has the same environment variables. Make sure mpirun has only one MPI process per node, for example:
Elk can use a substantial amount of computer memory and occasionally exhaust the available RAM. To reduce the memory requirement but still keep all the threads occupied you can use:
This restricts the number of threads at the first nesting level to maxthd/4. Deeper nesting levels, which generally require less memory, will still utilise the full compliment of available threads.
#!/bin/bash
export OMP_NUM_THREADS=32
export OMP_PROC_BIND=false
export OMP_STACKSIZE=256M
ulimit -Ss unlimited
~/elk/src/elk
export OMP_NUM_THREADS=32
export OMP_PROC_BIND=false
export OMP_STACKSIZE=256M
ulimit -Ss unlimited
~/elk/src/elk
Change the number of threads (OMP_NUM_THREADS) to be equal to the number of cores per node on your machine.
This script can be then used with MPI and ensures each process has the same environment variables. Make sure mpirun has only one MPI process per node, for example:
mpirun --mca btl openib,self,vader -bind-to none -pernode -np $NODES elk.sh
Elk can use a substantial amount of computer memory and occasionally exhaust the available RAM. To reduce the memory requirement but still keep all the threads occupied you can use:
maxthd1
-4
-4
This restricts the number of threads at the first nesting level to maxthd/4. Deeper nesting levels, which generally require less memory, will still utilise the full compliment of available threads.
GNU Fortran compiler issue
GNU Fortran versions 10 and 11 have now made argument type mismatches
errors instead of warnings. This is a mistake in our opinion because, for
example, it breaks code with legitimate calls to MPI routines such as mpi_bcast
with different input types within the same subroutine.
However, the error can be made into a warning again by including the command line option:
However, the error can be made into a warning again by including the command line option:
-fallow-argument-mismatch
Intel Fortran compiler bug
There appears to be a bug in versions 19.1.0 to 19.1.4 of the
Intel Fortran compiler which causes Elk to crash during multithreaded
reads and writes of direct-access files.
See here
and here.
We therefore recommend that you use Intel Fortran version 19.0.5 (or earlier) until the problem is resolved.
Update: the new Intel OneAPI Fortran compiler appears to have resolved the problem (or never had it in the first place) and runs Elk without issue. Thanks to Pavlov Nikita for testing this.
We therefore recommend that you use Intel Fortran version 19.0.5 (or earlier) until the problem is resolved.
Update: the new Intel OneAPI Fortran compiler appears to have resolved the problem (or never had it in the first place) and runs Elk without issue. Thanks to Pavlov Nikita for testing this.
Features
General
• High precision all-electron DFT code
• LAPW basis with local-orbitals
• APW radial derivative matching to arbitrary orders at muffin-tin surface (super-LAPW, etc.)
• Arbitrary number of local-orbitals allowed (all core states can be made valence for example)
• Every element in the periodic table available
• Total energies resolved into components
• LSDA and GGA functionals available
• Variational meta-GGA (in the generalised Kohn-Sham sense) available with Libxc
• Core states treated with the radial Dirac equation
• Simple to use: just one input file required with all input parameters optional
• Multiple tasks can be run consecutively
Structure and symmetry
• Determination of lattice and crystal symmetry groups from input lattice and atomic coordinates
• Determination of atomic coordinates from space group data (with the Spacegroup utility)
• XCrysDen and V_Sim file output
• Automatic reduction from conventional to primitive unit cell
• Automatic determination of muffin-tin radii
• Full symmetrisation of density and magnetisation and their conjugate fields
• Automatic determination and reduction of the k-point set
Magnetism
• Spin polarised calculations performed in the most general way: only (n(r); m(r)) and (vs(r); Bs(r)) are referred to in the code
• Spin symmetry broken by infinitesimal external fields
• Spin-orbit coupling (SOC) included in second-variational scheme
• Non-collinear magnetism (NCM) with arbitrary on-site magnetic fields
• Fixed spin-moment calculations (with SOC and NCM)
• Fixed tensor moment calculations (experimental)
• Spin-spirals for any q-vector
• Spin polarised cores
• Automatic determination of the magnetic anisotropy energy (MAE)
• Classical contribution of the spin and orbital dipole interaction can be added to the Kohn-Sham magnetic field
Plotting
• Band structure plotting with angular momentum character
• Total and partial density of states with irreducible representation projection
• Charge density plotting (1/2/3D)
• Plotting of exchange-correlation and Coulomb potentials (1/2/3D)
• Electron localisation function (ELF) plotting (1/2/3D)
• Fermi surface plotting (3D)
• Magnetisation plots (2/3D)
• Plotting of exchange-correlation magnetic field, Bxc (2/3D)
• Plotting of ∇⋅Bxc (1/2/3D)
• Wavefunction plotting (1/2/3D)
• Electric field (E=-∇V) plotting (1/2/3D)
• Simple scanning tunnelling microscopy (STM) imaging based on the local density of states (LDOS) (experimental)
• Current density plots (2/3D)
Forces and phonons
• Forces - including incomplete basis set (IBS) and core corrections
• Forces work with spin-orbit coupling, non-collinear magnetism and LDA+U
• Structural optimisation of both atomic positions and lattice vectors
• Iso-volumetric optimisation of unit cell
• Phonons for arbitrary q-vectors computed with density functional perturbation theory (DFPT)
• Phonons computed with the supercell method
• Phonon dispersion and density of states
• Thermodynamic quantities calculated from the phonon DOS: free energy, entropy, heat capacity
• Phonon calculations can be distributed across networked computers
• Electron-phonon coupling matrices
• Phonon linewidths
• Eliashberg function, α2F(ω)
• Electron-phonon coupling constant, λ
• McMillan-Allen-Dynes critical temperature, Tc
• Eliashberg equations solved self-consistently (experimental)
Advanced
• Exact exchange (EXX) optimised effective potential (OEP) method (with SOC and NCM)
• EXX energies (with SOC and NCM)
• Hartree-Fock for solids (with SOC and NCM)
• LDA+U: fully localised limit (FLL), around mean field (AFM) and interpolation between the two; works with SOC, NCM and spin-spirals
• Reduced density matrix functional theory (RDMFT) for solids
• Bethe-Salpeter equation (BSE), including beyond the Tamm-Dankoff approximation; works with SOC and NCM
• Time-dependent density functional theory (TDDFT) for linear optical response calculations
• Time evolution of the electronic state on femtosecond time-scales with TDDFT
• GW approximation spectral functions; works with SOC and NCM (experimental)
• GW spectral function band-structures (experimental)
• Ultra long-range calculations using a generalisation of the Bloch ansatz (experimental)
Miscellaneous
• Mössbauer hyperfine parameters: isomer shift, EFG and hyperfine contact fields
• First-order optical response
• Kerr angle and Magneto-Optic Kerr Effect (MOKE) output (experimental)
• Energy loss near edge structure (ELNES)
• Non-linear optical (NLO) second harmonic generation
• L, S, and J expectation values
• Effective mass tensor for any state
• Equation of state fitting (with the EOS utility)
• Iterative diagonalisation with fine-grained parallelisation
• Interface to the Libxc exchange-correlation functional library
Programming
• Clean, simple code structure - ideal for development
• OpenMP parallelisation
• Message passing interface (MPI) parallelisation
• Efficient OpenMP+MPI hybrid parallelism
• Strict Fortran 2003 compliance
• Only one language used
• Free-form style input file
• Full LaTeX documentation included with every subroutine
• High precision all-electron DFT code
• LAPW basis with local-orbitals
• APW radial derivative matching to arbitrary orders at muffin-tin surface (super-LAPW, etc.)
• Arbitrary number of local-orbitals allowed (all core states can be made valence for example)
• Every element in the periodic table available
• Total energies resolved into components
• LSDA and GGA functionals available
• Variational meta-GGA (in the generalised Kohn-Sham sense) available with Libxc
• Core states treated with the radial Dirac equation
• Simple to use: just one input file required with all input parameters optional
• Multiple tasks can be run consecutively
Structure and symmetry
• Determination of lattice and crystal symmetry groups from input lattice and atomic coordinates
• Determination of atomic coordinates from space group data (with the Spacegroup utility)
• XCrysDen and V_Sim file output
• Automatic reduction from conventional to primitive unit cell
• Automatic determination of muffin-tin radii
• Full symmetrisation of density and magnetisation and their conjugate fields
• Automatic determination and reduction of the k-point set
Magnetism
• Spin polarised calculations performed in the most general way: only (n(r); m(r)) and (vs(r); Bs(r)) are referred to in the code
• Spin symmetry broken by infinitesimal external fields
• Spin-orbit coupling (SOC) included in second-variational scheme
• Non-collinear magnetism (NCM) with arbitrary on-site magnetic fields
• Fixed spin-moment calculations (with SOC and NCM)
• Fixed tensor moment calculations (experimental)
• Spin-spirals for any q-vector
• Spin polarised cores
• Automatic determination of the magnetic anisotropy energy (MAE)
• Classical contribution of the spin and orbital dipole interaction can be added to the Kohn-Sham magnetic field
Plotting
• Band structure plotting with angular momentum character
• Total and partial density of states with irreducible representation projection
• Charge density plotting (1/2/3D)
• Plotting of exchange-correlation and Coulomb potentials (1/2/3D)
• Electron localisation function (ELF) plotting (1/2/3D)
• Fermi surface plotting (3D)
• Magnetisation plots (2/3D)
• Plotting of exchange-correlation magnetic field, Bxc (2/3D)
• Plotting of ∇⋅Bxc (1/2/3D)
• Wavefunction plotting (1/2/3D)
• Electric field (E=-∇V) plotting (1/2/3D)
• Simple scanning tunnelling microscopy (STM) imaging based on the local density of states (LDOS) (experimental)
• Current density plots (2/3D)
Forces and phonons
• Forces - including incomplete basis set (IBS) and core corrections
• Forces work with spin-orbit coupling, non-collinear magnetism and LDA+U
• Structural optimisation of both atomic positions and lattice vectors
• Iso-volumetric optimisation of unit cell
• Phonons for arbitrary q-vectors computed with density functional perturbation theory (DFPT)
• Phonons computed with the supercell method
• Phonon dispersion and density of states
• Thermodynamic quantities calculated from the phonon DOS: free energy, entropy, heat capacity
• Phonon calculations can be distributed across networked computers
• Electron-phonon coupling matrices
• Phonon linewidths
• Eliashberg function, α2F(ω)
• Electron-phonon coupling constant, λ
• McMillan-Allen-Dynes critical temperature, Tc
• Eliashberg equations solved self-consistently (experimental)
Advanced
• Exact exchange (EXX) optimised effective potential (OEP) method (with SOC and NCM)
• EXX energies (with SOC and NCM)
• Hartree-Fock for solids (with SOC and NCM)
• LDA+U: fully localised limit (FLL), around mean field (AFM) and interpolation between the two; works with SOC, NCM and spin-spirals
• Reduced density matrix functional theory (RDMFT) for solids
• Bethe-Salpeter equation (BSE), including beyond the Tamm-Dankoff approximation; works with SOC and NCM
• Time-dependent density functional theory (TDDFT) for linear optical response calculations
• Time evolution of the electronic state on femtosecond time-scales with TDDFT
• GW approximation spectral functions; works with SOC and NCM (experimental)
• GW spectral function band-structures (experimental)
• Ultra long-range calculations using a generalisation of the Bloch ansatz (experimental)
Miscellaneous
• Mössbauer hyperfine parameters: isomer shift, EFG and hyperfine contact fields
• First-order optical response
• Kerr angle and Magneto-Optic Kerr Effect (MOKE) output (experimental)
• Energy loss near edge structure (ELNES)
• Non-linear optical (NLO) second harmonic generation
• L, S, and J expectation values
• Effective mass tensor for any state
• Equation of state fitting (with the EOS utility)
• Iterative diagonalisation with fine-grained parallelisation
• Interface to the Libxc exchange-correlation functional library
Programming
• Clean, simple code structure - ideal for development
• OpenMP parallelisation
• Message passing interface (MPI) parallelisation
• Efficient OpenMP+MPI hybrid parallelism
• Strict Fortran 2003 compliance
• Only one language used
• Free-form style input file
• Full LaTeX documentation included with every subroutine
Download
Elk is free software: you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.
Elk is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more details. You should have
received a copy of the GNU General Public License along with Elk. If not, see
https://www.gnu.org/licenses/.
Elk is updated regularly with new features and bug fixes. Features not listed as experimental may be used for production but, as with any code, please check the consistency of your results carefully. The latest releases can be downloaded from SourceForge.net.
Release notes
elk-7.2.42
-added new RAM disk feature which allows Elk to store direct-access files in memory and can dramatically speed up calculations; enable this by setting 'ramdisk' to .true. in elk.in
-many optimisations throughout the code
-fixed an issue with the scissors operator in optical response code (task=320, 330, 331) for materials which are nearly metallic; thanks to Peter Elliott for pointing this out
-further improved the electron-phonon mean-field code
-added variables 'scalex', 'scaley' and 'scalez' to the input file; these allow scaling of the unit cell in the Cartesian directions
elk-7.1.14
-optimised the second-variational procedure by changing the muffin-tin dot products to single-precision arithmetic; this speeds up this step by at least a factor of two for large systems without losing overall precision or stability
-removed 'mixpack', 'phmixpack' and 'mixpacku' routines; Kohn-Sham potentials and fields are now stored in a single array accessed by pointer arrays; this removes the need for packing before and unpacking after mixing
-increased speed of direct access reads by removing unnecessary 'close' statements
-added an example for the ultra long-range method; see the input file in elk/examples/ultra-long-range/Cr-SDW/
-changed the Wannier90 .win file to improve the wannierisation convergence rate
-fixed several bugs in the electron-phonon mean-field method
-updated BLAS and LAPACK to version 3.9.0
-minor improvements and bug fixes
elk-7.0.12
-Chung-Yu Wang added electron-phonon mean-field theory; this is a new method and still highly experimental
-Alyn James wrote an interface for Elk to the DMFT code TRIQS; this interface is maintained in a separate branch of the Elk code found here.
-fixed serious problem with DFT+U for dftu=3 (interpolation of FLL and AFM); this bug was introduced some time ago; we recommend that you check any previous calculations which use dftu=3
-lots of optimisations throughout the code
-further improved Ehrenfest dynamics
-added the calculation of Born effective charges using Ehrenfest dynamics (task=478); this is intended as a test for the method; Born effective charges are more accurately calculated with the King-Smith and Vanderbilt method (task=208)
-Pietro Bonfa found and fixed several problems with the calculation of Mössbauer hyperfine fields
-PB also added a new Mössbauer example: antiferromagnetic NiF2; see the examples/Mossbauer/NiF2 directory
-Ronald Cohen fixed a bug in iso-volumetric lattice optimisation
-RC also discovered a problem with the Wu-Cohen '06 GGA functional which has now been fixed
-RC also suggested an efficiency improvement to the non-linear optics code
-added tests for non-linear optics
-Antonio Sanna helped fix a bug with TD forces
-Karel Carva discovered that lmaxo should be at least 7 for phonopy calculations
-change the default ntswrite from 10 to 500 time steps in order to reduce I/O
-confirmed compatibility with Libxc version 5.1.0
-Further improved the ultra long-range code; the method has now been published:
elk-6.8.4
-Born effective charges using the method of R. D. King-Smith and David Vanderbilt, Phys. Rev. B 47, 1651(R) (1993) are now available; see the directory elk/examples/Born-effective-charge
-added Ehrenfest dynamics to the code; see the directory elk/examples/TDDFT-time-evolution/FeCo-Ehrenfest (highly experimental)
-upgraded code to be compatible with Libxc version 5; note changes to the make.inc file
-the Libxc SCAN functional no longer works with Elk, the regularised version of A. P. Bartók and J. R. Yates, J. Chem. Phys. 150, 161101 (2019) works and should be used instead; see the meta-GGA examples
-Aldo Romero and his group interfaced PyProcar to Elk and confirmed that it worked with non-collinear magnetism; PyProcar is a robust, open-source Python library used for pre- and post-processing of the electronic structure data from DFT calculations
-implemented a great many optimisations throughout the entire code; more aggressive use of the stack instead of the heap, this may require the user to increase the stack space
-added the incomplete basis set (IBS) correction to forces from time-dependent vector potential, A(t)
-fixed bug related to lattice optimisation with non-symmorphic symmetries thanks to Andrew Shyichuk and Jack Whaley-Baldwin; see here
-added several new tests, including one for the stress tensor
-updated physical constants to CODATA 2018
-fixed wavefunction and STM plotting thanks to Andrew Shyichuk
-fixed bug in GW band structure code thanks to Antik Sihi
-fixed problem with fixed tensor moment calculations
-fixed problem in TDDFT real-time restart thanks to Peter Elliott
-Peter Elliott and JKD also added Maxwell's equations for the macroscopic induced vector potential
-updated and improved the ultra long-range code
-forces are now written during a TDDFT run every 'ntsforce' time steps
-matrix sizes larger than those addressable with four byte integers can now be used with BSE and MPI
-Hartree-Fock information is now written to HF_INFO.OUT rather than INFO.OUT
-parallelised the Brillouin zone integration (brzint) which considerably speeds up DOS calculations
-modified how the potential of the optimised effective potential (OEP) iteration scheme is initialised
-removed obsolete command from ProTex Perl script
-added tests for Libxc and MPI; run 'make test-libxc' and 'make test-MPI' respectively, or 'make test-all' to test everything
-fixed problem with hybrid functionals introduced a few versions back; also added a test for hybrids
elk-6.3.2
-very large speedup of the first-variational Hamiltonian and overlap matrix setup; this is particularly apparent for large systems
-made all of the numerical radial integrals much more efficient by storing the spline integration weights; this speeds up most of the code
-switched radial integral infinitesimal from 1/3 d(r^3) to r^2dr; this improves numerical accuracy and returns to the convention of version 5.2.14
-added full (l,m) and spin characters for plotting the band structure with so-called 'fat bands'; these are performed with new tasks 22 and 23; thanks to Jagdish Kumar for the suggestion
-Jagdish Kumar also fixed a problem with the phonon thermodynamic quantities which had an unnecessary prefactor of the number of atoms; see here
-fixed a problem with occurs with constant electric fields (when efieldc is made finite) and crystals with non-symmorphic symmetries
-Michael Fechner improved the fixed spin moment code by removing the requirement that unspecified muffin-tin fixed moments are checked for symmetry compliance
-added 1D plotting of the magnetisation density, exchange-correlation magnetic field, electric field and m(r) x B_xc(r) with tasks 71, 81, 141 and 151, respectively
-added density, potential and magnetisation plotting for ultra long-range calculations with tasks 731, 732, 733, 741, 742, 743, 771, 772 and 773
-constant electric fields can now be included in ultra long-range calculations; this can be done by setting the vector efielduc
-an arbitrary external Coulomb potential can now be read in for use in the ultra long-range calculations; set trdvclr=.true. and the potential is read from the file VCLR.OUT
elk-6.2.8
-Wannier90 interface added thanks to Arsenii Gerasimov, Yaroslav Kvashnin and Lars Nordström; and based on the original work of Duc Le and Jon Lafuente Bartolomé
-the Wannier90 interface can be used to produce Hartree-Fock band structures (see example) and also works with non-collinear spin-polarised calculations
-ultra long-range (ULR) calculations now available thanks to Tristan Müller (experimental)
-self-consistent density GW calculations now available thanks to Arkardy Davydov and others; this is a new method still undergoing testing and is thus experimental
-GW density matrix can now be written to file with task=640; the natural orbitals and occupation numbers are written to EVECSV.OUT and OCCSV.OUT, respectively
-classical spin and orbital dipole magnetic fields can now be calculated and added to the Kohn-Sham field (set tbdip=.true. and tcden=.true.)
-extensive optimisations throughout the code: every task should be noticeably faster
-improved OpenMP parallelism
-improved accuracy of the Mössbauer hyperfine field calculations
-added spin and orbital dipole terms to the hyperfine field
-updated constants and conversion factors to CODATA 2018
-added Andrew Shyichuk's improved check for requirement of the Tran-Blaha constant
-variational meta-GGA functionals (like SCAN) now work with forces
-added Roger Mason's fix to make FFTW thread-safe
-René Wirnata has created the Elk Optics Analyzer that helps to visualize and post-process optics output data
-regenerated species files with lower order local-orbitals
-improved k-point convergence of the electron-phonon coupling constant for calculation of superconducting properties
-upgraded to LAPACK 3.8.0
-changed default 'radkpt' from 30 to 40
-many minor improvements and bug fixes
elk-5.2.14
-Youzhao Lan found a bug which prevented potential-only meta-GGA functionals (like Tran-Blaha) from being used; this has now been fixed
-fixed meta-GGA atomic forces; thanks to Michael Porer for pointing out the problem
-Eike Schwier discovered a conflicting MPI variable name and also reported that the code crashes when generating species files; both problems are now fixed
-linear-response TDDFT off-diagonal components for q=0 now available (experimental)
elk-5.2.10
-GW code is much improved and also faster; the Pade analytic continuation of the self-energy is more stable and reliable
-OpenMP parallelism greatly improved; nesting is now permanently switched on and the number of threads is controlled by Elk itself; this should improve scaling on hundreds of CPU cores; please report any problems you have with parallelism on the forum
-GW spectral function band-structures are now possible, such as this for silicon:
...these calculations are very expensive; the above example took around 600 CPU days; but will work for insulators, metals, non-collinear magnetic systems and so on; this feature is still experimental
-Yaroslav Kvashnin and Lars Nordström found and fixed a bug in the fixed spin moment direction code
-fully variational meta-GGA (in the generalised Kohn-Sham sense) is now running in conjunction with Libxc (experimental)
-variational meta-GGA works only with collinear magnetism; let us know if you have an idea on how to extend it to the non-collinear case
-Elk now interfaces to Libxc version 4 -- please update your library from version 2
-gauge invariant current density plots in 2D and 3D now available (tasks 372 and 373)
-the entire code is much faster, particularly advanced methods like Hartree-Fock, RDMFT, BSE and GW; this is in part due to a 'coarse' Fourier grid for the wavefunctions
-the lmaxi has been changed from 3 to 1 and several optimisations based on this have been hard-coded into Elk
-Broyden mixing (mixtype=3) is now the default; magnetic calculations will now converge using a small bfieldc or bfcmt thanks to an improved magnetisation initialisation scheme
-real-time TDDFT calculations no longer require 'nosym=.true.' but rather 'tshift=.false.' and are much faster as a consequence
-2D and 3D current density plotting now available with tasks 272 and 273, respectively
-task 480 generates a linear-response dielectric function calculation from a time-evolution run
-lots of optimisations everywhere in the code, including additional OpenMP directives
-lots of minor improvements and bug fixes
-cleaned up and improved examples
-several direct access files are not closed after reading which speeds up file I/O; please report any problems with this on the forum
-added new RAM disk feature which allows Elk to store direct-access files in memory and can dramatically speed up calculations; enable this by setting 'ramdisk' to .true. in elk.in
-many optimisations throughout the code
-fixed an issue with the scissors operator in optical response code (task=320, 330, 331) for materials which are nearly metallic; thanks to Peter Elliott for pointing this out
-further improved the electron-phonon mean-field code
-added variables 'scalex', 'scaley' and 'scalez' to the input file; these allow scaling of the unit cell in the Cartesian directions
elk-7.1.14
-optimised the second-variational procedure by changing the muffin-tin dot products to single-precision arithmetic; this speeds up this step by at least a factor of two for large systems without losing overall precision or stability
-removed 'mixpack', 'phmixpack' and 'mixpacku' routines; Kohn-Sham potentials and fields are now stored in a single array accessed by pointer arrays; this removes the need for packing before and unpacking after mixing
-increased speed of direct access reads by removing unnecessary 'close' statements
-added an example for the ultra long-range method; see the input file in elk/examples/ultra-long-range/Cr-SDW/
-changed the Wannier90 .win file to improve the wannierisation convergence rate
-fixed several bugs in the electron-phonon mean-field method
-updated BLAS and LAPACK to version 3.9.0
-minor improvements and bug fixes
elk-7.0.12
-Chung-Yu Wang added electron-phonon mean-field theory; this is a new method and still highly experimental
-Alyn James wrote an interface for Elk to the DMFT code TRIQS; this interface is maintained in a separate branch of the Elk code found here.
-fixed serious problem with DFT+U for dftu=3 (interpolation of FLL and AFM); this bug was introduced some time ago; we recommend that you check any previous calculations which use dftu=3
-lots of optimisations throughout the code
-further improved Ehrenfest dynamics
-added the calculation of Born effective charges using Ehrenfest dynamics (task=478); this is intended as a test for the method; Born effective charges are more accurately calculated with the King-Smith and Vanderbilt method (task=208)
-Pietro Bonfa found and fixed several problems with the calculation of Mössbauer hyperfine fields
-PB also added a new Mössbauer example: antiferromagnetic NiF2; see the examples/Mossbauer/NiF2 directory
-Ronald Cohen fixed a bug in iso-volumetric lattice optimisation
-RC also discovered a problem with the Wu-Cohen '06 GGA functional which has now been fixed
-RC also suggested an efficiency improvement to the non-linear optics code
-added tests for non-linear optics
-Antonio Sanna helped fix a bug with TD forces
-Karel Carva discovered that lmaxo should be at least 7 for phonopy calculations
-change the default ntswrite from 10 to 500 time steps in order to reduce I/O
-confirmed compatibility with Libxc version 5.1.0
-Further improved the ultra long-range code; the method has now been published:
elk-6.8.4
-Born effective charges using the method of R. D. King-Smith and David Vanderbilt, Phys. Rev. B 47, 1651(R) (1993) are now available; see the directory elk/examples/Born-effective-charge
-added Ehrenfest dynamics to the code; see the directory elk/examples/TDDFT-time-evolution/FeCo-Ehrenfest (highly experimental)
-upgraded code to be compatible with Libxc version 5; note changes to the make.inc file
-the Libxc SCAN functional no longer works with Elk, the regularised version of A. P. Bartók and J. R. Yates, J. Chem. Phys. 150, 161101 (2019) works and should be used instead; see the meta-GGA examples
-Aldo Romero and his group interfaced PyProcar to Elk and confirmed that it worked with non-collinear magnetism; PyProcar is a robust, open-source Python library used for pre- and post-processing of the electronic structure data from DFT calculations
-implemented a great many optimisations throughout the entire code; more aggressive use of the stack instead of the heap, this may require the user to increase the stack space
-added the incomplete basis set (IBS) correction to forces from time-dependent vector potential, A(t)
-fixed bug related to lattice optimisation with non-symmorphic symmetries thanks to Andrew Shyichuk and Jack Whaley-Baldwin; see here
-added several new tests, including one for the stress tensor
-updated physical constants to CODATA 2018
-fixed wavefunction and STM plotting thanks to Andrew Shyichuk
-fixed bug in GW band structure code thanks to Antik Sihi
-fixed problem with fixed tensor moment calculations
-fixed problem in TDDFT real-time restart thanks to Peter Elliott
-Peter Elliott and JKD also added Maxwell's equations for the macroscopic induced vector potential
-updated and improved the ultra long-range code
-forces are now written during a TDDFT run every 'ntsforce' time steps
-matrix sizes larger than those addressable with four byte integers can now be used with BSE and MPI
-Hartree-Fock information is now written to HF_INFO.OUT rather than INFO.OUT
-parallelised the Brillouin zone integration (brzint) which considerably speeds up DOS calculations
-modified how the potential of the optimised effective potential (OEP) iteration scheme is initialised
-removed obsolete command from ProTex Perl script
-added tests for Libxc and MPI; run 'make test-libxc' and 'make test-MPI' respectively, or 'make test-all' to test everything
-fixed problem with hybrid functionals introduced a few versions back; also added a test for hybrids
elk-6.3.2
-very large speedup of the first-variational Hamiltonian and overlap matrix setup; this is particularly apparent for large systems
-made all of the numerical radial integrals much more efficient by storing the spline integration weights; this speeds up most of the code
-switched radial integral infinitesimal from 1/3 d(r^3) to r^2dr; this improves numerical accuracy and returns to the convention of version 5.2.14
-added full (l,m) and spin characters for plotting the band structure with so-called 'fat bands'; these are performed with new tasks 22 and 23; thanks to Jagdish Kumar for the suggestion
-Jagdish Kumar also fixed a problem with the phonon thermodynamic quantities which had an unnecessary prefactor of the number of atoms; see here
-fixed a problem with occurs with constant electric fields (when efieldc is made finite) and crystals with non-symmorphic symmetries
-Michael Fechner improved the fixed spin moment code by removing the requirement that unspecified muffin-tin fixed moments are checked for symmetry compliance
-added 1D plotting of the magnetisation density, exchange-correlation magnetic field, electric field and m(r) x B_xc(r) with tasks 71, 81, 141 and 151, respectively
-added density, potential and magnetisation plotting for ultra long-range calculations with tasks 731, 732, 733, 741, 742, 743, 771, 772 and 773
-constant electric fields can now be included in ultra long-range calculations; this can be done by setting the vector efielduc
-an arbitrary external Coulomb potential can now be read in for use in the ultra long-range calculations; set trdvclr=.true. and the potential is read from the file VCLR.OUT
elk-6.2.8
-Wannier90 interface added thanks to Arsenii Gerasimov, Yaroslav Kvashnin and Lars Nordström; and based on the original work of Duc Le and Jon Lafuente Bartolomé
-the Wannier90 interface can be used to produce Hartree-Fock band structures (see example) and also works with non-collinear spin-polarised calculations
-ultra long-range (ULR) calculations now available thanks to Tristan Müller (experimental)
-self-consistent density GW calculations now available thanks to Arkardy Davydov and others; this is a new method still undergoing testing and is thus experimental
-GW density matrix can now be written to file with task=640; the natural orbitals and occupation numbers are written to EVECSV.OUT and OCCSV.OUT, respectively
-classical spin and orbital dipole magnetic fields can now be calculated and added to the Kohn-Sham field (set tbdip=.true. and tcden=.true.)
-extensive optimisations throughout the code: every task should be noticeably faster
-improved OpenMP parallelism
-improved accuracy of the Mössbauer hyperfine field calculations
-added spin and orbital dipole terms to the hyperfine field
-updated constants and conversion factors to CODATA 2018
-added Andrew Shyichuk's improved check for requirement of the Tran-Blaha constant
-variational meta-GGA functionals (like SCAN) now work with forces
-added Roger Mason's fix to make FFTW thread-safe
-René Wirnata has created the Elk Optics Analyzer that helps to visualize and post-process optics output data
-regenerated species files with lower order local-orbitals
-improved k-point convergence of the electron-phonon coupling constant for calculation of superconducting properties
-upgraded to LAPACK 3.8.0
-changed default 'radkpt' from 30 to 40
-many minor improvements and bug fixes
elk-5.2.14
-Youzhao Lan found a bug which prevented potential-only meta-GGA functionals (like Tran-Blaha) from being used; this has now been fixed
-fixed meta-GGA atomic forces; thanks to Michael Porer for pointing out the problem
-Eike Schwier discovered a conflicting MPI variable name and also reported that the code crashes when generating species files; both problems are now fixed
-linear-response TDDFT off-diagonal components for q=0 now available (experimental)
elk-5.2.10
-GW code is much improved and also faster; the Pade analytic continuation of the self-energy is more stable and reliable
-OpenMP parallelism greatly improved; nesting is now permanently switched on and the number of threads is controlled by Elk itself; this should improve scaling on hundreds of CPU cores; please report any problems you have with parallelism on the forum
-GW spectral function band-structures are now possible, such as this for silicon:
...these calculations are very expensive; the above example took around 600 CPU days; but will work for insulators, metals, non-collinear magnetic systems and so on; this feature is still experimental
-Yaroslav Kvashnin and Lars Nordström found and fixed a bug in the fixed spin moment direction code
-fully variational meta-GGA (in the generalised Kohn-Sham sense) is now running in conjunction with Libxc (experimental)
-variational meta-GGA works only with collinear magnetism; let us know if you have an idea on how to extend it to the non-collinear case
-Elk now interfaces to Libxc version 4 -- please update your library from version 2
-gauge invariant current density plots in 2D and 3D now available (tasks 372 and 373)
-the entire code is much faster, particularly advanced methods like Hartree-Fock, RDMFT, BSE and GW; this is in part due to a 'coarse' Fourier grid for the wavefunctions
-the lmaxi has been changed from 3 to 1 and several optimisations based on this have been hard-coded into Elk
-Broyden mixing (mixtype=3) is now the default; magnetic calculations will now converge using a small bfieldc or bfcmt thanks to an improved magnetisation initialisation scheme
-real-time TDDFT calculations no longer require 'nosym=.true.' but rather 'tshift=.false.' and are much faster as a consequence
-2D and 3D current density plotting now available with tasks 272 and 273, respectively
-task 480 generates a linear-response dielectric function calculation from a time-evolution run
-lots of optimisations everywhere in the code, including additional OpenMP directives
-lots of minor improvements and bug fixes
-cleaned up and improved examples
-several direct access files are not closed after reading which speeds up file I/O; please report any problems with this on the forum
Documentation
The Elk Code Manual is available, as is a manual for
the Spacegroup utility. You can ask and answer questions in the
Elk forums on
SourceForge.net.
A mailing list
is available for notification of new releases, features and bugs in the code.
There is also a collection of useful links.
Citation of Elk
Citation of the code is not mandatory but would be appreciated by the contributors. A reference to the Elk website using this BibTeX entry will suffice.
Citation of Elk
Citation of the code is not mandatory but would be appreciated by the contributors. A reference to the Elk website using this BibTeX entry will suffice.
Contributions
Main authors and contributors
Kay Dewhurst, Sangeeta Sharma, Lars Nordström, Francesco Cricchio, Oscar Grånäs, Hardy Gross, Claudia Ambrosch-Draxl, Clas Persson, Fredrik Bultmark, Christian Brouder, Rickard Armiento, Andrew Chizmeshya, Per Anderson, Igor Nekrasov, Frank Wagner, Fateh Kalarasse, Jürgen Spitaler, Stefano Pittalis, Nektarios Lathiotakis, Tobias Burnus, Stephan Sagmeister, Christian Meisenbichler, Sébastien Lebègue, Yigang Zhang, Fritz Körmann, Alexey Baranov, Anton Kozhevnikov, Shigeru Suehara, Frank Essenberger, Antonio Sanna, Tyrel McQueen, Tim Baldsiefen, Marty Blaber, Anton Filanovich, Torbjörn Björkman, Martin Stankovski, Jerzy Goraus, Markus Meinert, Daniel Rohr, Vladimir Nazarov, Kevin Krieger, Pink Floyd, Arkardy Davydov, Florian Eich, Aldo Romero Castro, Koichi Kitahara, James Glasbrenner, Konrad Bussmann, Igor Mazin, Matthieu Verstraete, David Ernsting, Stephen Dugdale, Peter Elliott, Marcin Dulak, José A. Flores Livas, Stefaan Cottenier, Yasushi Shinohara, Michael Fechner, Yaroslav Kvashnin, Tristan Müller, Arsenii Gerasimov, Manh Duc Le, Jon Lafuente Bartolomé, René Wirnata, Jagdish Kumar, Andrew Shyichuk, Nisha Singh, Pietro Bonfa, Ronald Cohen, Alyn James
Contributing to Elk
If you have made a modification to part of the code which makes it faster, simpler or produces additional results, then feel free to send it to one of the main authors, who may then incorporate it into the main branch. Groups and individuals are actively encouraged to develop and release their own specialised versions of the Elk code under the GPL. However, in order to avoid any confusion, please use a different name for your version of the code. We suggest you append the name of your location to Elk, for example: Elk-Uppsala.
Kay Dewhurst, Sangeeta Sharma, Lars Nordström, Francesco Cricchio, Oscar Grånäs, Hardy Gross, Claudia Ambrosch-Draxl, Clas Persson, Fredrik Bultmark, Christian Brouder, Rickard Armiento, Andrew Chizmeshya, Per Anderson, Igor Nekrasov, Frank Wagner, Fateh Kalarasse, Jürgen Spitaler, Stefano Pittalis, Nektarios Lathiotakis, Tobias Burnus, Stephan Sagmeister, Christian Meisenbichler, Sébastien Lebègue, Yigang Zhang, Fritz Körmann, Alexey Baranov, Anton Kozhevnikov, Shigeru Suehara, Frank Essenberger, Antonio Sanna, Tyrel McQueen, Tim Baldsiefen, Marty Blaber, Anton Filanovich, Torbjörn Björkman, Martin Stankovski, Jerzy Goraus, Markus Meinert, Daniel Rohr, Vladimir Nazarov, Kevin Krieger, Pink Floyd, Arkardy Davydov, Florian Eich, Aldo Romero Castro, Koichi Kitahara, James Glasbrenner, Konrad Bussmann, Igor Mazin, Matthieu Verstraete, David Ernsting, Stephen Dugdale, Peter Elliott, Marcin Dulak, José A. Flores Livas, Stefaan Cottenier, Yasushi Shinohara, Michael Fechner, Yaroslav Kvashnin, Tristan Müller, Arsenii Gerasimov, Manh Duc Le, Jon Lafuente Bartolomé, René Wirnata, Jagdish Kumar, Andrew Shyichuk, Nisha Singh, Pietro Bonfa, Ronald Cohen, Alyn James
Contributing to Elk
If you have made a modification to part of the code which makes it faster, simpler or produces additional results, then feel free to send it to one of the main authors, who may then incorporate it into the main branch. Groups and individuals are actively encouraged to develop and release their own specialised versions of the Elk code under the GPL. However, in order to avoid any confusion, please use a different name for your version of the code. We suggest you append the name of your location to Elk, for example: Elk-Uppsala.
Special versions of Elk/EXCITING
Elk-TRIQS
- a version of Elk which interfaces to the DMFT code
TRIQS
elk-w90-improved - a version of Elk with the full interface to Wannier90
The exciting Code
elk-w90-improved - a version of Elk with the full interface to Wannier90
The exciting Code
Codes which interact with Elk
PyProcar
- a robust, open-source Python library used for pre- and post-processing of the
electronic structure data
Elk Optics Analyzer - a tool to plot and analyze optics output generated by Elk
DGrid - a program for the generation and analysis of properties on equidistant grids
ASE - The Atomic Simulation Environment
Libxc - an extensive library of LDA and GGA exchange-correlation functionals
NOMAD - established to host, organize, and share materials data
Phonopy - an open source package for phonon calculations at harmonic and quasi-harmonic levels
Elk Optics Analyzer - a tool to plot and analyze optics output generated by Elk
DGrid - a program for the generation and analysis of properties on equidistant grids
ASE - The Atomic Simulation Environment
Libxc - an extensive library of LDA and GGA exchange-correlation functionals
NOMAD - established to host, organize, and share materials data
Phonopy - an open source package for phonon calculations at harmonic and quasi-harmonic levels
0 Comments