|
本帖最后由 ggdh 于 2020-8-7 12:11 编辑
O. 脚本简介与更新
MCubenGen脚本是python编写,目的就是调用Multiwfn批量产生cub文件。方面后面喂给vcube做渲染。(参见使用vmd批量渲染cube文件的tcl脚本vcube)
其实有点linux基础的同学自己临时编写个shell脚本批量调用Multiwfn产生cub文件也挺方便。
这里主要实现用一个命令集成所有的产生cub的方法,并且顺便产生vcube识别的文件名。
Multiwfn产生的cube种类太多,脚本目前没有全部覆盖,但会持续更新,更新的内容放在这里。
大家有任何建议请及时反馈,比如你想用Multiwfn产生某种cube,发现本脚本中没有,记得回帖,我会优先更新
一、环境要求
1.可以在Linux或者windows下运行
2.需要PATH路径中有Multiwfn程序
3.需要有python3的运行环境,注意:不兼容python2版本,推荐anaconda(在这里下载:https://www.anaconda.com/products/individual),确保python命令在PATH变量中。
4.非必须,强烈推荐:把MCubeGen.py所在位置加入PATH变量中(LINUX系统或者WSL,纯windows系统无此便利),提供便利:可以在任意位置使用MCubeGen.py命令
5.非必需,推荐: g09 或者 g16在PATH变量中,提供便利:可以自动formchk,Multiwfn可以调用cubegen使得算静电势速度有一定提升。
6. 不知道怎么设PATH变量的看这个:PATH 环境变量
二、运行方法
LINUX环境:如果已经把本脚本加入PATH中可以直接在有fchk的文件夹下运行(上面第四步已设好)
- MCubeGen.py -选项 参数 *.fchk
复制代码 windows环境:把脚本拷贝到含有fchk文件的目录,shift+右键在弹出菜单中选择"在此处打开PowerShell窗口",然后输入命令
- python MCubeGen.py -选项 参数 *.fchk
复制代码 运行完成后当前目录下会产生一个MCUBEG文件夹,里面有所有的cube文件,命名方式是文件名_cube类型.cub
下面举例都以LINUX下的方式举例。
三、应用示例
1. 产生分子轨道cube:
- MCubeGen.py -n 20 -m 10GB -o H1-L1,10 *.fchk
复制代码 说明:- 要求Multiwfn使用20核并行(-n 20)
- 使用10GB内存(-m 10GB)
- 对当前目录下所有的fchk文件处理(*.fchk)
- 产生HOMO-1,HOMO,LUMO,LUMO+1以及10号轨道(-o H1-L1,10)
- 如果体系是开壳体系,那么会自动产生alpha和beta两套轨道的cube
2. 产生各种常用cube:
- MCubeGen.py -c den,esp,esd,elf,lol,rdg,lmd -g 2 *.fchk
复制代码 说明:- 要求Multiwfn产生各种类型的普通cub (-c 各种cube类型名称用逗号隔开)
- 并且将格点质量设为2(-g 2格点质量定义同Multiwfn)
- 其中各种cub名称含义如下:den:电子密度,esp:静电势,esd:自旋密度,elf:电子定域化函数,lol:英雄联盟(elf和lol的含义见电子定域性的图形分析),rdg:约化密度梯度,lmd:电子密度Hessian矩阵的第二大的本征值λ_2和电子密度的乘积(rdg和lmd的含义见使用Multiwfn图形化研究弱相互作用)。
3. 产生激发态的各种cube:
- MCubeGen.py -e s1,t1-3:ele,hole,td,cdd -g "4;0.2" *.fchk
复制代码 说明:- 产生激发态的cube需要计算激发态的log的文件,并且log文件名和fchk文件名相同
- -e选项的格式为-e 设定激发态:设定cube类型,上面这个命令产生的是第一单重态,第一到第三三重态(s1,t1-3)的空穴hole,电子ele,跃迁密度td,电荷密度差cdd的cube文件,因为这个计算任务用了td(50-50),所以log文件中同时包含了单,三重态信息,如果只算了单重态,那么用选项-e 1,2:hole,ele可以直接产生第一和第二激发态的空穴电子cube。
- -g "4;0.2" 选项将格点间距设为0.2。
4. 产生激发态电子密度下的各种cube:
- MCubeGen.py -d CI -c den,esp *.fchk
复制代码 说明:产生激发态下的电子密度和静电势cub。这里的-d选项指定了使用激发态下的电子密度。
5.产生nto轨道:
- MCubeGen.py -e 1-3:nto *.fchk
- cd MCUBEG
- MCubeGen.py -o h,l *.fchk
复制代码 产生NTO需要两步,第一步产生含有nto的fchk文件,第二步产生nto的cube文件。nto和空穴电子cube比没有任何优势,强烈不推荐。
四、选项说明和默认值
--help 查看所有选项的详细说明和使用示例(见下图)
-m 设定内存,默认值是系统内存的80%
-n 设定Multiwfn使用的核数,默认值是全部的物理核
-d 设定密度,默认是scf密度
-g 设定格点质量,默认是2
-o 设定轨道cube,无默认
-e 设定激发态cube,无默认
-c 设定普通cube,无默认
五、出错的解决方法
1.确保gaussian任务正常结束。
2.当前目录下会产生Multiwfn_com,Multiwfn_out,Multiwfn_err,分别是Multiwfn的输入,输出和报错文件。分别打开分析。
3.打开Multiwfn_com,照着里面的命令手动运行Multiwfn,看看具体那一步出错。
4.回帖或者联系我。
test.tar.gz 中是几个小的示例文件。可以运行本贴中的所有例子,手上没有现成fchk和log的同学可以下载尝试一下。
|
评分 Rate
-
查看全部评分 View all ratings
|