def find_bonds(self,scalef=0.6): from pyquante2.utils import upairs from pyquante2.constants import bohr2ang self.bonds = [] for i,j in upairs(range(len(self.atoms))): ati,atj = self.atoms[i],self.atoms[j] r = ati.distance(atj)*bohr2ang r0 = ati.radius() + atj.radius() if r < scalef*r0: self.bonds.append((ati,atj)) return
def nuclear_repulsion(self): return sum(ati.atno * atj.atno / ati.distance(atj) for ati, atj in upairs(self))
def nuclear_repulsion(self): return sum(ati.atno*atj.atno/ati.distance(atj) for ati,atj in upairs(self))