Octopus (software)

Source: Wikipedia, the free encyclopedia.

Octopus is a software package for performing Kohn‍–‍Sham density functional theory (DFT) and time-dependent density functional theory (TDDFT) calculations.[1]

Octopus employs

Car–Parrinello methods
.

The code is written predominantly in Fortran and is released under the GPL.

The latest version 13.0 was released June 28th, 2023.

Target problems

  • Linear optical (i.e. electronic) response of molecules or clusters, also second-order nonlinear response.
  • 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 basis

  • 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 three different approaches:
    • the standard TDDFT-based linear-response theory of Casida, which provides the excitation energies and oscillator strengths for ground-state to excited-state transitions.
    • 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.
    • the Sternheimer equation (density-functional perturbation theory) in the frequency domain, using only occupied states.

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[2] of two types: Troullier-Martins,[3] and Hartwigsen-Goedecker-Hutter.[4]
  • 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, this utilises mesh division software, MPI and OpenMP.
  • The language of most of the code is Fortran 90. Other languages, such as C, 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 git repository.

See also

  • Quantum chemistry computer programs

References

External links