def init_one_set(self, ao, **kvargs): """ Constructor for two-center matrix elements, i.e. one set of radial orbitals per specie is provided """ self.jmx = ao.jmx c2r_c.__init__(self, self.jmx) sbt_c.__init__(self, ao.rr, ao.pp, lmax=2 * self.jmx + 1) gaunt_c.__init__(self, self.jmx) self.ao1 = ao self.ao1._add_sp2info() self.ao1._add_psi_log_mom() self.ao2 = self.ao1 self.ao2_hartree = ao_log_hartree(self.ao1, **kvargs) self.aos = [self.ao1, self.ao2] return self
def init_one_set(self, ao, **kvargs): """ Constructor for two-center matrix elements, i.e. one set of radial orbitals per specie is provided """ self.jmx = ao.jmx c2r_c.__init__(self, self.jmx) sbt_c.__init__(self, ao.rr, ao.pp, lmax=2*self.jmx+1) gaunt_c.__init__(self, self.jmx) self.ao1 = ao self.ao1._add_sp2info() self.ao1._add_psi_log_mom() self.ao2 = self.ao1 self.ao2_hartree = ao_log_hartree(self.ao1, **kvargs) self.aos = [self.ao1, self.ao2] return self
def init_two_sets(self, ao1, ao2, **kvargs): """ Constructor for matrix elements between product functions and orbital's products: two sets of radial orbitals must be provided. """ self.jmx = max(ao1.jmx, ao2.jmx) c2r_c.__init__(self, self.jmx) sbt_c.__init__(self, ao1.rr, ao1.pp, lmax=2 * self.jmx + 1) gaunt_c.__init__(self, self.jmx) self.ao1 = ao1 self.ao1._add_sp2info() self.ao1._add_psi_log_mom() self.ao2 = ao2 self.ao2._add_sp2info() self.ao2_hartree = ao_log_hartree(self.ao2, **kvargs) self.ao2._add_psi_log_mom() self.aos = [self.ao1, self.ao2] return self
def init_two_sets(self, ao1, ao2, **kvargs): """ Constructor for matrix elements between product functions and orbital's products: two sets of radial orbitals must be provided. """ self.jmx = max(ao1.jmx, ao2.jmx) c2r_c.__init__(self, self.jmx) sbt_c.__init__(self, ao1.rr, ao1.pp, lmax=2*self.jmx+1) gaunt_c.__init__(self, self.jmx) self.ao1 = ao1 self.ao1._add_sp2info() self.ao1._add_psi_log_mom() self.pp2 = self.ao1.pp**2 self.ao2 = ao2 self.ao2._add_sp2info() self.ao2_hartree = ao_log_hartree(self.ao2, **kvargs) self.ao2._add_psi_log_mom() self.aos = [self.ao1, self.ao2] return self