# chemtools.toolbox.conceptualglobal.RationalGlobalTool¶

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

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

The energy is approximated as a 3-parameter rational function of the number of electrons,

$E(N) = \frac{a_0 + a_1 N}{1 + b_1 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.

The $$n^{\text{th}}$$-order derivatives 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})} = \frac{b_1^{n - 1} (a_1 - a_0 b_1) n!}{(1 + b_1 N)^{2n}}$

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_0$$, $$a_1$$ and $$b_1$$ 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.