Multiwfn official website: http://sobereva.com/multiwfn. Multiwfn forum in Chinese: http://bbs.keinsci.com/wfn
You are not logged in.
Dear Prof. Tian,
Is there a way in Multiwfn to join two molecular orbitals with "equal" energy values?
In the case of option 19 - -menu 100 -- ("combining fragment wavefunctions"), a new wavefunction is obtained with m orbitals from fragment 1 and n orbitals from fragment 2. However, I am interested in join the coefficients of two orbitals with similar energy into the same orbital.
for example:
Thank you very much
Offline
Unfortunately, there is no existing function. If you really need this operation, you can consider to modify and recompile source code of Multiwfn to extend a new function. In which, for example, simplying using CO(imo,:)=CO(jmo,:)+CO(kmo,:) will sum up orbital expansion coefficients (w.r.t PGTFs) of orbitals jmo and kmo as imo. Note that after that usually one also needs to perform normalization for the new orbital.
Offline
You can use the Python API `lin_comb_two_mo` in MOKIT, which performs the linear combinations of two MOs
new_mo1 = 0.5*sqrt2*(mo1 + mo2)
new_mo2 = 0.5*sqrt2*(mo1 - mo2)
Note that the constant 0.5*sqrt2 is needed to ensure that MOs are still normalized (to 1.0). Here is the Python script
from mokit.lib.gaussian import lin_comb_two_mo
lin_comb_two_mo('polyacene.fch', 30, 31)
Here the integers 30,31 are the 31th and 32th MOs, respectively. MOKIT can be easily installed using conda, please see https://gitlab.com/jxzou/mokit
Offline