def set_grid_descriptor(self, gd): GGA.set_grid_descriptor(self, gd) self.dedmu_g = gd.zeros() self.dedbeta_g = gd.zeros() # Create gaussian LFC l_lim = 1.0e-30 rcut = 12 points = 200 r_i = np.linspace(0, rcut, points + 1) rcgauss = 1.2 g_g = (2 / rcgauss**3 / np.pi * np.exp(-((r_i / rcgauss)**2)**self.alpha)) # Values too close to zero can cause numerical problems especially with # forces (some parts of the mu and beta field can become negative) g_g[np.where(g_g < l_lim)] = l_lim spline = Spline(l=0, rmax=rcut, f_g=g_g) spline_j = [[spline]] * len(self.atoms) self.Pa = LFC(gd, spline_j)
def set_grid_descriptor(self, gd): GGA.set_grid_descriptor(self, gd)
def set_grid_descriptor(self, gd): GGA.set_grid_descriptor(self, gd) RealSpaceVDWFunctional.set_grid_descriptor(self, gd)
def set_grid_descriptor(self, gd): GGA.set_grid_descriptor(self, gd) FFTVDWFunctional.set_grid_descriptor(self, gd)