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