计算化学公社

 找回密码 Forget password
 注册 Register
Views: 14828|回复 Reply: 20

[综合交流] 升级PySOC使其支持g16(更新calcsoc脚本)

[复制链接 Copy URL]

877

帖子

36

威望

4803

eV
积分
6400

Level 6 (一方通行)

发表于 Post on 2020-10-13 21:37:20 | 显示全部楼层 Show all |阅读模式 Reading model
本帖最后由 ggdh 于 2020-12-23 06:33 编辑

1.升级pysoc脚本使其支持g16
PySOC的详细介绍见:使用Gaussian+PySOC在TDDFT下计算旋轨耦合矩阵元
虽然目前还可以用ORCA算SOC,但有时候懒得切换程序了。
原版的PySOC不支持g16,主要是g16和g09的log文件有差别,使其读取的时候出现了一点小问题。需要进行下面的一些修改:
1.修改pysoc.py所在目录下的soc.py的第84行把:
elif 'NFC=' in line:
改成
elif 'NFC=' in line and 'NBasis' in line:
2.把soc.py的103行的
['AO basis set','primitive gaussians']
改成
['AO basis set','Effective','primitive gaussians']
3.然后把sob_PySOC_MolSOC/pysoc/bin/soc.py中164行附近的下面两行中的g09改成g16
cmd0 = g09root+'/g09/bsd/g09.profile'
cmd1 = g09root+'/g09/rwfdump gaussian.rwf'

4.在计算所用的init.py文件中设置g16的路径,比如我的是下面这样,各位根据自己的实际情况设就好。
g16root = '/home/zc'
sys.path.append(g16root+'/g16')


另外也为小白和懒人准备了脚本,附件中的update_pysoc.sh,自动完成升级,以及自动对init.py的设置,具体用法见第三部分

2.快捷计算soc的calcsoc脚本
特性:
1.不需要手动修改文件名
2.在命令行中指定计算的态的数量
3.在命令行中切换不同的molsoc版本
4.自动识别log文件的版本(g09/g16),并据此自动修改程序(注意,如果这里用的是g09的log,但是机器上没有设置g09root环境变量,那就可能会出错)
运行方法:
确保当前目录下有abc.log abc.rwf文件,然后运行:
  1. calcsoc -s 1 -t 2 -p 3 abc.log
复制代码
说明:
-s 1  选择S1态
-t 2 选择T1,T2态
-p 3 选择sob制作的molsoc 3号版本,不同版本的含义见sob的那篇博文,或者运行
  1. calcsoc -h
复制代码
进行快速查看如下图;
1.png
运行时,会产生一个abc-soc的文件夹,相关的临时文件都会放在这个文件夹中进行计算。这个文件夹仅仅用于出错了调试,一般不需要进入。
计算完成后会在当前目录下(有abc.log的文件的目录)产生abc_soc.dat文件,其中就包含了所需的SOC的数据。


3.从头开始安装步骤
需求:
1 python 3.7环境
2 设置了g09root(如果需要分析g09的log) 或者g16root (如果需要分析g16的log)的环境变量。
安装步骤:
1.下载sob_PySOC_MolSOC.zip,并解压文件,注意文件中的还有子压缩包pysoc.zip和molsoc_modified.zip, 也需要分别解压。
2. 把文件夹及子文件夹上传到服务器(Linux系统)
3. 把附件中的2个文件:update_pysoc.sh, calcsoc文件拷贝到服务器上的sob_PySOC_MolSOC/pysoc/bin文件夹当中
4. 到sob_PySOC_MolSOC/pysoc/bin下,运行
  1. chmod +x *
复制代码
5.把sob_PySOC_MolSOC/pysoc/bin加入到PATH变量中
6.运行update_pysoc.sh (这里在任意地方运行都可,因为会通过第四步设定的PATH路径找到相应的需要修改的文件位置)
此处会显示一些信息,包括是否成功升级,以及对init.py 的自动设置。
7.运行calcsoc进行分析



calcsoc

3.06 KB, 下载次数 Times of downloads: 95

update_pysoc.sh

2.36 KB, 下载次数 Times of downloads: 88

评分 Rate

参与人数
Participants 6
eV +33 收起 理由
Reason
tkaray + 5 牛!
幸运兔 + 5 牛!
snljty + 5
冰释之川 + 5 谢谢分享
biogon + 5 GJ!
sobereva + 8

查看全部评分 View all ratings

4万

帖子

99

威望

4万

eV
积分
89888

管理员

公社社长+计算化学玩家

发表于 Post on 2020-10-13 21:45:31 | 显示全部楼层 Show all
好,我已在原帖中提及此帖
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班,内容介绍以及往届资料购买请点击链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的最佳途径。培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

328

帖子

0

威望

3397

eV
积分
3725

Level 5 (御坂)

发表于 Post on 2020-12-2 21:18:20 | 显示全部楼层 Show all
试了一下并不好用,还是无法正确读取,用的16的A03版本

877

帖子

36

威望

4803

eV
积分
6400

Level 6 (一方通行)

 楼主 Author| 发表于 Post on 2020-12-9 18:12:13 | 显示全部楼层 Show all
pwzhou 发表于 2020-12-2 21:18
试了一下并不好用,还是无法正确读取,用的16的A03版本

有没有啥出错提示没?

1188

帖子

5

威望

2758

eV
积分
4046

Level 6 (一方通行)

