chemtools.toolbox.conceptuallocal.QuadraticLocalTool

class chemtools.toolbox.conceptuallocal.QuadraticLocalTool(density_zero, density_plus, density_minus, n0)[source]

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

Considering the interpolated quadratic energy expression,

\[\begin{split}E\left(N\right) = E\left(N_0\right) &+ \left(\frac{E\left(N_0 + 1\right) - E\left(N_0 - 1\right)}{2}\right) \left(N - N_0\right) \\ &+ \left(\frac{E\left(N_0 - 1\right) - 2 E\left(N_0\right) + E\left(N_0 + 1\right)}{2}\right) \left(N - N_0\right)^2 \\\end{split}\]

and its first and second derivatives with respect to the number of electrons at constant external potential,

\[\begin{split}\mu\left(N\right) &= \left(\frac{\partial E\left(N\right)}{\partial N} \right)_{v(\mathbf{r})} \\ &= \left(\frac{E\left(N_0 + 1\right) - E\left(N_0 - 1\right)}{2}\right) + \left[E\left(N_0 - 1\right) - 2 E\left(N_0\right) + E\left(N_0 + 1\right) \right] \left(N - N_0\right) \\ \eta\left(N\right) &= \left(\frac{\partial^2 E\left(N\right)}{\partial^2 N} \right)_{v(\mathbf{r})} = E\left(N_0 - 1\right) - 2 E\left(N_0\right) + E\left(N_0 + 1\right)\end{split}\]

the quadratic local tools are obtained by taking the functional derivative of these expressions with respect to external potential \(v(\mathbf{r})\) at fixed number of electrons.

Initialize class.

Parameters:
  • density_zero (np.ndarray) – Electron density of \(N_0\)-electron system, i.e. \(\rho_{N_0}\left(\mathbf{r}\right)\).
  • density_plus (np.ndarray) – Electron density of \((N_0 + 1)\)-electron system, i.e. \(\rho_{N_0 + 1}\left(\mathbf{r}\right)\).
  • density_minus (np.ndarray) – Electron density of \((N_0 - 1)\)-electron system, i.e. \(\rho_{N_0 - 1}\left(\mathbf{r}\right)\).
  • n0 (float) – Reference number of electrons, i.e. \(N_0\), which corresponds to the integral of density_zero over all space.
density(number_electrons=None)[source]

Return quadratic electron density of \(N\)-electron system \(\rho_{N}(\mathbf{r})\).

This is defined as the functional derivative of quadratic energy model w.r.t. external potential at fixed number of electrons,

\[\begin{split}\rho_{N}(\mathbf{r}) = \rho_{N_0}\left(\mathbf{r}\right) &+ \left(\frac{\rho_{N_0 + 1}\left(\mathbf{r}\right) - \rho_{N_0 - 1}\left(\mathbf{r}\right)}{2}\right) \left(N - N_0\right) \\ &+ \left(\frac{\rho_{N_0 - 1}\left(\mathbf{r}\right) - 2 \rho_{N_0}\left(\mathbf{r}\right) + \rho_{N_0 + 1}\left(\mathbf{r}\right)}{2}\right) \left(N - N_0\right)^2\end{split}\]
Parameters:number_electrons (float, default=None) – Number of electrons. If None, the \(\rho_{N_0}\left(\mathbf{r}\right)\) is returned.
fukui_function(number_electrons=None)[source]

Return quadratic Fukui function of \(N\)-electron system, \(f_{N}(\mathbf{r})\).

This is defined as the functional derivative of quadratic chemical potential w.r.t. external potential at fixed number of electrons,

\[f_{N}(\mathbf{r}) = \left(\frac{\rho_{N_0 + 1}\left(\mathbf{r}\right) - \rho_{N_0 - 1}\left(\mathbf{r}\right)}{2} \right) + \left[\rho_{N_0 - 1}\left(\mathbf{r}\right) - 2 \rho_{N_0}\left(\mathbf{r}\right) + \rho_{N_0 + 1}\left(\mathbf{r}\right) \right] \left(N - N_0\right)\]
Parameters:number_electrons (float, default=None) – Number of electrons. If None, the \(f_{N_0}\left(\mathbf{r}\right)\) is returned.
dual_descriptor()[source]

Quadratic dual descriptor of \(N\)-electron system, \(\Delta f_{N}(\mathbf{r})\).

This is defined as the functional derivative of quadratic chemical hardness w.r.t. external potential at fixed number of electrons,

\[\Delta f_{N}(\mathbf{r}) = \rho_{N_0 - 1}\left(\mathbf{r}\right) - 2 \rho_{N_0}\left(\mathbf{r}\right) + \rho_{N_0 + 1}\left(\mathbf{r}\right)\]

The quadratic dual descriptor is independent of the number electrons.

softness(global_softness, number_electrons=None)[source]

Return quadratic softness of \(N\)-electron system, \(s_{N}(\mathbf{r})\).

\[s_N\left(\mathbf{r}\right) = S \cdot f_N\left(\mathbf{r}\right)\]
Parameters:
  • global_softness (float) – The value of global softness.
  • number_electrons (float, default=None) – Number of electrons. If None, the \(s_{N_0}\left(\mathbf{r}\right)\) is returned.
hyper_softness(global_softness)[source]

Quadratic hyper-softness of \(N\)-electron system, \(s_N^{(2)}(\mathbf{r})\).

\[s_N^{(2)}\left(\mathbf{r}\right) = S^2 \cdot \Delta f_N\left(\mathbf{r}\right)\]

The quadratic hyper-softness is independent of the number electrons.

Parameters:global_softness (float) – The value of global softness.