Integrals
Compute multipole integrals using Libint2 <https://github.com/evaleev/libint/wiki>.
The interface to the C++ Libint2 library is located at the parent folder, in the libint folder.
Index
|
Retrieve the multipole number i from the trajectory. |
|
Compute a multipole matrix: overlap, dipole, etc. |
API
- nanoqm.integrals.multipole_matrices.get_multipole_matrix(config: _data.AbsorptionSpectrum, inp: _data.AbsorptionData, multipole: Literal['overlap', 'dipole', 'quadrupole']) NDArray[f8] [source]
Retrieve the multipole number i from the trajectory. Otherwise compute it.
- Parameters:
config – Global configuration to run a workflow
inp – Information about the current point, e.g. molecular geometry.
multipole – Either overlap, dipole or quadrupole.
- Returns:
Tensor containing the multipole.
- Return type:
np.ndarray
- nanoqm.integrals.multipole_matrices.compute_matrix_multipole(mol: list[AtomXYZ], config: _data.GeneralOptions, multipole: Literal['overlap', 'dipole', 'quadrupole']) NDArray[f8] [source]
Compute a multipole matrix: overlap, dipole, etc. for a given geometry mol.
The multipole is Computed in spherical coordinates.
Note: for the dipole and quadrupole the super_matrix contains all the matrices stack all the 0-axis.
- Parameters:
mol – Molecule to compute the dipole
config – Dictionary with the current configuration
multipole – kind of multipole to compute
- Returns:
Matrix with entries <ψi | x^i y^j z^k | ψj>
- Return type:
np.ndarray