Professor Tian, thank you very much.
The Multiwfn source code 3.8 (dev) Upload [2024-Nov-13] was uploaded to https://github.com/aslozada/Stress_tensor/
Best regards,
Asdrubal Lozada
Dear Asdrubal Lozada,
Very nice, I will mentioning your script in Multiwfn manual in the corresponding part of Section 2.7 of manual.
Because the patch may or may not work for other releases of Multiwfn source code, I think it is best to also upload the Multiwfn source code package (version 3.8(dev) Update [2024-Nov-13]) onto https://github.com/aslozada/Stress_tensor/, so that other people can always use your script successfully.
Best regards,
Tian
Professor Tian, thank you very much.
The bash script to calculate the path-packets can be downloaded from: https://github.com/aslozada/Stress_tens … packets.sh
How to use: bash path-packets.sh <waveFunctionFile>
The script uses the files: CPs.txt and paths.txt, and to visualize can be use VMD in representation CPK
Ethene. Path-Packets {q,q´}
Best regards,
Asdrubal Lozada
Multiwfn has been updated today. Stress tensor ellipticity has been added as the 118th user-defined function.
Dear aslozada,
I will incorporate your code into Multiwfn release several days later and let you know here.
Best,
Tian
Professor Tian, thank you very much.
An application of the Stress Tensor: The Path-Packet**
** Described in: Jenkins & Kirk: Next Generation Quantum Theory of Atoms in Molecules, 2023
r_i: position on Bond Path
epsilon_i: stress tensor elllipticity at ri
e2_i: second eigenvector of stress tensor
!!-------- Calculate stress tensor ellipticity
real*8 function stress_ellipticity1(x,y,z)
real*8 x,y,z,mat(3,3),eigval(3),eigvecmat(3,3)
call stress_tensor(x,y,z,mat)
call diagsymat(mat,eigvecmat,eigval,idiagok)
stress_ellipticity=(abs(eigval(1))/abs(eigval(2)))-1
end function
This functions calculates the vector components ellipticity * eigenvector(2)
!!--------Calculate pro path-packets
function pro_path_packets(x,y,z) result(v)
real*8 x,y,z,mat(3,3),eigval(3),eigvecmat(3,3)
real*8 v(3)
call stress_tensor(x,y,z,mat)
call diagsymat(mat,eigvecmat,eigval,idiagok)
stress_ellipticity=(abs(eigval(1))/abs(eigval(2)))-1
v(1)=stress_ellipticity*eigvecmat(1,2)
v(2)=stress_ellipticity*eigvecmat(2,2)
v(3)=stress_ellipticity*eigvecmat(3,2)
end function
Example: Path-Packets for Li-Li Dimer
* color blue: P and color red: P'
Currently, the sum r_i + pro_path_packets(x,y,z) is performed separately, using a bash script. And the figure is performed with VMD
New feature of Multiwfn updated on 2024-Oct-20:
Stress tensor defined by Bader now can be outputted for any position in main function 1, and can be outputted for critical points by option 7 in topology analysis module. Stress tensor stiffness and stress tensor polarizability are shown together, and they are also available as the 116th and 117th user-defined functions, respectively, see corresponding part of Section 2.7 of updated Multiwfn manual for details. In addition, stiffness of electron density is available as the 115th user-defined function.