Elk is updated regularly with new features and bug fixes. Features not listed as
may be used for production but, as with
any code, please check the consistency of your results carefully. The latest
releases can be
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.24
-Antonio Sanna fixed a problem with the Pade approximant used in the Eliashberg code
-SS fixed a problem in Fermi surface plotting with OpenDX
-no other changes
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 indices 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 (use 'bsefull=.true.')
-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
elk-1.0.1-15
-internal releases only
elk-1.0.0
-Tyrel McQueen and JKD incorporated the ETSF exchange-correlation functional library
Libxc into Elk
- see the manual for installation instructions. This is still an
experimental feature
-Fixed problem with non-collinear GGA: this feature should still be considered as
experimental
-GGA now faster and more accurate
-FC and LN included an estimation of the band gap at each iteration
-FC and LN parallelised the DOS routine
-SS updated the RDMFT code and added spectral output
-SS made the RDMFT code more memory efficient
-fixed problem with the Mössbauer hyperfine fields and in doing so also
allowed the core states to be spin-polarised (use
spincore=.true.)
-added a Mössbauer hyperfine field example (Fe-Mossbauer)
-removed
evalmin and replaced it with a check if the lowest eigenvalue
is less than the lowest linearisation energy
-Marty Blaber parallelised part of the dielectric routine and JKD also parallelised
the generation of momentum matrix elements
-FC and LN fixed a symmetry problem when using
reducebf
-FC and LN included the possibility of summing the partial DOS over m: just set
dossum=.true. and the PDOS files will only contain the l-resolved DOS
-fixed linearisation energies can now be determined automatically thanks to FC:
just set
autolinengy=.true.
-Important:
gkmax is now determined from
rgkmax using the
average muffin-tin radius, rather than the smallest
-completely removed the
species program and incorporated the code
directly into Elk. See the
species directory and the ununhexium example
-improved and regenerated all the species files (thanks to discussions with
S. Massidda) and set all atomic masses to best known values
-improved the spherical covering used for the spherical harmonic transforms (SHT):
replaced the "Saff and Kuilaars" spiral with the "golden section" spiral. This
results in faster convergence with respect to lmax
-removed the input variable
vacuum: the box containing the molecule
now has to be set up by the user when
molecule=.true.. See the
NaCl-monomer example
-
bfcmt read in after the atomic positions in the
atoms block
is now optional
-alphabetised the list of subroutines in the Elk manual and added hyperlinks
-various optimisations and simplifications
-enabled the Elk Wiki pages: Anton Kozhevnikov is the Wiki administrator
-upgraded license to GPL version 3
-Elk now officially out of beta