Exemplo n.º 1
0
 def update_pseudo_potential(self, density):
     ret = RealSpaceHamiltonian.update_pseudo_potential(self, density)
     if not self.cavity.depends_on_el_density:
         return ret
     del_g_del_n_g = self.cavity.del_g_del_n_g
     # XXX optimize numerics
     del_eps_del_g_g = self.dielectric.del_eps_del_g_g
     Veps = -1. / (8. * np.pi) * del_eps_del_g_g * del_g_del_n_g
     Veps *= self.grad_squared(self.vHt_g)
     for vt_g in self.vt_sg:
         vt_g += Veps
     return ret