theochem / ModelHamiltonian

Generate 1- and 2-electron integrals so that molecular quantum chemistry software can be used for model Hamiltonians.
https://modelh.qcdevs.org
GNU Lesser General Public License v3.0
27 stars 17 forks source link

Build gamma from PariserParr module #136

Closed RichRick1 closed 3 months ago

RichRick1 commented 3 months ago

Description

The idea is not to overload connectivity parameter in the __init__ method of HamPPP, but instead invoke PPP module to build $\gamma$ matrix directly, and then pass it to the HamPPP . This is very easy for user, and I feel like this is the way we will use it.

We already have a functionality to do this, since we initially separated Rauk in a stand-alone module for this reason. However, there are few changes in API that can make this much more user friendly and structured code-wise.

ToDo:

Once this is done, we can easily build $\gamma$ matrix using the PariserParr module such as:

system = [(C1, C2, 2.3), (C2, C3, 1.1), (C3,  C4, 1.5)]
gamma_1 = moha.rauk.PariserParr.calculate_gamma(system)

gamma_2 = moha.rauk.PariserParr.calculate_gamma(atom_lst = [C, C, C, C], R_xy = np.array([[0, 2.3, 0, 0],
                                                                                                                                                                    [2.3, 0, 1.1, 0],
                                                                                                                                                                    [0, 0, 1.5, 0]])
gamma_3 = moha.rauk.PariserParr.calculate_gamma(U_xy, R_xy)
RichRick1 commented 3 months ago

This has been done