Example #1
0
    def comp_int(wf1, wf2, wf3, wf4):

        integral = 0

        for j1 in xrange(wf1.N):
            for j2 in xrange(wf2.N):
                for j3 in xrange(wf3.N):
                    for j4 in xrange(wf4.N):

                        over0 = overlap_int(wf1.gf[j1], wf2.gf[j2])
                        over1 = overlap_int(wf1.gf[j1], wf3.gf[j3])
                        over2 = overlap_int(wf1.gf[j1], wf4.gf[j4])
                        over3 = overlap_int(wf2.gf[j2], wf4.gf[j4])
                        over4 = overlap_int(wf3.gf[j3], wf4.gf[j4])
                        over5 = overlap_int(wf2.gf[j2], wf3.gf[j3])

                        if min([over0, over1, over2, over3, over4, over5]) >= 1.0:
                            integral += Ints.coulomb_repulsion(
                                (wf1.gf[j1][0], wf1.gf[j1][1], wf1.gf[j1][2]),
                                wf1.gf[j1][4],
                                (0, 0, 0),
                                wf1.gf[j1][3],
                                (wf2.gf[j2][0], wf2.gf[j2][1], wf2.gf[j2][2]),
                                wf2.gf[j2][4],
                                (0, 0, 0),
                                wf2.gf[j2][3],
                                (wf3.gf[j3][0], wf3.gf[j3][1], wf3.gf[j3][2]),
                                wf3.gf[j3][4],
                                (0, 0, 0),
                                wf3.gf[j3][3],
                                (wf4.gf[j4][0], wf4.gf[j4][1], wf4.gf[j4][2]),
                                wf4.gf[j4][4],
                                (0, 0, 0),
                                wf4.gf[j4][3],
                            )
                        else:
                            integral += 0

        return integral