Skip to Main Content

ETSF Software Suite

Ab initio codes developed within the ETSF cover a wide field of application ranging from molecules and nano-scale clusters to 1D, 2D and 3D extended systems. The physical quantities provided by these programs include:

  • ground-state electronic density and total energy from density functional theory (DFT);
  • quasi-particle energy within the GW approximation and its extensions;
  • linear and non-linear response functions.

Through these physical quantities, a large variety of physical properties can be addressed:

  • structural and vibrational properties;
  • electronic properties;
  • optical and dielectric properties;
  • magnetic properties.

Clicking on the logos will bring you to the (external) websites of the codes.

Download codes binary packages


ABINIT is an ab initio computational package based on pseudopotentials and using a plane-wave basis set. It is an implementation of density-functional theory (DFT) and density-functional perturbation theory (DFPT), but also of time-dependent density functional theory (TDDFT) in the Casida approach, and
many-body perturbation theory in the GW approximation.

Main purposes:

  • Calculate total energy, charge density and electronic structure of a huge range of systems (molecules and clusters, wires and tubes, surfaces and periodic solids);
  • Optimize geometries according to the DFT forces and stresses, perform molecular dynamics simulations using these forces, or generate dynamical matrices, Born effective charges, and dielectric tensors;
  • Excited states can be computed within TDDFT or GW.

dp logo

The DP code is an ab initio linear response TDDFT code implemented on a plane-wave basis set and NC pseudopotentials. It works in the frequency domain calculating in real space the basic quantities (the Kohn-Sham polarizability and the exchange-correlation kernel) and solving the fundamental TDDFT equations in reciprocal space. The approximations range from the most used RPA and TDLDA, to non-local (and/or non-adiabatic) kernels. Bulk systems are particularly well suited, but the code can be applied also to surfaces, 1D (tubes, wires) and 0D (clusters, molecules) systems.

Main purposes:

  • Calculate EELS (Electron Energy-Loss Spectroscopy)
  • IXSS (Inelastic X-ray Scattering Spectroscopy) at large transferred momentum Q
  • Optical properties


EXC is an ab initio Bethe-Salpeter Equation code working in reciprocal space, in the frequency domain, and using a plane-wave basis set. Its purpose is to calculate dielectric and optical properties, like

  • optical absorption, reflectivity, refraction index
  • EELS (Electron Energy-Loss Spectroscopy)
  • IXSS (Inelastic X-ray Scattering Spectroscopy)

It can be used on a large variety of systems, ranging from bulk systems, surfaces, to clusters or atoms (using the supercell method). Full coupling (beyond Tamm-Dancoff approximation) calculations are possible, as well as the possibility to speed up using the Haydock iterative scheme.


The Octopus code solves the TDKS equation in a non-perturbative way. Its central part is the propagation of the TDKS orbitals in real time and real space. It is therefore particularly geared to the calculation of nonlinear (and of course also linear) optical properties.

It also allows for the classical motion of ions and it includes (low-order) relativistic effects. The code currently works for finite systems (including biomolecules in QM/MM). The implementation for systems periodic in one dimension and finite in the two other dimensions (i.e. polymers) is nearly completed. The implementation for 3D periodic solids and the calculation of transport properties are currently the main code development activities.

  • linear and nonlinear optical properties
  • Raman, IR and other vibrational spectroscopies
  • optical and magnetic dichroism
  • non-adiabatic electron-ion dynamics
  • QM/MM schemes for biophysical processes
  • quantum dots in 2D: magentic field effects
  • transport in 1D


TOSCA is a package for computing optical spectra of solids in the IP-RPA approximation. The full power of TOSCA is revealed when studying complex systems like surfaces or clusters.

The kernel of TOSCA is formed by a set of Fortran routines that allow an ab initio non-SCF calculation by diagonalizing the Kohn-Sham hamiltonian using one of the following methods: full or partial diagonalization, diagonalization using the method of Lanczos, and Arnoldi diagonalization.

Once the eigenvalues and eigenvectors have been computed the following quantities can be computed by TOSCA:

  • Slab polarizability computed with or without real space cutoff, for insulators, semiconductors, metals. Surface epsilon can be also computed;
  • Localization of the wavefunctions for given k-point(s) and states;
  • Squared modulus of a wavefunction for a given k-point and state on the real space FFT grid. Interface with DataExplorer for graphical representation by isosurfaces;
  • RAS (Reflectance Anisotropy Spectra) or SDR (Surface Differential Reflectivity)


Yambo is a code for performing many-body calculations in solid state and molecular physics. Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes (abinit and PWscf), but can also utilize data written in the ETSF file format.

With the GPL version of Yambo you can calculate:

  • quasiparticle energies within the GW approximation
  • electron loss and optical absorption spectra of solids, and dynamical polarizability of molecules at different level of theory
    • Random Phase Approximation
    • Time Dependent Local Density Approximation
    • Bethe-Salpeter equation

exciting logo

exciting is a full-potential all-electron density-functional-theory (DFT) package based on the linearized augmented plane-wave (LAPW) method. It can be applied to all kinds of materials, irrespective of the atomic species involved, and also allows for the investigation of the atomic-core region. We particularly focus on excited state properties, within the framework of time-dependent DFT (TDDFT) as well as within many-body perturbation theory (MBPT).

Emphasis has been placed on simplicity so that new DFT methods can be implemented easily. Features of the code include non-collinear magnetism, spin-spirals, relativistic corrections, forces, structural optimization, phonons, electron-phonon coupling, LDA+U, linear optics, electron loss near-edge spectroscopy (ELNES), magneto-optical Kerr effect (MOKE), Hartree-Fock, and the optimised effective potential (OEP) method. Most features work together in combination. The code is freely available under the GNU General Public License (GPL).

Relevant activities:

  • Optics
  • Energy loss spectroscopy
  • X-rays spectroscopy

elk logoELK

Elk is an all-electron full-potential linearised augmented-plane wave (FP-LAPW) code with many advanced features. The code is designed to be as simple as possible so that new developments in the field of density functional theory (DFT) can be added quickly and reliably. The code is freely available under the GNU General Public License.

Relevant activities:

  • Optics
  • Energy loss spectroscopy
  • Photo-emission spectroscopy
  • Vibrational spectroscopy
  • X-rays spectroscopy

ape logoAtomic Pseudopotential Engine

APE (Atomic Pseudopotential Engine) is a tool for generating atomic pseudopotentials within the Density-Functional Theory framework. The program can create pseudopotential files suitable for the most widely used ab-initio packages, and, besides the standard non-relativistic Hamann and Troullier–Martins potentials, it can generate pseudopotentials using the relativistic and semi-core extensions to the Troullier–Martins scheme.

Relevant activities:

  • Optics
  • Energy loss spectroscopy
  • Quantum transport
  • Time-resolved pectroscopy
  • Photo-emission spectroscopy
  • Vibrational spectroscopy
  • X-rays spectroscopy

Download codes binary packages