psikit
psikit copied to clipboard
The HOMO LUMO calculation equation need to confirm
Hi I am using the HOMO, LUMO function, but I found the conflicts online. HOMO = scf_wfn.epsilon_a_subset('AO', 'ALL').np[scf_wfn.nalpha()] LUMO = scf_wfn.epsilon_a_subset('AO', 'ALL').np[scf_wfn.nalpha() + 1]
@property
def HOMO(self):
return self.wfn.epsilon_a_subset('AO', 'ALL').np[self.wfn.nalpha()-1]
@property
def LUMO(self):
return self.wfn.epsilon_a_subset('AO', 'ALL').np[self.wfn.nalpha()]
I want to know which one is correct? Thanks!
@wangyingxie
Hi, I'm a Psi developer. The correct code is the second piece you posted (for a closed-shell system).
If there are 5 alpha electrons, then they are numbered 0, 1, 2, 3, 4, so you need 5 - 1 to get the highest occupied molecular orbital.