A full-potential linearised augmented-plane wave (FP-LAPW) code with many advanced features. Written mainly at Karl-Franzens-Universität Graz as a milestone of the EXCITING EU Research and Training Network, the code is designed to be as developer-friendly 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.
• FP-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
• 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

• 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)
• Spin-spirals for any q-vector (conical spirals are still experimental)

• 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=-&nabla V) plotting (1/2/3D)
• Simple scanning tunnelling microscopy (STM) imaging based on the local density of states (LDOS) (experimental)

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
• Phonons for arbitrary q-vectors (experimental)
• 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

• Exact exchange (EXX) optimised effective potential (OEP) method (with SOC and NCM) (experimental)
• EXX energies (with SOC and NCM) (experimental)
• Hartree-Fock for solids (with SOC and NCM) (experimental)
• LDA+U: fully localised limit (FLL), around mean field (AFM) and interpolation between the two; works with SOC, NCM and spin-spirals (experimental)
• Reduced density matrix functional theory (RDMFT) for solids (experimental)

• Mössbauer hyperfine parameters: isomer shift, EFG and hyperfine contact fields (experimental)
• First-order optical response
• Kerr angle and Magneto-Optic Kerr Effect (MOKE) output (experimental)
• Generalised DFT correction of L. Fritsche and Y. M. Gu, Phys. Rev. B 48, 4250 (1993) (experimental)
• Energy loss near edge structure (ELNES)
L, S, and J expectation values
• Effective mass tensor for any state
• Equation of state fitting (with the EOS utility)

• Clean, simple code structure - ideal for development
• OpenMP parallelisation over k-vectors
• Strict Fortran 90 compliance
• Only one language used
• Free-form style input file
• Full LaTeX documentation included with every subroutine
The EXCITING Code Manual is available, as is a manual for the Spacegroup utility. You can ask and answer questions in the EXCITING forums on but please consult the EXCITING frequently asked questions page first. A mailing list is available for notification of new releases, features and bugs in the code, and a Wiki which can be edited. There is also a collection of useful links here. If you would like a particular feature to be implemented then you can either do it yourself, which is the preferred option, or submit a feature request on SourceForge.

Citation of the code is not mandatory but would be appreciated by the contributors - a reference to this website will suffice. We also recommend that the input files used be made available to other researchers.

Groups and individuals are actively encouraged to develop and release their own specialised versions of the EXCITING code. 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 EXCITING, for example: EXCITING-Uppsala
EXCITING 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 2 of the License, or (at your option) any later version. EXCITING 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 EXCITING; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

EXCITING is still in its beta state so check the consistency of your results carefully! Features marked as experimental are for testing purposes only and should NOT be used for production work. The latest releases can be downloaded from

-After lots of careful testing, Anton Kozhevnikov found a serious bug in the rotation of the first-variational eigenvectors. This has now been fixed - it affects only calculations which require the non-reduced k-point set and only then for certain symmetries, these include Hartree-Fock, OEP and optics.
-Shigeru Suehara implemented Pulay mixing (use mixtype=2), this greatly improves the convergence rate of many calculations. Please be careful when using this with magnetic calculations.
-F. Cricchio, F. Bultmark and L. Nordström improved the 3D plotting by allowing for arbitrary box-like regions in both real and reciprocal space (similar to plot2d)
-FC, FB and LN also improved the Fermi surface plotting in the same way, this now also resolves the Fermi surface into spin-up and down for the collinear magnetic case
-GGA now works with spin-orbit coupling, but it should not be used with general non-collinear magnetism
-species files regenerated with slightly lower default semi-core local-orbital linearisation energies
-removed unnecessary local-orbitals from species files
-iterative solver greatly improved, now also requires a step-length: tauseq
-second-variational eigenvalues are no longer sorted for the collinear magnetic case
-new examples added
-minor bug fixes and optimisations
Notes for developers
-the arguments to genppts have changed to allow for generation in arbitrary boxes

-internal releases only

-fixed problem with forces for spin-polarised systems
-forces now work with LDA+U (experimental)
-electron-phonon coupling now available, see the Nb-superconductor example (experimental)
-calculation of phonon linewidths now available (experimental)
-calculation of superconducting TC using the McMillan-Allen-Dynes equation now available (experimental)
-changed phonon calculation DYN_... files: each computer now calculates a separate row in the dynamical matrix
-phonon calculations slightly faster (you also need to run a ground state calculation before the phonon run)
-thermodynamic properties calculated from phonon DOS now available: free energy, entropy, heat capacity
-included phonon example for silicon (with results)
-S. Sharma updated and extended RDMFT
-calculation of ⟨ i,k+G+q | exp[i(G+q)⋅r] | j,k ⟩ matrix elements now available, use task=130 (experimental)
-energy loss near edge structure (ELNES) now available, see BN-ELNES example
-changed linear optics calculation from an integration over the Brillouin zone to a direct sum over k-points
-optical relaxation time is now determined by 1/swidth
-fixed problem with MOKE as well as the off-diagonal elements of the dielectric tensor and conductance
-sped up and simplified the diagonalisation of the spin density matrix (Kübler trick) thanks to Lars Nordström
-F. Cricchio fixed and improved the calculation of the expectation values of L, S and J by using the the density matrix
-F. Cricchio, F. Bultmark and L. Nordström fixed minor problem with LDA+U energy
-F. Cricchio added the von Barth and Hedin exchange-correlation functional: xctype=5
-fixed problem of non-convergence of atomic code (thanks to Stephan Sagmeister)
-conjugate gradient solver for the first-variational problem is now available: use tseqit=.true. (see example H2O-iterative)
-conjugate gradient solver allows for efficient fine-grained parallism with OpenMP (scales linearly with number of processors)
-spherical covering is now more accurate
-code now runs with zero atoms for studying the electron gas (see examples HEG-HF and HEG-OEP for the Hartree-Fock and optimised effective potential homogeneous electron gas)
-Poisson solver is now faster
-nucleus can now have finite size (set ptnucl=.false.)
-energy printed out to more significant figures
-added MgB2 Fermi surface example: MgB2-Fermi-surface
-added optimised effective potential (OEP) example: Si-OEP
-added 3D density plot example: diamond-rho3D
-added example for plotting the eg and t2g contributions to the partial DOS: TiC-eg-t2g
-changed variable rlambda to radkpt
-improved adaptive mixing scheme, also removed variable betamax
-units of density of states is now states/Hartree/unit cell
-replaced cpu_time with system_clock calls
-lots of optimisations and simplifications
Notes for developers
-IMPORTANT: the first-variational spinor index and the k-point index have been swapped in the following arrays: ngk, igkig, vgkl, vgkc, gkc, tpgkc, sfacgk
-an additional argument (tfbz) has been added to the routine genppts

