Example #1
0
def all_symm_orbs_energ(lines):
    occ_energ_symm = {}
    virt_energ_symm = {}
    blocks = get_blocks(lines)
    for blockNum in range(0,len(blocks)):
        # Get the dictcionary with the number of orbitals and respective symmetries
        Occ_dict_num = sp.get_symm_orbs(blocks[blockNum])[0]
        Virt_dict_num = sp.get_symm_orbs(blocks[blockNum])[1]
        #Get the orbital energies:
        occ_energ = sp.get_orbitals(blocks[blockNum])[0]
        virt_energ = sp.get_orbitals(blocks[blockNum])[1]
        all_orbs = sp.get_orbitals(blocks[blockNum])[2]
        #In the first block initialize the symm_orbital dictcionary
        if blockNum == 0:
            for itemNum in range(1,len(occ_energ)+1):
                symm = Occ_dict_num[itemNum]
                occ_energ_symm[symm] = []
            for itemNum in range(len(occ_energ)+1, len(all_orbs)+1):
                symm = Virt_dict_num[itemNum]
                virt_energ_symm[symm] = []
        # Appending the orbital energies of that point in the IRC with the orbtial enengies 
        for itemNum in range(1,len(occ_energ)+1):
            symm = str(Occ_dict_num[itemNum])
            occ_energ_symm[symm].append(occ_energ[itemNum-1])
        for itemNum in range(len(occ_energ)+1, len(all_orbs)+1):
            #print itemNum
            symm = str(Virt_dict_num[itemNum])
            virt_energ_symm[symm].append(virt_energ[itemNum-len(occ_energ)-1])
    all_energ_symm = dict(occ_energ_symm.items() + virt_energ_symm.items())        
    return(all_energ_symm, occ_energ_symm, virt_energ_symm)
Example #2
0
 def symm_orbitals(self):
     symm_orbs_all = irclib.all_symm_orbs_energ(self.lines)[0]
     symm_orbs_occ = sp.get_symm_orbs(self.lines)[0]
     symm_orbs_virt = sp.get_symm_orbs(self.lines)[1]
     print "\nSymmetries of occupied orbitals:"
     for key in sorted(symm_orbs_occ.iterkeys()):
         print str(key) +":  "+ symm_orbs_occ[key]
     count = 0
     print "\nSymmetries of occupied orbitals:"
     for key in sorted(symm_orbs_virt.iterkeys()):
         print str(key) +":  "+ symm_orbs_virt[key]
         count = count +1
         if count == 5:
             break
     print "###########################################"
     symm_orbs_all["Reaction Coordinate"] = self.rxCoord()
     return symm_orbs_all