class chemtools.toolbox.densitybased.DensityLocalTool(density, gradient, hessian=None)[source]

Class of density-based local descriptive tools.

Initialize class with density and gradient.

  • density (np.ndarray) – Electron density of the system evaluated on a grid
  • gradient (np.ndarray) – Gradient vector of electron density evaluated on a grid
  • hessian (np.ndarray) – Hessian matrix of electron density evaluated on a grid

Electron density.

Electron density \(\rho\left(\mathbf{r}\right)\) evaluated on a grid.


Gradient of electron density.

Gradient vector of electron \(\nabla \rho\left(\mathbf{r}\right)\) defined as the first-order partial derivatives of electron density w.r.t. coordinate \(\mathbf{r} = \left(x\mathbf{i}, y\mathbf{j}, z\mathbf{k}\right)\),

\[\nabla\rho\left(\mathbf{r}\right) = \left(\frac{\partial}{\partial x}\mathbf{i}, \frac{\partial}{\partial y}\mathbf{j}, \frac{\partial}{\partial z}\mathbf{k}\right) \rho\left(\mathbf{r}\right)\]

Hessian of electron density.

Hessian matrix of electron density \(\nabla^2 \rho\left(\mathbf{r}\right)\) defined as the second-order partial derivatives of electron density w.r.t coordinate \(\mathbf{r} = \left(x\mathbf{i}, y\mathbf{j}, z\mathbf{k}\right)\).


Laplacian of electron density.

Laplacian of electron density \(\nabla ^2 \rho\left(\mathbf{r}\right)\) defined as the trace of Hessian matrix of electron density which is equal to the sum of \(\left(\lambda_1, \lambda_2, \lambda_3\right)\) eigen-values of Hessian matrix,

\[\nabla^2 \rho\left(\mathbf{r}\right) = \nabla\cdot\nabla\rho\left(\mathbf{r}\right) = \frac{\partial^2\rho\left(\mathbf{r}\right)}{\partial x^2} + \frac{\partial^2\rho\left(\mathbf{r}\right)}{\partial y^2} + \frac{\partial^2\rho\left(\mathbf{r}\right)}{\partial z^2} = \lambda_1 + \lambda_2 + \lambda_3\]

Shanon information defined as \(\rho(r) \ln \rho(r)\).


Norm of the gradient of electron density.

Gradient norm representing the norm of the gradient vector at every point,

\[\lvert \nabla \rho\left(\mathbf{r}\right) \rvert = \sqrt{ \left(\frac{\partial\rho\left(\mathbf{r}\right)}{\partial x}\right)^2 + \left(\frac{\partial\rho\left(\mathbf{r}\right)}{\partial y}\right)^2 + \left(\frac{\partial\rho\left(\mathbf{r}\right)}{\partial z}\right)^2 }\]

Reduced density gradient.

Reduced density gradient (RDG) defined as,

\[s\left(\mathbf{r}\right) = \frac{1}{2\left(3\pi ^2 \right)^{1/3}} \frac{\lvert \nabla\rho\left(\mathbf{r}\right) \rvert}{\rho\left(\mathbf{r}\right)^{4/3}}\]

Weizsacker kinetic energy density.

Weizsacker kinetic energy/local steric energy/Fisher information density defined as,

\[T\left(\mathbf{r}\right) = \frac{\lvert \nabla \rho\left(\mathbf{r}\right) \rvert ^2}{8 \rho\left(\mathbf{r}\right)}\]

Thomas-Fermi kinetic energy density.

Thomas-Fermi kinetic energy density defined as,

\[T\left(\mathbf{r}\right) = \frac{3}{10} \left(6 \pi^2 \right)^{2/3} \left(\frac{\rho\left(\mathbf{r}\right)}{2}\right)^{5/3}\]
electrostatic_potential(numbers, coordinates, int_weights, int_points, points)[source]

Electrostatic potential.

Electrostatic potential defined as,

\[\Phi\left(\mathbf{r}\right) = - v \left(\mathbf{r}\right) - \int \frac{\rho\left(\mathbf{r}'\right)}{|\mathbf{r} - \mathbf{r}'|} d \mathbf{r}'\]
  • numbers (np.ndarray) – The atomic numbers of the system
  • coordinates (np.ndarray) – The coordinates of the (nuclear) charges of the system
  • int_weights (np.ndarray) – The integration weights. This should have the same dimension as the density used to initialize the class.
  • int_points (np.ndarray) – The coordinates of the integration points.
  • points (np.ndarray) – The coordinates of the point(s) on which to calculate the electrostatic potential.