Interface: Libcint Wrapper#

This module provides the wrapper for interfacing with libcint. The main class handles the conversion of from dxtb’s basis format to libcint’s internal format.

class tad_libcint.interface.wrapper.LibcintWrapper(atombases, ihelp=None, spherical=True, hermitian=False)[source]#

Bases: object

Wrapper for interfacing with libcint.

The basis information is transformed in the format that libcint expects.

ao_idxs()[source]#

Return the lower and upper indices of the atomic orbitals of this object in the full AO map (i.e. absolute indices)

Returns:

The lower and upper indices of the atomic orbitals.

Return type:

tuple[int, int]

ao_to_atom()[source]#

Get the relative mapping from atomic orbital relative index to the absolute atom position. This is usually used in scatter in the backward calculation.

Returns:

The mapping from atomic orbital relative index to the absolute atom position.

Return type:

Tensor

ao_to_shell()[source]#

Get the relative mapping from atomic orbital relative index to the absolute shell position. This is usually used in scatter in the backward calculation.

Returns:

The mapping from atomic orbital relative index to the absolute shell position.

Return type:

Tensor

property atm_bas_env#
property atombases#
centre_on_r(r)[source]#

Set the centre of coordinate to r. This is usually used in rinv integral.

Parameters:

r (Tensor) – The centre of coordinate of shape (ndim,).

Yields:

Iterator – The context manager.

property fracz#
property full_angmoms#
property full_ao_to_atom#
property full_ao_to_shell#
property full_shell_to_aoloc#
get_uncontracted_wrapper()[source]#

Create a LibcintWrapper object for the uncontracted basis set.

This is used for the backward calculation of the integrals.

Returns:

The uncontracted LibcintWrapper object and the mapping from uncontracted atomic orbital (relative index) to the relative index of the atomic orbital.

Return type:

tuple[LibcintWrapper, Tensor]

property hermitian#
nao()[source]#
property natoms#
property ngauss_at_shell#
property params#
property parent#
property shell_idxs#
property spherical#