atomic

class atomic.AtomicGrid(nrad, nang, origin, atomic_symbol, rtransform=None)

Defines a spherical grid for each center in the system.

evaluate_expansion(lmax, expansion)

Evaluate the spherical expansion for one atom (do not use with molecules):

\(f(\theta, \varphi) = \sum_{\ell=0}^{\ell_{max}} \sum_{m=-\ell}^\ell f_{\ell m} \, Y_{\ell m}(\theta, \varphi)\)

Parameters
  • lmax (int) – Maximum \(\ell\) order of the expansion.

  • expansion (ndarray) – Spherical expansion array with shape (nrad, lsize), where \(\ell_{size} = (\ell_{max} + 1)^2\)

Returns

array with the values of the approximated \(f(x)\).

Return type

output (ndarray)

integrate(*args, **kwargs)

Perform an integration of function \(f\) using AtomicGrid.

Parameters
  • f (ndarray) – array of \(f\) computed in all grid points.

  • segmented (logical) – whether to calculate the integral in a segmented way along the number of radial points.

Returns

float or array in the segmented case.

Return type

integral

spherical_average(*args)

Computes the spherical average of the product of given functions

Returns

the spherical average

Return type

output (array)

spherical_expansion(lmax, f)

Performs the spherical expansion:

\(f_{\ell m}=\int_{\Omega} f(\theta,\varphi)\, Y_{\ell m}(\theta,\varphi)\,d\Omega\)

Parameters
  • lmax (int) – Maximum \(\ell\) order of the expansion.

  • f (ndarray) – Array with the values of function \(f(x)\) calculated in each point of the atomic grid.

Returns

Spherical expansion array with shape (nrad, lsize), where \(\ell_{size} = (\ell_{max} + 1)^2\)

Return type

integral (ndarray)

property symbol

Owner of the grid