-internal releases only

-fixed serious bug discovered by C. Koehler in the density symmetrisation routine - this affected a limited number of spacegroups (like that in the B12 example), and typically produced a warning about the total charge
-no other changes

-Reduced density matrix functional theory (RDMFT) now available thanks to S. Sharma, see arXiv:0801.3787v1 [cond-mat.mtrl-sci] (experimental)
-Bug in symmetrisation of non-collinear magnetisation found and fixed by F. Cricchio, F. Bultmark and L. Nordström
-F. Bultmark added new input variable reducebf which reduces the external magnetic field by this value after each iteration, thus at the end of the s.c. loop the external magnetic fields are zero. By default there is no reduction. See the manual for details.
-OEP calculations are now considerably faster
-Hartree-Fock now works properly with magnetism
-Alexey Baranov suggested an improvement of the cubic spline routine and submitted an example on how to obtain perfectly smooth ELF plots (see Ru-ELF)
-various minor changes to formatting of output files
-added more code documentation
-minor improvements and optimisations

-internal releases only

-fixed bug in non-collinear LDA+U, spotted by Francesco Cricchio and Lars Nordström, and simplified code
-fixed problem which occurs with Intel Fortran version 10, thanks to C. Koehler
-made the code thread safe for FFTW, thanks again to C. Koehler for pointing this out
-minor optimisations
-new mailing list available for developers, administered by C. Meisenbichler

-internal releases only

-fixed bug which prevented FSM calculations converging (no other changes)

-LDA+U now available thanks to the considerable efforts of Francesco Cricchio, Fredrik Bultmark and Lars Nordström, as well as the kind hospitality of the group of Hardy Gross. There are three different methods implemented: 1. fully localised limit (FLL), 2. around mean field (AFM), and 3. an interpolation between the two (see PRB 67, 153106 (2003) and PRB 52, R5467 (1995)). The implementation is fully non-collinear and works with spin-orbit coupling and spin-spirals. It is currently an experimental feature. See the LDA+U examples and documentation for details on how to use it.
-F. Cricchio added a fixed local moments feature, so that the moment in every muffin-tin can be fixed. Note that because of this, the variable fixspin has changed from Boolean to integer. See the manual for details.
-planar spin-spirals are no longer experimental and may be used for production, thanks to extensive testing by F. Cricchio (the conical kind still need more checking). FC and L. Nordström also found and fixed a bug in the spin-spiral symmetry setup.
-after extensive checking Fritz Körmann found a problem with the GGA implementation which has now been fixed: may have a small effect on magnetic GGA calculations
-a new GGA functional PBEsol is available which "restores the density-gradient expansion for exchange in solids and surfaces": use xctype=22
-F. Bultmark added a warning message for when metals run out of empty states
-Christian Meisenbichler has created a Git repository where you can compare different versions of the code. See the Wiki for details.
-added compensating background charge energy to total when chgexs≠0
-lots of improvements, optimisations and minor bug fixes

-internal releases only

-changed the Hartree-Fock routine (hopefully for the last time): use task=5 to run it, still an experimental feature
-added Hartree-Fock example
-fixed bug in spin-orbit coupling: affects the splitting of low-lying states
-many minor improvements, optimisations and fixes
-speed up of APW-local-orbital kinetic energy surface term thanks to Francesco Cricchio
-intraband Drude-like contribution to dielectric tensor now added to total when intraband=.true.
-added optics example for aluminium: Al-linopt
-upgraded to LAPACK 3.1.1 (still works fine with 3.0)
-EXCITING Wiki now up and running
Kay Dewhurst, Sangeeta Sharma, Claudia Ambrosch-Draxl, Lars Nordström, Clas Persson, Christian Brouder, Rickard Armiento, Andrew Chizmeshya, Per Anderson, Igor Nekrasov, Fredrik Bultmark, Frank Wagner, Fateh Kalarasse, Jürgen Spitaler, Stefano Pittalis, Nektarios Lathiotakis, Tobias Burnus, Stephan Sagmeister, Christian Meisenbichler, Francesco Cricchio, Sébastien Lebègue, Yigang Zhang, Fritz Körmann, Alexey Baranov, Anton Kozhevnikov, Shigeru Suehara
Last modified 6 November 2008 Logo