Ejemplo n.º 1
0
 def __init__(self,mol,mints):
     self.docc = get_docc(mol)
     self.nbf = get_nbf(mints)
     self.conv = get_conv()
     self.maxiter = get_maxiter()
     self.rhf = RHF(mol,mints)
     self.E_scf = self.rhf.get_energy()
     self.e = self.rhf.e
     self.G = self.rhf.G
     self.C = self.rhf.C
Ejemplo n.º 2
0
 def __init__(self,mol,mints):
     self.nocc = get_nocc(mol)
     self.nbf = get_nbf(mints)
     self.norb = 2*self.nbf
     self.conv = get_conv()
     self.maxiter = get_maxiter()
     self.uhf = UHF(mol,mints)
     self.E_uhf = self.uhf.get_energy()
     self.e = self.uhf.e
     self.g = self.uhf.g
     self.C = self.uhf.C
Ejemplo n.º 3
0
    def __init__(self,mol,mints):

        self.nbf = get_nbf(mints)
        self.nocc = get_nocc(mol)

        uhf = UHF(mol,mints)
        uhf.get_energy()
        self.E0 = uhf.E
        self.e = uhf.e

        self.Gmo = transform_integrals(uhf.g, uhf.C)

        self.norb = 2*self.nbf
        self.nvirtual = self.norb - self.nocc
        self.ndet = self.nvirtual*self.nocc
Ejemplo n.º 4
0
 def __init__(self,mol,mints):
     """
     initialize rhf class
     takes objects:
     1. mol: a psi4 molecule, get_active_molecule()
     2. mints: molecular integrals from libmints in psi4
     """
     self.docc = get_docc(mol)
     self.nbf = get_nbf(mints)
     self.conv = get_conv()
     self.maxiter = get_maxiter()
     self.S = np.matrix(mints.ao_overlap() )
     self.X = np.matrix(la.funm(self.S,lambda x : x**(-0.5)))
     self.T = np.matrix(mints.ao_kinetic() )
     self.V = np.matrix(mints.ao_potential() )
     self.H = self.T+self.V
     self.G = np.array(mints.ao_eri() ).swapaxes(1,2)
     self.D = np.zeros((self.nbf,self.nbf))
     self.Vnu = mol.nuclear_repulsion_energy()
     self.E = 0
Ejemplo n.º 5
0
   def __init__(self,mol,mints):
      self.nbf = get_nbf(mints)
      self.norb = 2* self.nbf
      self.nocc = get_nocc(mol)
      self.conv = get_conv()
      self.maxiter = get_maxiter()
      m = self.nbf
      N = self.norb

      # overlap matrix
      S = mints.ao_overlap()
      self.Z = block_oei(S)
      self.X = np.matrix(la.funm(self.Z,lambda x : x**(-0.5)))

      # KE matrix
      T = mints.ao_kinetic()
      self.T = block_oei(T)

      # PE matrix
      V = mints.ao_potential()
      self.V = block_oei(V)

      self.Vnu = mol.nuclear_repulsion_energy()

      # Hcore
      self.H = self.T + self.V

      # ERI matrix
      G = np.array( mints.ao_eri() )    ####  mxmxmxm tensor
      self.G = block_tei(G)
      self.g = self.G.swapaxes(1,2)     ####  ( m n | r s ) ->   < m r | n s > 

      # Density matrix
      self.D = np.matrix(np.zeros(self.Z.shape))

      self.E = 0.0