Multiwfn official website: http://sobereva.com/multiwfn. Multiwfn forum in Chinese: http://bbs.keinsci.com/wfn
You are not logged in.
Hi all,
I need to calculate Coulomb and four-center integrals between specific orbitals from different molden files.
1- The Coulomb integrals are different from the usual Coulomb integrals between electronic orbitals, in this case the integrals are:
(ii'|jj') = int ( phi_i(r1) phi_i'(r2) r12 phi_j(r1) phi_j'(r_2) )dr1 dr2
the molecular orbitals phi_i(r1) and phi_j(r1) are from the same molden file, while both orbitals phi_i'(r2) and phi_j'(r2) are saved in other molden file.
2- The four-center integrals are a specific case of overlap integrals, in this case the integrals are:
S_(iji'j') = int ( phi_i(r) phi_j(r) phi_i'(r) phi_j'(r) )dr
phi_i and phi_j are molecular orbitals from the same molden file, phi_i' and phi_j' are molecular orbitals from other molden file as in the case of Coulomb integrals.
I am sending in this message also the equations of Coulomb integral (coulomb_integral.jpeg) and four-center integral (four_center_integral.jpeg) attached.
Is there any way to calculate this special cases of coulomb and four-center integrals with Multiwfn code?
Offline
There is a subfunction "19 Generate new wavefunction by combining fragment wavefunctions" in main function 100, you can consider to use this to combine the two wavefunctions together and export a new wavefunction. See Section 3.100.19 of Multiwfn manual for introduction about this function.
In latest version of Multiwfn, integral.f90 contains a subroutine named "showorb_ERI" to calculate two-electron Coulomb integral for four specific orbitals. This subroutine has not been link to Multiwfn menu, but you can slightly modify Multiwfn.f90 so that you can enter this subroutine. After simply inputting four orbital indices in this function, the Coulomb integral will be calculated analytically. However, this subroutine is fairly slow. Within one or two months a new subroutine will be introduced into Multiwfn to calculate two-electron Coulomb integral significantly faster than this subroutine.
Multiwfn doesn't have a subroutine to calculate the four-index overlap integral, however, you can define a new user-defined function (see beginning of Section 2.7) corresponding to the product of the four orbital wavefunctions, e.g. userfunc=fmo(x,y,z,5)*fmo(x,y,z,7)*fmo(x,y,z,9)*fmo(x,y,z,25). After compiling Multiwfn, then you can use subfunction 4 of main function 100 to integrate it over the whole space.
Offline