class chemtools.toolbox.conceptualglobal.LinearGlobalTool(energy_zero, energy_plus, energy_minus, n0)[source]

Class of global conceptual DFT reactivity descriptors based on the linear energy model.

The energy is approximated as a piece-wise linear function of the number of electrons,

\[E(N) = a + b N\]

Given \(E(N_0 - 1)\), \(E(N_0)\) and \(E(N_0 + 1)\) values, the unknown parameters of the energy model are obtained by interpolation.

\[\begin{split}E(N) = \begin{cases} (N_0 - N) \times E(N_0 - 1) + (N - N_0 + 1) \times E(N_0) & N \leqslant N_0 \\ (N_0 + 1 - N) \times E(N_0) + (N - N_0) \times E(N_0 + 1) & N \geqslant N_0 \\ \end{cases}\end{split}\]

Because the energy model is not differentiable at integer number of electrons, the first derivative of the energy w.r.t. number if electrons is calculated from above, from below and averaged:

\[\begin{split}\mu^{-} &= -IP \\\ \mu^{0} &= \frac{\mu^{+} + \mu^{-}}{2} \\ \mu^{+} &= -EA \\\end{split}\]

Chemical potential from below.

\[\mu^{-} = E\left(N_0\right) - E\left(N_0 - 1\right) = -IP\]

Chemical potential from above.

\[\mu^{+} = E\left(N_0 + 1\right) - E\left(N_0\right) = -EA\]

Chemical potential averaged of \(N_0^{+}\) and \(N_0^{-}\).

\[\mu^{0} = \frac{\mu^{+} + \mu^{-}}{2} = \frac{E\left(N_0 + 1\right) - E\left(N_0 - 1\right)}{2} = - \frac{IP + EA}{2}\]

Return the energy model \(E(N)\) evaluated for the specified number of electrons.

Parameters:n_elec (float) – Number of electrons, \(N_{\text{elec}}\).
energy_derivative(n_elec, order=1)[source]

Return the \(n^{\text{th}}\)-order derivative of energy w.r.t. the number of electrons.

This returns the \(n^{\text{th}}\)-order derivative of energy model \(E(N)\) w.r.t. to the number of electrons, at fixed chemical potential, evaluated for the specified number of electrons.

\[\left. \left(\frac{\partial^n E}{\partial N^n} \right)_{v(\mathbf{r})}\right|_{N = N_{\text{elec}}}\]
  • n_elec (float) – Number of electrons, \(N_{\text{elec}}\).
  • order (int, default=1) – The order of derivative denoted by \(n\) in the formula.


For \(N_{\text{elec}} = N_0\) the first, second and higher order derivatives are equal to the BaseGlobalTool.chemical_potential, BaseGlobalTool.chemical_hardness and BaseGlobalTool.hyper_hardness, respectively.