def _normalize(self): "Normalize basis function. From THO eq. 2.2" l, m, n = self.powers self.norm = np.sqrt( pow(2, 2 * (l + m + n) + 1.5) * pow(self.exponent, l + m + n + 1.5) / fact2(2 * l - 1) / fact2(2 * m - 1) / fact2(2 * n - 1) / pow(np.pi, 1.5)) return
def _normalize(self): "Normalize basis function. From THO eq. 2.2" l,m,n = self.powers self.norm = np.sqrt(pow(2,2*(l+m+n)+1.5)* pow(self.exponent,l+m+n+1.5)/ fact2(2*l-1)/fact2(2*m-1)/ fact2(2*n-1)/pow(np.pi,1.5)) return
def overlap1d(l1,l2,PAx,PBx,gamma): """ The one-dimensional component of the overlap integral. Taken from THO eq. 2.12 >>> isnear(overlap1d(0,0,0,0,1),1.0) True """ total = 0 for i in range(1+int(floor(0.5*(l1+l2)))): total += binomial_prefactor(2*i,l1,l2,PAx,PBx)* \ fact2(2*i-1)/pow(2*gamma,i) return total
def overlap1d(l1, l2, PAx, PBx, gamma): """ The one-dimensional component of the overlap integral. Taken from THO eq. 2.12 >>> isnear(overlap1d(0,0,0,0,1),1.0) True """ total = 0 for i in range(1 + int(floor(0.5 * (l1 + l2)))): total += binomial_prefactor(2*i,l1,l2,PAx,PBx)* \ fact2(2*i-1)/pow(2*gamma,i) return total
def normalization(self, expn): l,m,n = self.powers result = pow(2, 2*(l+m+n)+1.5) * pow(expn, l+m+n+1.5) / pow(np.pi, 1.5) result /= fact2(2*l-1) * fact2(2*m-1) * fact2(2*n-1) return np.sqrt(result)