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

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

The energy is approximated as a quadratic function of the number of electrons,

\[E(N) = a + b N + c N^2\]

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.

First, second and higher order derivatives of the quadratic energy model with respect to the number of electrons at fixed external potential are given by:

\[\begin{split}\left(\frac{\partial E}{\partial N}\right)_{v(\mathbf{r})} &= b + 2 c N \\ \left(\frac{\partial^2 E}{\partial N^2}\right)_{v(\mathbf{r})} &= 2 c \\ \left(\frac{\partial^n E}{\partial N^n}\right)_{v(\mathbf{r})} &= 0 \quad \text{for} \quad n \geq 2\end{split}\]

Initialize class.

  • energy_zero (float) – Energy of the \(N_0\) -electron system, i.e. \(E(N_0)\).
  • energy_plus (float) – Energy of the \((N_0 + 1)\) -electron system, i.e. \(E(N_0 + 1)\).
  • energy_minus (float) – Energy of the \((N_0 - 1)\) -electron system, i.e. \(E(N_0 - 1)\).
  • n0 (float) – Reference number of electrons, i.e. \(N_0\).

Parameter \(a\), \(b\) and \(c\) of energy model.


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.