Octopus (software)

The octopus project is a software package for density-functional theory (DFT) [1,2], and time-dependent density functional theory (TDDFT) [3,4]. Both these methods have enjoyed a steady increase of their popularity ever since they were born, in the sixties and eighties respectively. The reason is that both theories achieve, for many problems, an unparalleled balance between accuracy and computational cost. Although the scope of applicability of traditional Computational chemistry techniques based Quantum chemistry, or of Quantum Monte Carlo procedures, have also increased in recent years [5,6], DFT/TDDFT is still the method of choice for large systems (e.g., molecular systems of biological interest) undergoing complex processes.

Correspondingly, numerous software packages that solve DFT/TDDFT equations are available. Among them the octopus project [8] is one with special focus on TDDFT.

Target problems

 * Linear optical (i.e. electronic) response of molecules or clusters.
 * Non-linear response to classical high-intensity electromagnetic fields, taking into account both the ionic and electronic degrees of freedom.
 * Ground-state and excited state electronic properties of systems with lower dimensionality, such as quantum dots.
 * Photo-induced reactions of molecules (e.g., photo-dissociation, photo-isomerization, etc).
 * In the immediate future, extension of these procedures to systems that are infinite and periodic in one or more dimensions (polymers, slabs, nanotubes, solids), and to electronic transport.

Theoretical base

 * The underlying theories are DFT and TDDFT. Also, the code may perform dynamics by considering the classical (i.e. point-particle) approximation for the nuclei. These dynamics may be non-adiabatic, since the system evolves following the Ehrenfest path. It is, however, a mean-field approach.
 * Regarding TDDFT, one can use two different approaches: On the one hand, the standard TDDFT-based linear-response theory, which provides the excitation energies and oscillator strengths for ground-state to excited-state transitions. On the other hand, the explicit time-propagation of the TDDFT equations, which allows for the use of large external potentials, well beyond the range of validity of perturbation theory.

Methodology

 * As numerical representation, the code works without a basis set, relying on numerical meshes. Nevertheless, auxiliary basis sets (plane waves, atomic orbitals) are used when necessary. Recently, the code offers the possibility of working with non-uniform grids, which adapt to the inhomogeneity of the problem, and of making use of multigrid techniques to accelerate the calculations.


 * For most calculations, the code relies on the use of pseudopotentials [9] of two types: Troullier-Martins [10], and Hartwigsen-Goedecker-Hutter [11].


 * In addition to being able to treat systems in the standard 3 dimensions, 2D and 1D modes are also available. These are useful for studying, e.g., the two-dimensional electron gas that characterizes a wide class of quantum dots.

Technical aspects

 * The code has been designed with emphasis on parallel scalability. In consequence, it allows for multiple task divisions.


 * The language of most of the code is Fortran 90 (almost 50.000 lines at present). Other languages, such as C or Perl, are also used.


 * The package is licensed under the GNU General Public License (GPL). In consequence, it is available for use, inspection, and modification for anyone, at the octopus web page.