quemb.molbe.sparse_2el_integral.get_reachable¶
- quemb.molbe.sparse_2el_integral.get_reachable(mol, atoms_per_orb, screening_cutoff=5)¶
Return the sorted orbitals that can by reached for each orbital after screening.
- Parameters:
mol (
Mole
) – The molecule.atoms_per_orb (
Mapping
[TypeVar
(_T_orb_idx
, bound=NewType
(OrbitalIdx
,integer
)),Set
[NewType
(AtomIdx
,int
)]]) – The atoms per orbital. For AOs this is the atom the AO is centered on, i.e. a set containing only one element, but for delocalised MOs there can be more than one atom.screening_cutoff (
int
|float
|floating
|Callable
[[int
|float
|floating
],int
|float
|floating
] |Mapping
[str
,int
|float
|floating
]) – The screening cutoff is given by the overlap of van der Waals radii. By default, all radii are set to 5 Å, i.e. the screening distance is 10 Å. Alternatively, a callable or a dictionary can be passed. The callable is called with the tabulated van der Waals radius of the atom as argument and can be used to scale it up. The dictionary can be used to define different van der Waals radii for different elements. Compare to themodify_element_data
argument ofget_bonds()
.
- Return type:
dict
[TypeVar
(_T_orb_idx
, bound=NewType
(OrbitalIdx
,integer
)),list
[TypeVar
(_T_orb_idx
, bound=NewType
(OrbitalIdx
,integer
))]]