elk-10.4.9 -fixed minor issue with reporting the number of linearisation energies not found -Eddie Harris-Lee made additions to the spin-polarised time-dependent vector potential code -Wenhan Chen sped up the code for generating the ultra long-range density and magnetisation -improved the code for saving the mixing work array elk-10.4.5 -added kinetic energy density functional ktype=51; this is the Thomas-Fermi functional derivative scaled to match the exact tau; used for partially deorbitalised meta-GGA functionals; experimental feature -Eddie Harris-Lee added an option to save the mixer work array; enabled by setting 'mixsave' to .true.; this should improve the convergence of restarted calculations -the first-variational Hamiltonian set up is now much faster -made some of the tests less fragile; test failures should not occur anymore -added a third column to the ultra long-range band structure; this is the expectation value of the reciprocal space distance from the central k-point -fixed a race condition bug in gencore -added documentation elk-10.3.12 -Pietro Bonfa added an option of having a reference set of lattice vectors (avecref), used for generating the set of G-vectors and derived quantities; this is useful for keeping the G-vector grid fixed when calculating precise energy-volume curves -made the APW-APW part of Hamiltonian numerically Hermitian; this improves stability of the code when rgkmax is large; thanks to Pietro Bonfa for all the testing -power and energy density of the time-dependent A-field is now written with task=455 -Fourier transform of the time-dependent electric field is written with task=456 -the order of the muffin-tin gradient smoothing (msmgmt) is now set to zero by default -the polynomial order for computing the gradient of the APW and local orbitals at the muffin-tin radius (npapwlo) has been separated into two variables npapw and nplorb and increased from 4 to 8 -made adjustments to the 'vhighq' and 'uhighq' settings -added a strain-stress example, see: elk/examples/strain-stress/quartz/ -'trimvg' has been removed as an input variable: it is now effectively always enabled -total muffin-tin volume and ratio of total muffin-tin to unit cell volume is now written to INFO.OUT; thanks to Markus Meinert -the first- and second-variational eigenvalue equations are now faster thanks to larger work arrays -the real first-variational Hamiltonian setup is now more memory efficient -added more documentation -task 120 (writing the momentum matrix elements) will now always write to disk irrespective of 'wrtdsk' -minor optimisations and improvements -added a batch calculation of the spin-spiral state of γ-Fe, see: elk/examples/batch-calculations/spin-spiral -the equation-of-state (EOS) code now produces additional output elk-10.2.4 -many optimisations -Wenhan Chen added the ultra long-range total density of states (DOS) with task=710 -removed a small amount (10^-10) from the valence charge in order to pin the Fermi energy to the highest occupied band; this improves stability when autolinengy=.true.; thanks to Pietro Bonfa for the careful testing -added new variable 'rmtscf' which is the scaling factor for all input muffin-tin radii elk-10.1.15 -updated Elk to work with the Libxc Fortran 2003 interface and allow use of both versions 6 and 7, following discussion on the forum -minor updates and optimisations elk-10.1.12 -new tasks for plotting the Fermi surface: task=103 writes a single smooth delta function at the Fermi energy; task=104 writes separate smooth delta functions at the Fermi energy for each eigenvalue; thanks to Wenhan Chen for adding this -added the ultra long-range spin dipole-dipole interaction; this is enabled by setting 'tbdipu' to .true.; this is an experimental feature -the spin dipole magnetic field can now be scaled with the variable 'bdipscf' (default 1); this applies to both the microscopic and ultra long-range fields -Eddie Harris-Lee found a symmetry problem with the static spin-dependent vector potential; this is now fixed -added a restart option: just create an empty file RESTART in the running directory and Elk will re-read elk.in and start again; this is useful when running on a shared computer system and you want to change an input parameter without losing your slot -added 'tpdos' flag; set this to .false. and the partial DOS will not be calculated; this can speed up TDDFT calculations when the PDOS is not required -fixed the Magneto-optical Kerr effect (MOKE) example in elk/examples/TDDFT-optics/Ni-MOKE -added code documentation -many small improvements and optimisations -fixed a problem with the time- and k-point dependent excited charge and magnetisation written when 'tdxrmk' is set to .true. elk-10.0.15 -considerable speed-up of most of the code thanks to improved use of the fast Fourier transform; real-time evolution is now over twice as fast -improved DFPT phonon calculations for heavier atoms by changing how the Hellmann-Feynman derivative is evaluated -improved symmetrisation of the phonon dispersions by enforcing time reversal symmetry -non-analytic term for the LO-TO splitting in polar semiconductors can now be included by setting 'tphnat' to .true.; this requires that the dielectric function tensor and Born effective charges are calculated first -new and updated phonon examples for hBC and GaAs in the elk/examples/phonons-superconductivity directory; thanks to Felix Kahlert for testing the GaAs example -Eddie Harris-Lee added to the spin-current code -Wenhan Chen added to the ultra long-range code -the time- and k-point dependent excited charge and magnetisation can now be written every ntswrite steps by setting tdxrmk to .true. -the calculated linear and non-linear optical components can now be specified with the number 'noptcomp' rather than having to list them individually with 'optcomp' -fixed an issue with the Wannier90 spin-polarised matrix elements written to wannier.spn; the y-component had been negated -the FFT prime factors can now be chosen with 'npfftg', 'npfftgc', 'npfftq' and 'npfftw' for the G-vector, coarse G-vector, Q-vector (for ultra long-range) and Matsubara frequency FFTs, respectively -Mössbauer hyperfine field calculations are now more accurate elk-9.6.8 -fixed an issue with Fermi surface plotting for the collinear spin-polarised case; the k-point set is not reduced for the collinear spin-polarised case; thanks to Wenhan Chen for discovering this -many simplifications and optimisations in the code -changed smallest allowed perturbation theory denominator (epsdev) from 0.005 to 0.0025 for DFPT phonon calculations -added more examples, including the DFPT phonon dispersion of NiTe2 thanks to Jerry Li and the altermagnet CrSb thanks to Wenhan Chen -added two more Wannier90 examples: graphene thanks to Jyoti Krishna and the spin Hall conductivity of Pt thanks to Markus Meinert -further optimised OpenMP parallelism -documented all the tasks in the manual elk-9.5.14 -Wannier90 UNK files are now written; thanks to Andrew Shyichuk for the suggestion -made a work-around for an Intel compiler bug which occurs when extra Wannier90 data is read from elk.in; this problem was discovered by Jerry Li -added Wannier90 copper example thanks to Jerry Li -improved the application of a constant electric field across the unit cell; the maximum distance over which it is applied can now be set with 'dmaxefc' -included an example and test case for a constant electric field across the cell; the example can be found in elk/examples/electric-field/WSe2-bilayer and demonstrates band gap closure under applied high field strengths -the average electric field in each muffin-tin is written to INFO.OUT when an electric field is applied -added a high harmonic generation (HHG) example; see elk/examples/TDDFT-time-evolution/GaAs-HHG -further improved OpenMP parallelism -minor optimisations elk-9.5.1 -fixed an issue with the scissor operator applied to TDDFT -fixed a problem with FFTW called by several threads simultaneously; thanks to Andreas Fischer for discovering this -task=485 (writeejw) has been removed; the frequency-dependent electric field (EFIELDW.OUT) and total current (JTOTW.OUT) are now written with task=480/481 -the Wannier90 initial projections file wannier.amn is now always written; however, the projections are set to random complex numbers; this appears to have improved the Wannierisation step -the number of Wannier wavefunctions (num_wann) can now be less than number of bands; if num_wann ≤ 0 then num_wann → num_bands+num_wann -updated the Wannier90 examples -fixed an issue with the time-dependent total energy -several OpenMP optimisations elk-9.4.2 -further improvements to the GW code, including changing some parts to single-precision arithmetic -fixed a problem with thread allocation discovered by Andreas Fischer and colleagues here -replaced complex-complex FFTs to real-complex where possible -task 485 now also outputs the frequency-dependent electric field as EFIELDW.OUT -minor changes and optimisations elk-9.2.12 -fixed intialisation issue with writing tensor moments via task=400 with DFT+U and inpdftu=5; thanks to Marjana Lezaic for pointing this out -added a new feature for averaging the muffin-tin radii in order to stabilise some calculations with large variation in radii; set the variable 'mrmtav' to the order of averaging of the radii; see the manual for details -made improvements to the GW code -adjusted the parameter settings used for 'stable' and 'metagga' options -added documentation to code elk-9.2.5 -further improved meta-GGA partial deorbitalisation; re-enabled the 'metagga' option; set this to .true. when running meta-GGA calculations and the code sets several input variables to improve convergence; see examples for details -setting 'trimvg' to .true. (which is the default) causes only the exchange-correlation potential to be trimmed for |G| > 2 gkmax instead of the full Kohn-Sham potential; this improves the smoothness of energy-volume curves -calculation of the BSE dielectric function (task=187) is now considerably faster and runs in parallel -added the constant term associated with a static A-field to the total energy -modified the findsymcrys routine so that all symmetries are found even when tshift=.false. elk-9.1.15 -added piezoelectric and magnetoelectric tensors as tasks 380 and 390, respectively; see the examples for details; these are currently experimental features -exchange-correlation functionals with Laplacian terms now working; this includes the deorbitalised functionals of Mejia-Rodriguez and Trickey, Phys. Rev. B 98, 115161 (2018) -improved the meta-GGA partial deorbitalisation: it now works with the complete range of kinetic energy density functionals in Libxc (see arXiv:2304.02363) -improved the interface to Libxc -removed potential-only meta-GGA functionals -time-dependent Kohn-Sham states are now orthogonlised using a singular value decomposition every 'ntsorth' time-steps in order to improve stability; the default is 1000 time-steps -new task 485 outputs the Fourier transform of the time-dependent total current J(ω) -new input variable 'jtconst0' will, when set to .true., zero the constant part of J(t) before the dielectric function is calculated with tasks 480 and 481 -changed large parts of the code to single-precision arithmetic including Hartree-Fock, RDMFT, OEP, GW and the linear-response functions; as a consequence the code is considerably faster -changed relational operator symbols such as .le., .gt., etc. to '<=', '>', etc. in line with modern Fortran style -increased maximum allowed number of files on the RAM disk to 32 -many optimisations and minor bug fixes -added more and improved existing OpenMP parallelism -Elk has been recognized with a Community Leader Award by SourceForge; thanks to all the users and contributors for making the code as useful as it is, as well as for making the forums a congenial place for everyone elk-8.8.26 -molecular dynamics now available with task=420/421; see the examples in the elk/examples/molecular-dynamics directory -simulated annealing calculations for crystal structure discovery are now possible; see the example in elk/examples/molecular-dynamics/annealing; note that this is an experimental feature -removed the 'msmooth' option -restored the 'trimvg' option and enabled it by default; this makes calculations more stable -changed the 'stable' options -structural optimisation is now more reliable -muffin-tin radii can now increase as well as decrease during structural optimisation or molecular dynamics runs -added examples of the coupled electron-phonon Bogoliubov equations; see elk/examples/Bogoliubov -added a 'step' type A-field; this corresponds to a vector potential which is switched on and off at given times -improved the iterative eigenvalue method for the first-variational step -minor optimisations and improvements elk-8.7.10 -fixed a problem with calculating the current density for spin-spirals; thanks to Zhiwei Li for finding this -minor optimisations elk-8.7.6 -fixed an issue which affects thread creation in OpenMP nested loops with libgomp; this should give a considerable increase in speed for Elk compiled with GFortran -minor optimisations and bug fixes elk-8.7.2 -fixed problem of writing TDDFT density of states with wrtdsk=.false., discovered by Eddie Harris-Lee -fixed problem of restarting from TDDFT backup files, found by Mila Adamska -removed an OpenMP regression which caused substantial slow-down of TDDFT -added more documentation -minor optimisations and bug fixes elk-8.6.7 -added dynamical Born effective charges (dynBEC); see Phys. Rev. B 106, L180303 (2022) -included a dynBEC example of hexagonal boron nitride; see the elk/examples/Born-effective-charge/hBN-dynBEC/ directory -fixed a problem with spin-unpolarised DFT+U calculations; thanks to Mike Bruckhoff for discovering this -updated to Libxc version 6 -changed to single-precision orbitals in many routines; this should reduce memory requirements and improve speed -removed the bundled BLAS/LAPACK and FFTPACK libraries -removed the 'setup' script and modified the 'make.inc' file elk-8.5.10 -improved OpenMP parallelism -added variables to VARIABLES.OUT which are written on completion of geometry optimisation, for example 'engytot (geomopt)' -adjusted several default parameters elk-8.5.2 -created an interface to the kinetic energy functionals of Libxc -further optimisation of the code -added magnetic anisotropy energy (MAE) test -fixed a problem of using wrtdsk=.false. with TDDFT -various minor bug fixes elk-8.4.30 -included the Libxc interface (libxcf90.f90) again with Elk; thanks to Michael Banck for pointing out a problem with its omission -fixed a minor problem with electron localisation function (ELF) plots -several small changes and optimisations elk-8.4.21 -fixed problem with Ehrenfest TDDFT restarts (task 463); thanks to Peter Elliott for discovering this bug -added option to avoid writing some direct access files to disk; this can be done by setting 'wrtdsk=.false.' and can speed the code up dramatically, particularly on networked filesystems; however, this can result in the code crashing for some tasks and should be used carefully! -made some small changes (particularly to the RAM disk feature) to improve portability; tested the code with Intel, GNU, PGI, NAG and NVIDIA Fortran compilers -parallelised the RPA dielectric function calculation (task 121) with MPI -many optimisations and small bug fixes -the coupled electron-phonon Bogoliubov equations method (task 270) has been published as Editors' Suggestion in Physical Review B: https://doi.org/10.1103/PhysRevB.105.174509 elk-8.4.6 -fixed problem with real-time TDDFT restarts (tasks 461 and 463); this problem occurred only very rarely for systems with particular symmetries; thanks to Antonio Sanna for finding this -added batch calculations as a new feature; with this Elk can perform multiple runs while adjusting a particular parameter -- for example producing an energy vs volume plot; see the examples in elk/examples/batch-calculations -input and output variables will be added to batch calculations upon request -Yunfan Liang and Xavier Gonze discovered a problem in the non-linear optical response formalism of our work in Phys. Rev. B 67, 165332 (2003); consequently, the non-linear optics code has been completely re-written and throughly tested; see the example in /elk/examples/non-linear-optics -the speed ultra long-range calculations has been greatly improved thanks to changes in the generation of the long-range density and magnetisation -several minor bug fixes, optimisations and improvements -Elk has been recognized with a Community Choice award by SourceForge; thanks to all the users and contributors for making the code as useful as it is, as well as for making the forums a congenial place for everyone elk-8.3.22 -fixed a bug which occured when using the OpenBLAS library with Elk's RAM disk feature; thanks to Marcin Dulak for finding this elk-8.3.20 -included missing BLAS and LAPACK files in the package; thanks to Jagdish Kumar for pointing out the omissions elk-8.3.15 -considerable speed-up and optimisations throughout the entire code; spin-polarised calculations in particular are substantially faster -greatly improved the meta-GGA calculations; these no longer require a large number of empty states for good convergence and consequently run much faster; removed the 'metagga' flag; thanks to Pietro Bonfa for the careful testing -checked and highly optimised the TDDFT+U calculations -removed the DFT+U scheme which interpolated between FLL and AFM -rearranged the order of phonon line width plots to match that of the phonon dispersion plots -further improved the electron-phonon Bogoliubov method; thanks to Chung-Yu Wang for the careful testing -rewrote much of the tensor moment code; the tensor moments are now real and exclusively of the 3-index type; the corresponding matrices Gamma_t^kpr are now Hermitian and orthonormal; see the documentation of the routines 'tm2todm' and 'tm3todm' and references therein; thanks to Leon Kerber for extensive testing -writing out the old convention of complex 3-index tensor moments can be enabled with 'tm3old=.true.' -Leon Kerber also fixed a problem with the fixed tensor moment (FTM) code -the input block 'tmomfix' has been removed; use 'tm3fix' instead -included a FTM example in elk/examples/FeGd-fixed-tensor-moment -the RAM disk is now enabled by default; if problems are encountered with this then set 'ramdisk=.false.' -included an example for calculating the dielectric function using time evolution; see elk/examples/TDDFT-time-evolution/Si-dielectric -added more LaTeX documentation to the code -many small improvements and minor bug fixes 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: https://github.com/AlynJ/Elk_interface-TRIQS -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: T. Müller, S. Sharma, E. K. U. Gross, and J. K. Dewhurst, Phys. Rev. Lett. 125, 256402 (2020). 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 -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; 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 elk-4.3.6 -GW approximation now available thanks to Arkadiy Davydov; this is a finite temperature Matsubara implementation; currently it only calculates the k-point resolved spectral function on the real axis; see the 'examples/GW' directory (experimental) -the GW approximation works with spin-orbit coupling and non-collinear magnetism; it can also be run after the optimized effective potential (OEP) method -significant optimisations for Hartree-Fock, OEP, RDMFT and BSE -fixed an minor bug in BSE -greatly improved the stability of lattice optimisation; also reduced the variable 'deltast' to 0.001 -improved the convergence of the electron-phonon coupling parameter with respect to k-points; thanks to Xianxin Wu for the careful testing -removed the variable 'epseph' which determined the sampling window for electron-phonon coupling -added new automatic test for TDDFT time-evolution -upgraded to LAPACK 3.7.0 -Elk now uses the LAPACK routine zheevd for diagonalisation which is faster than zheev -changed the variable 'rstsf' to 'ssxc' -the smearing width 'swidth' can now be set with temperature in kelvin using the variable 'tempk' elk-4.0.15 -changed muffin-tin functions to a 'packed' convention; this improves the memory efficiency and speed for the whole code; completely backward and forward compatible -Michael Fechner found a serious bug in DFT+U which has now been fixed; may affect systems with atoms to which DFT+U is applied and which have symmetric equivalents; MF added to list of contributors -fixed a problem with the laser pulse power density plot (AFPDT.OUT) thanks to Peter Elliot and Tristan Mueller -added the ability to randomize the orbitals at the start of a time-evolution run; use the variable 'rndevt0' to set the random amplitude -improved the accuracy of the Hellmann-Feynman force on the atoms; this also improves the supercell phonon calculations -added the reduced Stoner theory (RST) modification to the exchange-correlation functionals, see: L. Ortenzi, I. I. Mazin, P. Blaha, and L. Boeri, Phys. Rev. B 86, 064437 (2012); use the parameter `rstsf´ to adjust the spin scaling -removed the Pulay mixer (mixtype=2) as it was consistently inferior to Broyden -changed the variables 'lmaxinr' and 'lmaxvr' to 'lmaxi' and 'lmaxo', respectively; the old variables still work in elk.in elk-3.3.15 -lots of optimisations of both speed and memory; many tasks should be noticeably faster -added new 'robust adaptive mixer' (mixtype=4) which should be able to converge almost anything; there are no mixing parameters for this mixer; useful for materials searches when you have to be guaranteed convergence; slower to converge than the default mixing and Broyden mixing -added missing term to DFPT phonons corresponding to the first-order change in occupancies and the Fermi energy for q=0; the phonon dispersion for MgB2 is now in excellent agreement with experiment and previous calculations -the electron-phonon coupling code was greatly improved; produces very good coupling constants for Al, Nb, Pb and MgB2; all of which are in the 'examples/phonons-superconductivity' directory -new variable 'epseph' controls the Fermi surface sampling of the electron-phonon coupling matrix elements -Markus Meinert created a script for calculating optical constants from the diagonal components of the dielectric tensor; it calculates the complex refractive index, reflectivity, absorption coefficient and EELS spectrum; available in the utilities directory -real-time TDDFT now outputs a time-dependent DOS and effective temperature at each time step -setting 'uhighq=.true.' results in an ultra-high-quality calculation; when you absolutely have to have the best elk-3.1.12 -Important: fixed an inaccuracy in the scalar relativistic part of the code which has existed for around 12 years; this may slightly affect calculations of heavy elements; special thanks to Stefaan Cottenier, José A. Flores Livas and Marcin Dulak for the extensive calculations -real-time evolution now works with DFT+U (experimental) -added 'ramp' vector potential to time evolution code; this can simulate constant and constantly increasing electric fields; see manual for details; see the example Si-ramp -lots of optimisations everywhere: code should be noticeably faster -José made some changes to the 'highq' and 'vhighq' options -fixed bug with non-collinear optimised effective potential (OEP) -new task (150) writes out the Kohn-Sham-Dirac eigenvalues of the atomic species -SS added two new f_xc kernels: single iteration bootstrap (fxctype=211) and revised bootstrap (RBO) (fxctype=212), see S. Rigamonti, et al., Phys. Rev. Lett. 114, 146402; added two examples: Ne-RBO and LiF-RBO -improved the accuracy of the magnetic anisotropy energy (MAE) calculation by rotating the spherical coverings of the spherical harmonic transform; thanks to James Glasbrenner for testing -David Ernsting found and fixed a bug in the Compton interpolation routine -improved the stability of structural optimisation -removed the smoothing option from the exchange-correlation magnetic field source projection routine -the number of first-variational states for magnetic systems was twice as large as it needed to be: now fixed -improved the vim syntax highlighting generator; run 'make vim' again -organised the examples into categories -minor bug fixes and improvements -note for developers: changed some of the variable names related to atomic species (purely cosmetic) elk-3.0.18 -fixed electron-phonon coupling again; thanks to Karel Carva and Elie Moujaes for the careful testing and discussion -DFPT phonons now work with MPI -SS added the 'single-iteration bootstrap kernel' for linear optics calculations; this is selected with fxctype=211; see the example 'Ar-bootstrap-single' -SS fixed a problem with RDMFT which had appeared in recent versions -SS made minor changes to the non-linear optics code -Important: fixed problem with the option 'cmagz' for forcing spin-orbit calculations to be collinear; this may affect MAE calculations; thanks to Martin Gmitra for finding this and the careful testing -Important: fixed a problem with the magnetisation directions selected for MAE calculations -reworked the 'ncgga' option for non-collinear GGA calculations; should be much more reliable now -several important optimisations; the Hamiltonian matrix setup and density symmetrisation are now faster -magnetic anisotropy energy (MAE) calculation now outputs the direction vectors; thanks to Galya Madzharova and Yu-ichiro Matsushita for the suggestion -added option 'vhighq' for very high quality calculations;see example 'Os-Delta' -'highq' and 'vhighq' options now write out the parameters which are changed -increased default 'lmaxmat' from 6 to 7 -added new option 'nxlo'; this adds extra local-orbitals to the species in order to make the APW functions smoother; this can make calculations, particularly of excited state properties, more accurate -syntax highlighting now available for the vim editor; just run 'make vim' and highlighting will be enabled elk-3.0.4 -real-time propagation for solids now available thanks to the considerable efforts of Kevin Krieger over the past three years; see the example 'Ni-laser-pulse'; this feature is highly experimental -1D, 2D and 3D integrated electron momentum density (EMD) plots now available thanks to David Ernsting and Stephen Dugdale; these plots can be compared directly to Compton scattering profiles; see the examples 'Li-Compton' and 'Ni-Compton'; still experimental -electron-phonon coupling has now been fixed and is also available for linear-response phonons -large number of optimizations made throughout code -code is more memory efficient in many areas -Arkardy Davydov found a bug in OpenMP nested parallelism for BSE which has now been fixed -fixed bug in magnetic anisotropy energy (MAE) calculation found by José A. Flores Livas -added option for automatically converting species from APW+l.o. to LAPW; see option 'nxapwlo' in manual -greatly improved unit cell optimisation algorithm; now should be very stable; see example 'Ge-lattice-opt' -Markus Meinert updated his 'blocks2columns.py' python code which should now work correctly with EPSILON_xx.OUT files -modified the 'highq' defaults thanks to testest performed by Don Hamann described here -full charge and spin response function can be written to file using task=331 -supercell phonons calculation now work with MPI -removed use of OpenMP ATOMIC directive because of bug in ifort version 11 elk-2.3.22 -Lars Nordström, Francesco Cricchio and JKD added fixed tensor moment (FTM) calculations (experimental) -LN made changes to the mixer routine which makes restarts smoother -the Hamiltonian is now made real for systems with inversion symmetry; this was removed in the previous release because of a bug; the FV step is now up to four times faster -fixed problem with symmetry breaking of tetragonal systems during lattice optimisation pointed out by various users -further improved and stabilised lattice optimisation -fixed a long-standing bug related to electron-phonon coupling pointed out by Matthieu Verstraete and Ryotaro Arita -fixed a problem with electron-phonon coupling introduced in a previous version, discovered by user 'wuhuagumu' and Heung-Sik Kim -TDDFT reponse code for both charge and magnetism has been made faster and more memory efficient -creating a STOP file in the running directory now cleanly stops a structural optimisation run; as requested by James Mudd -problem with nested OpenMP has now been fixed -more OpenMP parallel loops have been added -extended the use of BLAS throughout the code -fixed bug which affected the running of task=120 -removed the 'frozencr' option for the moment because the core energy was incorrectly calculated; this will be restored in a later release -various optimisations and minor bug fixes elk-2.3.16 -DFT+U now works with multiple entries per atom; every mention of LDA+U has now changed to DFT+U to reflect the generality of the method, and to give it an air of respectibility; for example, the block 'lda+u' is now 'dft+u'; old input files will still work fine -greatly improved the magnetic anisotropy energy (MAE) calculations, thanks to suggestions by various users; the crystal is now rotated instead of the magnetisation direction -fractional atomic species can now be generated on the fly using the 'fspecies' block; see the example 'fractional-species'; note that the atomic mass is only an estimate in these species files; this is useful for the virtual crystal approximation (VCA) -spin-orbit coupling can now be used with strictly collinear calculations by using 'cmagz=.true.'; this will speed up the calculation considerably; use only when the system is genuinely collinear -unstable non-collinear GGA calculations can now be stabilised by setting 'ncgga=.true.' -improved the speed and stability of the lattice vector optimisation; thanks to forum discussions regarding BaTiO3 -added the lattice optimisation of BaTiO3 to the examples directory; thanks to David Tompsett -geometry optimisation should now work fine with MPI -added highly converged osmium example 'Os-convergence' thanks to a lengthy discussion on the forum started by Marcin Dulak; also increased the value of 'lmaxmat' for the 'highq' option thanks to Marcin's careful testing -Important: greatly improved the code setup and compilation thanks to suggestions by Marcin Dulak; all compiler options are now in the file 'elk/make.inc'; the Makefile in 'elk/src' no longer requires modification -new variable 'rotavec' available in elk.in; this is a rotation specified in axis-angle convention which allows the rotation of the crystal axes -thanks go to Rich Martin and collaborator Wen for useful testing and suggestions -improved the DFPT phonon calculations and added the example 'Nb-phonon-DFPT' -decreased the chance of accidentally triggering the convergence indicator in the self-consistent loop thanks to a suggestion from Markus Meinert -fixed problem with the routine 'nonlinopt', pointed out by user Sabrina and Koichi Kitahara -improved the OpenMP efficiency in parts by using '$OMP ATOMIC' instead of '$OMP CRITICAL' -changed the names of various internal subroutines; for example 'seceqnfv' is now 'eveqnfv' -thanks go to Igor Mazin, Konrad Bussmann and James Glasbrenner for some very useful improvments -fixed problem with species generation and MPI pointed out by Marcin Dulak -fixed problem with use of Fortran 'APPEND' flag thanks to user Alaska -updated the fundamental constants and conversion factors to CODATA 2008 recommended values -Important: updated code for compatibility with Libxc version 2.2.0; see the manual and note the change in compilation instructions -fixed problem with the routine 'energyfdu' which affected DFT+U calculations with 'inpdftu=4' (input of Yukawa screening length) -Important: temporarily switched of the conversion of the Hamiltonian to a real symmetric problem because of possible bug; the only effect of this is that the code is slower for systems with inversion symmetry; this will be fixed in the next release -minor bug fixes and optimisations elk-2.2.10 -fixed problem reported by Sonu Sharma and Michael Fechner with calculation of expectation values L, S and J -slightly improved the magnetic anisotropy energy (MAE) calculation -added new variable 'socscf' which scales the spin-orbit interaction term in the Hamiltonian; this allows calculation by interpolation of the MAE for cases where the MAE is small -added new variables to VARIABLES.OUT elk-2.2.9 -fixed problem with fixed spin moment (FSM) calculations pointed out by Jagdish Kumar -added new output file VARIABLES.OUT; this is for developers wanting to interface their codes to Elk; it contains most of the useful variables required for reading the Elk binary files; if you would like a variable added then just send me a mail; enabled when 'wrtvars' is set to .true. -minor cosmetic changes elk-2.2.8 -Important: fixed serious bug discovered by Jan Balluff and Markus Meinert which produced erroneous magnetic moments with GGA; this only affects version 2.2.5; sorry about that -even more substantial speed-ups for most parts of the code -fixed MPI problem with the magnetic anisotropy energy (MAE) routine reported by Konrad Bussmann and José A. Flores-Livas -minor bug fixes and improvements elk-2.2.5 -dramatic speed-up for most parts of the code thanks to some (fairly obvious) optimisations -greatly improved lattice vector optimisation -automatic determination of the magnetic anisotropy energy (MAE) with 'task=28' (experimental); see the example 'FeCo-MAE' -the variable 'nempty' is now a real number; see manual entry -magnitude of total magnetisation vector written to MOMENTM.OUT -improved the species files -made the linearisation energy search more reliable -reduced the annoying 'linearisation energy not found' warning elk-2.2.1 -added full structural optimisation; setting 'latvopt=1' performs unconstrained optimisation of the lattice vectors; 'latvopt=2' performs iso-volumetric optimisation; see the example 'MgB2-lattice-opt' -minor bug fixes and optimisations -all tests should now report 'Passed' elk-2.1.25 -fixed several problems with the previous (beta) release; thanks to Markus Meinert for the exhaustive checking -magnetic hyperfine fields are now correctly calculated thanks to MM -added missing items to the manual -added the example 'Si-phonon-DFPT' -thanks to Kari Ruotsalainen, Aleksay Golovchan and Vladimir Nazarov for pointing out bugs in 2.1.22 - now fixed -added estimation of direct gap to INFO.OUT; thanks to user Sean for the idea -this is the version that will be used for the Elk Turorial -see you in Lausanne! elk-2.1.22 (beta) -Important: this is a beta version and should not be used for production work; a production release will be made in a few weeks -Important: this version is not backwards compatible; calculations will have to be converged from scratch -density functional perturbation theory (DFPT) phonons now available; only for spin-unpolarised calculations at the moment; spin-polarisation will be added for the next release; use with task=205; still experimental and generates incorrect results for certain symmetries - we're still working on this; see the example 'Al-phonon-DFPT' -full frequency-dependent magnetic response function now available; works with non-collinear magnetism, etc.; use task=330; see example 'Ni-magnetic-response' -iterative diagonalisation greatly improved; now uses the method of P. Blaha, et al., J. Comp. Phys. 229, p453 (2010) -upgraded code to handle libxc version 2 -hybrid functionals should now work with libxc (experimental) -upgraded LAPACK to version 3.4.2 -block name dos changed to wplot; changed variable 'nwdos' to 'nwplot' -variable 'gmaxrpa' changed to 'gmaxrf'; this is the response function G-vector cut-off -BSE and TDDFT now faster, more accurate and memory efficient; thanks to M. Meinert for discussions -task 188 changed to 320 -reintroduced the variables 'lmaxinr' and 'fracinr'; this improves stability -lots of optimisations -added more MPI parallelism -various minor bug fixes -conduction state local-orbitals can now be switched on; use 'lorbcnd=.true.'; this can improve both ground-state and response function calculations; this is switched on automatically when 'highq=.true.' -most species files have been changed; mostly larger muffin-tin radii -Important: Markus Meinert suggested a change to 'nempty'; this variable now represents the number of states per atom and spin; this scales automatically as the number of atoms is increased -default 'nempty' is now 4 -M. Meinert changed the default Broyden parameters after extensive testing -LN fixed bug in XCrysDen Fermi surface plotting -LN also reduced the number of states which contribution to the Fermi surface plot to the minimum -supercell phonon calculations can now be restarted with 'task=202' -Frank Wagner discovered a bug which affects certain types of symmetries in rare instances; this has now been fixed -Important: default smearing function is now Fermi-Dirac (stype=3) -entropy contribution now added to the total energy -default smearing width reduced to 0.001 Ha, corresponding to room temperature -M. Meinert added a blocks-to-columns script; this is in the 'utilities' directory -Oscar Grånäs added to list of main authors elk-1.4.22 -Important:fixed bug in BSE calculations owing to incorrect rotation of dielectric function matrix elements; thanks to Arkardy Davydov for pointing this out -BSE is now three separate tasks: 185 writes the BSE Hamiltonian to file, 186 diagonalises the Hamiltonian and 187 produces the BSE dielectric function; thanks to Markus Meinert for suggesting this -adiabatic local density approximation (ALDA) for linear-response TDDFT now available; see example 'diamond-TDDFT-ALDA' -added Markus' suggestion that the Tran-Blaha constant can now be read in with the variable 'c_tb09' -added new variable 'highq'; set this to .true. and the most important parameters are set for a high-quality, well-converged calculation; see the settings in the file 'readinput.f90'; thanks to Igor Mazin for all the testing -removed the variables 'lmaxinr' and 'fracinr' as they were unnecessary -simplified TDDFT routines -Important: the variable 'radkpt' has been redefined and should be made larger by 2π ; (sorry about this, the original scale for this variable was correct!) -fixed problem with MPI that caused some LDA+U runs to crash; thanks to Alaska Subedi for pointing this out -added documentation -several minor bug fixes and optimisations elk-1.4.18 -Important:fixed severe bug affecting spin-unpolarised native GGA functionals, thanks to Jiji Pulikkotil for pointing out a problem with Mg3Sb2 which led to its discovery; this now makes structural optimisation truly variational for PBE -Important:fixed severe bug affecting spin-polarised 'libxc' GGA functionals -thanks to Miguel Marques and Silvana Botti for the week-long collaboration at Université Lyon where, amongst other things, we rewrote the meta-GGA interface to 'libxc' -thanks to Markus Meinert for careful testing of meta-GGA with various systems -MM also added questions and answers to the FAQ -meta-GGA now works for collinear magnetism only: it is inconsistent with non-collinearity -Henning Glawe pointed out a bug affecting the generation of the k-point set when 'autokpt=.true.' -Important: the variable 'radkpt' has been redefined and should be made smaller by a factor of 2π -SS fixed a bug in the plotting of spin-polarised Fermi surfaces -electron momentum density now available with 'task=170'; thanks to S. Dugdale and D. Ernsting for discussions -lattice vectors, atomic positions and muffin-tin magnetic fields can now be randomised by setting the random amplitudes 'rndavec', 'rndatposc' and 'rndbfcmt' to positive values; this is useful for checking stability of a calculation -the k-points corresponding to the indirect band-gap are now reported to 'INFO.OUT' -lots of optimisations and simplifications elk-1.4.5 -potential-only meta-GGA now available in conjunction with Libxc as an experimental feature; see the example 'Si-meta-GGA'; thanks to Miguel Marques for discussions -finite q-vector linear response TDDFT now available thanks to SS -Important: variable 'autormt' has been removed and automatic scaling of the muffin-tin radii is now always on; a new simpler algorithm for computing the radii was implemented; non-overlapping muffin-tins will not be rescaled; calculations may need to be reconverged -changed parameter for estimation of the nuclear radius from Z to A; thanks to Giorgio Concas for pointing this out -Kohn-Sham band gap written to 'GAP.OUT' after each iteration -3D nesting function plot now available; use 'task=105' -fixed problem with a constant in the BSE exchange term -fixed problem of TDDFT freezing with MPI -lots of optimisations and simplifications elk-1.3.31 -fixed problem with OpenMP 'reduction' clause in calculation of dielectric function -no other changes elk-1.3.30 -removed factor of 2 from the BSE exchange term, this has little effect on spectra in the optical range; spotted by Markus Meinert after careful investigation of core-state BSE spectra -M. Meinert also improved the 'CaO-BSE-core' and 'Fe-XMCD' examples -fixed problem with symmetry discovered by Alexey Baranov -calculation of the partial DOS is now parallel, thanks to suggestions from Anton Filanovich -various optimisations; including some ideas from Anton Kozhevnikov -iterative diagonalisation is now much faster -improved the adaptive mixing scheme -improved the initial stability of the self-consistent loop, thanks to discussions with Lars Nordstrom Notes for developers -inverse indices from 'idxis', 'idxia', 'idxil' and 'idxim' for species, atoms and angular momenta are now available, thanks to A. Kozhevnikov -the arguments to hmlaa, hmlalo, hmllolo, olpaa, olpalo, olplolo have changed elk-1.3.22 -fixed a problem which occurs with version 10 of the Intel compiler -simplified the 'setup' script and added OpenMP compiler options by default -no other changes elk-1.3.20 -added directionality to the TDDFT code; thanks also to Vladimir Nazarov for discussions -a pre-print is now available for the new TDDFT 'bootstrap' kernel: arXiv:1107.0199v1 [cond-mat.mtrl-sci] -added the scissor correction to the RPA inverse dielectric function in EPSINV_RPA.OUT -fixed a problem with running geometry optimisation with MPI; thanks to Arkady Davydov and Antonio Sanna for discussions -geometry optmimisation has changed: now the geometry, interatomic distances, final total energies and forces are stored for each optimisation step in GEOMETRY_OPT.OUT, IADIST_OPT.OUT, TOTENERGY_OPT.OUT and FORCES_OPT.OUT -removed geometry optmisation from the ground-state calculation and put it in a separate subroutine -reduced pseudocharge density constant (lnpsd) because the spherical bessel function order could be too large; may change total energies slightly -q-points and weights written to QPOINTS.OUT -minor changes and optimisations elk-1.3.15 -fixed serious bug introduced in the last version affecting some tasks (for example DOS plots) for crystals with non-symorphic symmetries; thanks to Vladimir Nazarov and Daniel Rohr for pointing this out -VM also fixed the graphene example, in which the atomic coordinates were (embarrassingly) incorrect; also included a high-precision DOS plot to demonstrate the Dirac-like band structure -SS, JKD, Antonio Sanna and Hardy Gross added a new TDDFT functional, called the 'bootstrap' kernel, which produces remarkably good linear optical response functions (article currently in preparation); see the example 'LiF-TDDFT' -Antonio Sanna added the Eliashberg equations for finding the superconducting gap as a function of temperature; see the example 'Al-Eliashberg' -improved the electron-phonon coupling calculation (task=240); this is faster, more accurate and now works for spin-spirals; now also parallelised with MPI -removed packed matrix format everwhere in the code, along with the variable 'tpmat'; the first-variational matrices are now stored in upper triangular format; this takes more memory, but is faster -Anton Kozhevnikov fixed a small problem with calculating the nuclear-nuclear energy -various optimisations, simplifications and minor bug fixes -this version of the code with be used in the CECAM Tutorial Notes for developers -the order of indeices for the q- and w-dependent inverse dielectric function, epsinv, have changed from (w,G,G') to (G,G',w) elk-1.3.2 -linear response time-dependent density functional theory (TDDFT) now available for calculating the q->0 dielectric response; see the example 'LiF-TDDFT' (experimental) -fixed a problem with the BSE calculation which made the response function too large -added the possibility of using arbitrary states in the BSE kernel thanks to discussions with Markus Meinert; this enables the calulation of core state BSE spectra; see the example 'CaO-BSE-core' (experimental) -MM also added an X-ray magnetic circular dichroism (XMCD) example: 'Fe-XMCD' -BSE calculations are now faster, thanks to discussions with MM -Alexey Baranov made several changes to the structure factor code, including adding an energy window, 'wsfac', for the calculations; see the example 'MnO-str-factors' -Tyrel McQueen suggested a way to speed up the Hartree-Fock calculation; this has been implemented and also considerably speeds up OEP and RDMFT -TMcQ also made some ongoing changes to the hybrid functional code -made the radial Dirac and Schrodinger integrators yet more stable; thanks to AB and Frank Wagner for discussions -fixed a problem with the ordinary RPA dielectric function; only affects calculations which have a scissor shift which made epsilon slightly too small -real symmetric diagonalisation now used for the first-variational eigenvalue problem for crystals with inversion symmetry; this can speed up the calculation by a factor of three; this is thanks to discussions with Lars Nordstrom; Important: the atomic basis may be shifted to a different position and old output files may need to be reconverged -fixed a stability problem which occurs when using GGA functionals by removing G-vector truncation of the effective potential introduced in version 1.0.16; thanks to Greg Walker for discovering this -LDA+U calculations are now faster thanks to fast evaluation of the atomic density matrix -Broyden mixing scheme now available: this seems to be both fast and stable (use 'mixtype=3') -removed Anderson mixing -improved starting guess for the density in ground-state calculations -upgraded to LAPACK 3.3.1 -various optimisations and simplifications Notes for developers -the arrays haa, halo, hlolo, oalo, ololo are now smaller and the indexing has been rearranged elk-1.2.20 -the Bethe-Salpeter equation (BSE) for linear optics now works beyond the Tamm-Dankoff approximation -RPA and BSE calculations now use full wavefunctions instead of plane waves -removed the Coulomb regulator from the calculation of RPA dielectric function, instead used the analytic results for the head and the wings of the matrix (thanks to Vladimir Nazarov for discussions) -improved the stability of radial Dirac and Schrodinger integrators (thanks to Alexei Baranov, Frank Wagner and Ondrej Certik for discussions) -added more block descriptions to the manual (thanks to various people for pointing out omissions) -various optimisations elk-1.2.15 -SS and JKD added the Bethe-Salpeter equation (BSE) for linear optics calculations. This feature works with LDA+U, magnetism and spin-orbit coupling. It is also parallelised with MPI and can be run across a cluster. See the 'LiF-BSE' and 'Si-BSE' examples. Currently an experimental feature -Alexey Baranov added density and magnetic structure factors: see the 'MnO-str-factors' example -AB also fixed a problem with output of the spacegroup code -full frequency and G vector dependent RPA inverse dielectric function now available with 'task=180'. Works with metals, insulators, magnetism and SOC, and can be calculated for arbitrary complex frequencies. Also parallelised with OpenMP and MPI. Thanks to Anton Kozhevnikov for discussions -added lots more MPI parallelism and made the code more MPI-friendly -many optimisations across the whole code -Simone Chiesa, Anton Kozhevnikov and Adolfo Eguiluz found a problem in the plotting of the partial DOS which has now been fixed -the first-variational eigenvalue matrices can now be stored and diagonalised in non-packed storage mode: use 'tpmat=.false.'. This can speed up calculations at the expense of memory -Tyrel McQueen found a bug in the 'findprim' routine, now fixed -TMcQ also suggested a change to how the code connects the points of the 'plot1d' vertices -Martin Stankovski suggested that 'ecvcut' be made into an input variable, allowing the core-valence cut-off to be adjusted -added the phonon calculation of Ni to the examples -Jerzy Goraus contributed a script for calculating VB-XPS spectra from PDOS* files; and also one for converting the Wien2K struct file to spacegroup.in -modified some species files thanks to tests done by J. Goraus -Henning Glawe suggested including the version number in the release directory -upgraded to LAPACK 3.3.0 -made tolerance for finding the linearisation energies (epsband) much smaller: this improves the overall stability of the self-consistent loop Notes for developers -arguments to 'genppts' have changed; also the non-reduced k-points are now stored in the remaining part of the reduced k-point arrays elk-1.1.4 -message passing interface (MPI) parallel runs now available; scalable to hundreds of cores across a cluster; can also be used as hybrid OpenMP+MPI parallelism for maximum efficiency; with thanks to Bhagawan Sahu for help with testing; see manual for compilation and running instructions -S. Sharma added susceptibility tensor for non-linear optical second-harmonic generation (SHG); see example 'GaAs-NLO' for details -added spin-orbit correction to momentum matrix elements; affects linear and non-linear optics -optical calculations now work in combination with spin-spirals -updated interface to version 1.0 of the ETSF exchange-correlation library, libxc; thanks to M. Marques and T. McQueen for assistance -fixed bug spotted by T. McQueen involving using multiple tasks in conjunction with 'primcell=.true.' -A. Kozhevnikov fixed bug in 'xc_pwca.f90' -A. Kozhevnikov also fixed serious bug in 'getevecfv.f90' -F. Cricchio changed the order of lattice vector angles in 'spacegroup' utility to 'bc, ac, ab' which corresponds to the convention alpha, beta, gamma -removed scissor correction from eigenvalue solver; now it is used, as before, only in optics calculations -T. McQueen suggested an improvement to the routine which generates the path in reciprocal space for bandstructure plots, 'connect.f90', which has been implemented -fixed problem with XCrysDen Fermi surface plots, spotted by FC -various optimisations and simplifications Notes for developers -arguments to 'zpotcoul' have changed in anticipation of linear-response phonons; should now be called in conjunction with 'genzvclmt' elk-1.0.17 -fixed problem with Fermi surface generation introduced in the last version -E. K. U. Gross added to list of main developers -no other changes elk-1.0.16 -fixed problem in linear optics calculations for metals - thanks to Antonio Sanna, Fabio Bernardini and Sandro Massida for pointing this out -FC and LN added option for automatic determination of APW linearisation energies (use 'autolinengy=.true.') -Marty Blaber made a script which allows for semi-automatic labeling of the vertex locations with gnuplot (found in the 'elk/utilities' directory) -FC and LN fixed problem with some compilers when writing FERMISURF.OUT -FC and LN fixed problem with writing XCrysDen Fermi surface plots -Anton Kozhevnikov found and fixed a problem with the generation of the irreducible representation file 'ELMIREP.OUT' -Torbjörn Björkman added a new routine which automatically determines the smearing width from the k-point density. See 'autoswidth' in the manual and the example 'Nb-autoswidth' for details -added a constant electric field E in the form of a saw-tooth potential: set the vector 'efieldc' (experimental) -added a constant vector potential A to the Hamiltonian to generate constant currents: set the variable 'afieldc' (experimental) -FC and LN fixed problem with a spin-polarised GGA routine -FC and LN pointed out that the energy term associated with the excess charge compensating background should be zero. This term has now been removed -code now more memory efficient thanks to smarter array allocation -the variable 'rgkmax' can now be made arbitrarily large without risk of instability -removed variable 'cfdamp' -Anton Kozhevnikov pointed out that the radial functions were being redundantly calculated for equivalent atoms -- now fixed -Anton Filanovich added several questions to the FAQ -scissors correction (given by the variable 'scissor') now applied consistently immediately after the generation of the eigenvalues -FC and LN removed the spherical harmonic transform matrices with rank lmmaxapw -added dielectric function calculation for arbitrary q-vector, see 'LiF-Yambo' example (experimental) -by setting 'gmaxvr=0', the G-vector cut-off for the potential and density is automatically determined from 'gmaxvr=2*gkmax+epslat' -various bug fixes, simplifications and optimisations