发表于 Post on 2020-12-11 14:13:35 | 显示全部楼层 Show all
本帖最后由 snljty 于 2020-12-14 17:58 编辑
ggdh 发表于 2020-12-9 18:12
有没有啥出错提示没?
补充:抱歉忘了说了。所有g09都替换成g16了,包括二进制文件。还是不行。
刚拿g16试着跑了一下,用的http://sobereva.com/411里面Os配合物的例子。版本G16 A.03
gaussian.log里面只有一行有NFC=字段,而这行也有NBasis=字段。所以这个修改至少对于我这个文件,是没有效果的。
NBasis=   543 NAE=   107 NBE=   107 NFC=    26 NFV=     0

直接报错是soc.py提示没有定义mo_ene变量,这个变量是mo_ene = read_file('MO_energy', 'Dump of file', nt, nr )读出来的。但是当前目录下并没有生成MO_energy文件。

QM_code gauss_tddft                                                                                    
open file gaussian.log                                                                                 
[[1, 2.5829], [3, 3.974], [4, 4.0286], [7, 4.3022], [8, 4.327], [9, 4.3461], [10, 4.3647], [12, 4.4727],
[14, 4.5438], [15, 4.5714]]                                                                             
2 3.9243                                                                                                
['ANG', 'Zeff', 'DIP']                                                                                 
Error when reading gaussian output                                                                     
Traceback (most recent call last):                                                                     
  File "xxxxxxxxx/PySOC/pysoc/bin/soc.py", line 492, in <module>                                         
    write_file(mo_ene, 'mo_ene.dat', '{}  ')                                                            
NameError: name 'mo_ene' is not defined                                                                 
forrtl: No such file or directory                                                                       
forrtl: severe (29): file not found, unit 171, file xxxxxxxxx/soc_td_input.dat               

328

帖子

0

威望

3397

eV
积分
3725

Level 5 (御坂)

发表于 Post on 2020-12-11 14:35:11 | 显示全部楼层 Show all
snljty 发表于 2020-12-11 14:13
刚拿g16试着跑了一下,用的http://sobereva.com/411里面Os配合物的例子。版本G16 A.03
gaussian.log里面 ...

我的也是这样的情况

150

帖子

0

威望

2871

eV
积分
3021

Level 5 (御坂)

发表于 Post on 2020-12-14 17:19:37 | 显示全部楼层 Show all
尝试了一下,还需要将soc.py中g09全部修改为g16,init.py中也是一样要修改

1188

帖子

5

威望

2758

eV
积分
4046

Level 6 (一方通行)

发表于 Post on 2020-12-14 17:44:29 | 显示全部楼层 Show all
tiandikuoyuan 发表于 2020-12-14 17:19
尝试了一下,还需要将soc.py中g09全部修改为g16,init.py中也是一样要修改

我上面的都改过了,还是不行。

150

帖子

0

威望

2871

eV
积分
3021

Level 5 (御坂)

发表于 Post on 2020-12-14 18:31:47 | 显示全部楼层 Show all
snljty 发表于 2020-12-14 17:44
我上面的都改过了,还是不行。

试了Os配合物的例子,加了赝势确实会报错,还是用G09或者orca吧

877

帖子

36

威望

4803

eV
积分
6400

Level 6 (一方通行)

 楼主 Author| 发表于 Post on 2020-12-22 18:47:04 | 显示全部楼层 Show all
tiandikuoyuan 发表于 2020-12-14 17:19
尝试了一下,还需要将soc.py中g09全部修改为g16,init.py中也是一样要修改

新的脚本可以自动进行这些设置了。

877

帖子

36

威望

4803

eV
积分
6400

Level 6 (一方通行)

 楼主 Author| 发表于 Post on 2020-12-22 18:49:35 | 显示全部楼层 Show all
snljty 发表于 2020-12-11 14:13
补充:抱歉忘了说了。所有g09都替换成g16了,包括二进制文件。还是不行。
刚拿g16试着跑了一下,用的http:/ ...

有赝势的log文件,由于g16和g09的输出有差异,导致错误
之前的脚本没有注意到赝势的情况。现在的船新版本ok了。

877

帖子

36

威望

4803

eV
积分
6400

Level 6 (一方通行)

 楼主 Author| 发表于 Post on 2020-12-22 18:50:37 | 显示全部楼层 Show all
pwzhou 发表于 2020-12-2 21:18
试了一下并不好用,还是无法正确读取,用的16的A03版本

再试试新版的。另外附送了calcsoc 也欢迎尝试

1188

帖子

5

威望

2758

eV
积分
4046

Level 6 (一方通行)

发表于 Post on 2020-12-22 19:51:40 | 显示全部楼层 Show all
ggdh 发表于 2020-12-22 18:49
有赝势的log文件,由于g16和g09的输出有差异,导致错误
之前的脚本没有注意到赝势的情况。现在的船新版 ...

谢谢您!刚试了一下,计算没有报错(除了卢老师删了跃迁偶极矩部分导致的那个报错。)数值上和g09的结果有一定差别(加了g09defaults),我再看看。

9

帖子

0

威望

152

eV
积分
161

Level 3 能力者

发表于 Post on 2020-12-25 13:51:20 | 显示全部楼层 Show all
请教老师,Gaussian中的QMMM结果是否适用于pysoc。

4万

帖子

99

威望

4万

eV
积分
89888

管理员

公社社长+计算化学玩家

发表于 Post on 2021-1-2 20:26:41 | 显示全部楼层 Show all
yinhang 发表于 2020-12-25 13:51
请教老师,Gaussian中的QMMM结果是否适用于pysoc。

没法用
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班,内容介绍以及往届资料购买请点击链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的最佳途径。培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2023-2-2 22:39 , Processed in 0.225675 second(s), 25 queries .

快速回复 返回顶部 返回列表 Return to list