psikit icon indicating copy to clipboard operation
psikit copied to clipboard

The HOMO LUMO calculation equation need to confirm

Open wangyingxie opened this issue 3 years ago • 1 comments

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 avatar Dec 29 '22 07:12 wangyingxie

@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.

JonathonMisiewicz avatar Jan 06 '23 14:01 JonathonMisiewicz