示例#1
0
    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
示例#2
0
 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
示例#3
0
    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
示例#4
0
  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