Source code for fromage.utils.exci_coupling.CATC

"""Contains the tools required to calculate the exciton coupling based on Coulomb
Atomic Transition Charges method
"""
import numpy as np
ang2bohr=1.8897259885789
[docs]def CATC_coupling(NTO_1,NTO_2,coordinates_1,coordinates_2): """ Calculates the CATC exciton coupling J based on the Coulomb interaction between Atomic Transition Charges in two molecules Parameters ---------- NTO_1: List of floats List of floats of N-atoms for molecule 1 NTO_2: List of floats List of floats of N-atoms for molecule 2 coordinates_1: Nx3 array of floats Array of x,y,z coordinates for molecule 1 coordinates_2: Nx3 array of floats Array of x,y,z coordinates for molecule 2 Returns ---------- J: float Exciton coupling """ J = 0 coordinates_1=coordinates_1*ang2bohr coordinates_2=coordinates_2*ang2bohr for i in range(len(NTO_1)): for j in range(len(NTO_2)): J+=(NTO_1[i]*NTO_2[j])/np.linalg.norm(coordinates_2[j]-coordinates_1[i]) return J