def __init__(self, scfwfn, mints):
   spinorb = SpinOrbital(scfwfn, mints)
   nocc    = spinorb.nocc
   dim     = spinorb.dim
   Ep      = spinorb.build_Ep2()                  # Ep = 1/(fii+fjj-faa-fbb)
   g       = spinorb.build_mo_antisymmetrized_G() # g  = <pq||rs>
   indx    = Index(dim, 'pqrs')
   indx.add_index_range(   0, nocc, 'ijkl')
   indx.add_index_range(nocc,  dim, 'abcd')
   # save what we need to object
   self.indx, self.Ep, self.g = indx, Ep, g
   self.E  = 0.0
 def __init__(self, scfwfn, mints):
   spinorb = SpinOrbital(scfwfn, mints)
   nocc    = spinorb.nocc
   dim     = spinorb.dim
   Ep1     = spinorb.build_Ep1()                  # Ep1 = 1/(fii-faa)
   Ep2     = spinorb.build_Ep2()                  # Ep2 = 1/(fii+fjj-faa-fbb)
   f       = spinorb.build_mo_F()                 # f  = <p|h|q> + sum_i <pi||qi>
   g       = spinorb.build_mo_antisymmetrized_G() # g   = <pq||rs>
   indx    = Index(dim, 'pqrstu')
   indx.add_index_range(   0, nocc, 'ijklmn')
   indx.add_index_range(nocc,  dim, 'abcdef')
   # save what we need to object
   self.spinorb, self.indx, self.Ep1, self.Ep2, self.f, self.g = spinorb, indx, Ep1, Ep2, f, g
   self.E  = 0.0
Esempio n. 3
0
 def __init__(self, scfwfn, mints):
     ccsd = SpinOrbCCSD(scfwfn, mints)
     spinorb = ccsd.spinorb
     Esd = ccsd.ccsd_energy()
     t1 = ccsd.t1
     t2 = ccsd.t2
     g = ccsd.g  # g   = <pq||rs>
     Ep3 = spinorb.build_Ep3()  # Ep3 = 1/(fii+fjj+fkk-faa-fbb-fcc)
     dim = spinorb.dim
     nocc = spinorb.nocc
     indx = Index(dim, 'pqrstu')
     indx.add_index_range(0, nocc, 'ijklmn')
     indx.add_index_range(nocc, dim, 'abcdef')
     # save what we need to object
     self.indx, self.Esd, self.t1, self.t2, self.g, self.Ep3 = indx, Esd, t1, t2, g, Ep3
 def __init__(self, scfwfn, mints):
     spinorb = SpinOrbital(scfwfn, mints)
     Ep2 = spinorb.build_Ep2()  # Ep2 = 1/(fii+fjj-faa-fbb)
     K = spinorb.build_mo_K(
     )  # K   = <p|Phi><Phi|q> single-det density matrix
     h = spinorb.build_mo_H()  # h   = <p|T+V|q>      one-electron integrals
     g = spinorb.build_mo_antisymmetrized_G(
     )  # g   = <pq||rs>       two-electron integrals
     nocc, dim = spinorb.nocc, spinorb.dim
     indx = Index(dim, 'pqrst')
     indx.add_index_range(0, nocc, 'ijklm')
     indx.add_index_range(nocc, dim, 'abcde')
     # save what we need to object
     self.spinorb, self.indx, self.Ep2, self.K, self.h, self.g = spinorb, indx, Ep2, K, h, g
     self.E, self.Vnu = 0.0, psi4.get_active_molecule(
     ).nuclear_repulsion_energy()