chemtools.toolbox.conceptualglobal.ExponentialGlobalTool

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

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

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

\[E(N) = A \exp(-\gamma(N-N_0)) + B\]

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.

The \(n^{\text{th}}\)-order derivative of the rational energy model with respect to the number of electrons at fixed external potential is given by:

\[\left(\frac{\partial^n E}{\partial N^n}\right)_{v(\mathbf{r})} = A (-\gamma)^n \exp(-\gamma (N - N_0))\]

Initialize class.

Parameters:
  • 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\).
params

Parameter \(A\), \(\gamma\) and \(B\) of energy model.

energy(n_elec)[source]

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}}}\]
Parameters:
  • n_elec (float) – Number of electrons, \(N_{\text{elec}}\).
  • order (int, default=1) – The order of derivative denoted by \(n\) in the formula.

Note

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.