结合Multiwfn以及vmd,一键生成一系列轨道
1. 需要用到文件
1)fchk,molden,gms, gbw等等格式的文件,由量子化学计算软件生成,记录了分子坐标、波函数等其他数据。支持的具体格式详见:详谈Multiwfn支持的输入文件类型、产生方法以及相互转换 - 思想家公社的门口:量子化学·分子模拟·二次元 (sobereva.com)
2)cub文件,即格点文件,一般是指记录了三维空间中均匀分布的各个点的特定函数的数值,此文件可以由fchk转换而来,格点数据可以组成分子轨道的形状,以此来可视化。想了解此类型文件更多见:Gaussian型cube文件简介及读、写方法和简单应用 - 思想家公社的门口:量子化学·分子模拟·二次元 (sobereva.com)
3)orbnumb,模板文件,即按照个人喜好设置好的一个模板文件。
2.需要用到的软件
1)量化软件,用以产生波函数文件。
2)Multiwfn, 将波函数文件中的每一个轨道转为一个cub文件来记录单个轨道形状。例如一个fchk文件中包含10个分子轨道,则可以将此fchk文件转换为10个cub文件,每个cub文件记录了一个轨道的形状。
3)VMD, 按照自己的喜好生成模板文件orbnumb。
3.具体步骤(波函数文件以fchk文件为例,文末有演示视频)
首先假设我们使用量化软件已经生成了fchk( 点击下载)文件,我们要对指定的轨道进行可视化。
1)将fchk文件转为指定cub文件。具体操作如下:(##是注释,不要输入)
a) /opt/wsy/bin/Multiwfn O2_singlet.fchk ##使用Multiwfn打开O2_singlet.fchk文件
b)依次输入以下数字:(注意每一行输入后需要按Enter)
200 ##进入主菜单 3 ##输出cub文件 7-9 ##选择需要可视化的轨道号,一般比较感兴趣的是HOMO-LUMO附近的轨道。这个分子是氧气分子,共16个电子,HOMO是第8号轨道,因此选择7-9号轨道。一般只需要此处不同,其余均可相同。输入方式也可以以英文 , 分开,比如 6,7-9,10 2 ##选择输出的格点质量,1-3质量越来越好,2即可。 1 ##每一个轨道输出一个cub文件. |
操作完上述a) b)后,直接按住Ctrl+C退出对话框,不用理会报错信息。 当前文件下会产生orb000007.cub,orb000008.cub,orb000009cub三个文件,分别对应相应轨道的格点数据,接下来就可以将这些cub文件投喂给VMD渲染出相应的轨道图形。
PS: 这里有个简单的方法,可以使用输入的重定向功能来简化繁琐的输入过程。我们新建一个input.txt,内容如下:
200 3 7-9 2 1 |
然后直接输入以下命令:
/opt/wsy/bin/Multiwfn O2_singlet.fchk < input.txt
不用理会报错信息,只要确保当前文件产生了cub文件即可。
2)利用VMD可视化cub文件并按自己的喜好修改保存为模板。具体操作如下:
a) 在生成的cub目录下,输入:
/opt/wsy/bin/vmd
b)可视化轨道,调整可视角度以及isovalue:
orb 8 ##可视化8号轨道
orbiso 0.03 ##设置isovalue,一般0.02-0.07之间,同一个体系要确保isovalue一致。
c)按照自己的喜好调整颜色:
在界面的Graphics->Representations
然后可以选择不同的Isosurface调整其颜色。直到找到满意的颜色。
d)将调整好的轨道保存为orbnumb模板文件。
一切调整后,点击File->Save Visualization State 保存为orbnumb。此时文件下含有cub文件以及orbnumb。
3)利用脚本一键渲染所有轨道
直接运行以下命令即可渲染所有轨道
/opt/wsy/bin/cub2bmp
生成的轨道在bmp文件夹下,数字代表轨道号码,颜色、分子朝向、isovalue均与保存的模板orbnumb一模一样。