Octopus is based upon Density Functional Theory in the Kohn-Sham approximation. The Kohn-Sham Hamiltonian is the main part of this formulation, in this section we describe how the hamiltonian is treated in octopus and what are the variables that control it.
Although the Hohenberg-Kohn theorem states that DFT is exact, the Kohn-Sham method of reducing an interacting many-particle problem to a non-interacting single-particle problem introduces an approximation: the exchange and correlation term.
The Kohn-Sham  method of DFT assumes that, for each interacting ground state density n(r), there exists a non-interacting electron system with the same ground state density. The interacting ground state is obtainable through the solution of the Kohn-Sham equations
The notation vKS[n] means that the Kohn-Sham potential, vKS, has a functional dependence on n, the electronic density, which is defined in terms of the Kohn-Sham wave-functions by
The potential vKS is defined as the sum of the external potential (normally the potential generated by the nuclei), the Hartree term and the exchange and correlation (xc) potential
Due to the functional dependence on the density, these equations form a set of nonlinear coupled equations. The standard procedure to solve it is iterating until self-consistency is achieved.
From the solution of the Kohn-Sham equations, we can evaluate the total energy of the system from
where Ts[n] is the non-interacting kinetic energy, vext is the external potential, and Exc[n] and vxc[n] are, respectively, the exchange and correlation energy and potential.
Exc is an unknown object and includes all the non-trivial many-body eﬀects required to make KS theory exact. Several approximations to Exc have been proposed. The most used is the local density approximation (LDA). In this approximation Exc[n(r)] is taken to be the exchange and correlation energy of a homogeneous electron gas with density n = n(r). Although there exists an exact expression for the exchange energy in this model, the exact value of the correlation energy is known only in the limit of very high densities. Ceperley and Alder  did a Monte Carlo simulation of the homogeneous electron gas at several densities. Several parameterizations of the correlation energy for any density [7, 8] were then obtained interpolating the Monte Carlo results. One particularly simple parameterization was proposed by Perdew and Zunger , and this option may be used by octopus. You can, of course, choose other xc functionals...
Time-dependent density-functional theory (TDDFT) extends the basic ideas of ground-state density-functional theory (DFT) to the treatment of excitations and of more general time-dependent phenomena. TDDFT can be viewed as an alternative formulation of time-dependent quantum mechanics but, in contrast to the normal approach that relies on wave-functions and on the many-body Schródinger equation, its basic variable is the one-body electron density, n(r,t). The advantages are clear: The many-body wave-function, a function in a 3N-dimensional space (where N is the number of electrons in the system), is a very complex mathematical object, while the density is a simple function that depends solely on the 3-dimensional vector r. The standard way to obtain n(r,t) is with the help of a fictitious system of non-interacting electrons, the Kohn-Sham system. The final equations are simple to tackle numerically, and are routinely solved for systems with a large number of atoms. These electrons feel an effective potential, the time-dependent Kohn-Sham potential. The exact form of this potential is unknown, and has therefore to be approximated.
The time-dependent Kohn-Sham equations are
The density of the interacting system can be obtained from the time-dependent Kohn-Sham orbitals
The time-dependent Kohn-Sham equations, having the form of a one-particle equation, is fairly easy to solve numerically. We stress, however, that the Kohn-Sham equation is not a mean-field approximation: If we knew the exact Kohn-Sham potential, vKS, we would obtain the exact Kohn-Sham orbitals, and from these the correct density of the system. The Kohn-Sham potential is conventionally separated in the following way
The first term is again the external potential. The Hartree potential accounts for the classical electrostatic interaction between the electrons
The time-dependence of the exchange and correlation potential introduces the need for an approximation beyond the one made in the time-independent case. The simplest method of obtaining a time-dependent xc potential consists in assuming that the potential is the time-independent xc potential evaluated at the time-dependent density, i.e.,
This is called the adiabatic approximation. If the time-independent xc potential chosen is the LDA, then we obtain the so-called adiabatic local density approximation (ALDA). This approximation gives remarkably good excitation energies but suﬀers from the same problems as the LDA, most notably the exponential fall-oﬀ of the xc potential. If a strong laser pushes the electrons to regions far from the nucleus, ALDA should not be expected to give an accurate description of the system. Other options for the time-dependent xc potential are, e.g., the orbital-dependent potentials like the exact exchange functional (EXX) (usually in the Krieger-Li-Iafrate (KLI) approximation).
You can set the occupations the orbitals by hand, using the.
If you use spinors, the %Occupations block should only have one line. Two lines are used for the spin_polarized case. If you use spinors, each one of the occupations should be between 0 and 1, and the code will attempt to read as many columns as electrons there are in the system, plus the number given in the ExtraStates variable.
You can add an external uniform and constant electric or magnetic field, set by theor . If you want to add a more general potential, you can do it using a user defined .
If you got the coordinates from a PDB file, you can add the potential generated by the point charges defined there by setting thevariable to yes.
You can neglect this term by setting= independent_particles variable. This implies that both the Hartree and exchange-correlation terms will not be calculated.
Exchange and correlation potential
Octopus does not distinguish, for the moment, between ground-state DFT xc functionals, and time-dependent DFT functionals. In other words, in all cases the adiabatic approximation is assumed. In mathematical terms, we may formalize this in the following way: let n be the time-dependent density, a function living in the four-dimensional space-time world. We will call , the electronic density at time , a function in the three-dimensional space. An exchange and/or correlation energy functional in ground state DFT may then be used to build an adiabatic exchange and/or correlation action functional in the following way:
The time-dependent potential functional is then:
We use the distinct notation and to stress that the exchange and correlation potential in TDDFT - the former - and the exchange and correlation potential in GS-DFT - the latter - are in principle two conceptually different objects, which coincide only thanks to the adiabatic approximation. This is the reason why we may actually only refer to the functionals in the GS-DFT context.
We may classify the xc functionals contained in the Octopus code following John Perdew's Jacob's Ladder scheme:
- LDA rung: A functional belonging to the LDA rung depends only on the electronic density (on the spin density in spin-polarized or spinors cases). Moreover, it has a local dependency on the density, i.e.:
The potential may be then derived by functional derivation:
- GGA rung: A functional belonging to the GGA rung depends on the electronic density, and also on its gradient. Moreover, it also has a local dependency (actually, the GGA is very often called a semi-local functional due to this).
- meta-GGA rung:
- OEP rung: This is the family of functionals which are defined in terms of the occupied Kohn-Sham orbitals, . These are in fact the only non-local functionals. The name of the rung, OEP, stands for "optimized-effective-potential", the reason being that in general this is the method used to derive the potential from the energy functional (direct functional derivation is in this case not possible). A more suitable name would be orbital-dependent functionals.
Octopus comes with several Exchange and Correlation potentials, including several flavours of LDA, GGA and OEP. You can choose your favorites by setting the variable . (Note that until Octopus <= 2.1 the exchange-correlation functional was chosen with the variables XFunctional and CFunctional.)
When using OEP Exchange, the variablecontrols the level of approximation required.
You can also include Self-Interaction Correction (SIC), controlled by the variable.
spin_orbit) is implemented.
The spin-orbit coupling as it is implemented in octopus is included in the pseudo-potentials. These can either be HGH pseudo-potentials or Troullier-Martins-like pseudo-potentials. In the later case the pseudo-potentials need to be generated from fully relativistic calculations and their fully separable form is given by:
Since the angular part of the pseudo wave-functions are spherical spinors the wave-functions should be complex spinors and so the
non_collinear. This is also true for HGH pseudo-potentials.
Note that currently octopus is only able to read j-dependent Troullier-Martins-like pseudo-potentials that are provided in the UPF file format.