计算化学公社

 找回密码 Forget password
 注册 Register
Views: 1286|回复 Reply: 0
打印 Print 上一主题 Last thread 下一主题 Next thread

[CP2K] 与Multiwfn联用生成批量freq计算输入文件的python脚本

[复制链接 Copy URL]

208

帖子

3

威望

1996

eV
积分
2264

Level 5 (御坂)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 Eudaimonia 于 2023-1-12 09:56 编辑




2023.01.12
修了一下bug,我自己体系中吸附质多个原子也能够正常运行了




2023.01.11
目前只能对单个吸附质原子生成,多个原子时遍历有问题




由于cp2k计算freq是一个需要巨量计算的任务,一般会对输入文件中的部分原子进行限制,以减少计算量。当进行批量计算时候,不同模型里面的fix原子选择会变得非常麻烦,写了一个python脚本来批量生成相应的文件,大家可以参考使用

python版本为3.9 64bit,需要安装numpy包进行使用

该脚本使用要求准备生成inp文件的cif模型中,吸附质分子(即我们需要计算频率的分子)的所有原子必须位于cif文件的末尾,且所有原子的坐标必须为正数,如果你的cif文件不符合要求考虑使用multiwfn对cif重新排序(一般是sort by z)后重新生成cif文件备用

之后下载freq.py文件,打开修改开头文件中multiwfn_path为你自己电脑中multiwfn.exe文件路径;
multiwfn_inputfile修改为你生成inp文件使用的键入multiwfn的指令,此处给出我自己使用的freq.txt作为参考;
distance_limit为判定某个原子距离吸附质原子的距离(单位为埃),如果该原子与吸附质分子的所有原子的距离都大于该距离,就fix该原子,默认值使用3

修改完毕后保存,双击打开该freq.py文件
首先输入需要批处理文件的路径,脚本会筛选出所有cif文件,并按照multiwfn_inputfile指定文件的指令生成inp文件
之后输入吸附质分子的原子数量x,脚本会从后往前依次计算所有原子与倒数x个原子之间的距离并生成需要fix的原子的列表

生成的所有inp文件与freq.py脚本在同一目录下

刚刚写完,只进行了粗略的测试,如果有什么问题欢迎反馈


Cu-001-221-H-3-1.cif

2.4 KB, 下载次数 Times of downloads: 2

Cu-001-221-H-3-1.inp

6.34 KB, 下载次数 Times of downloads: 2

freq.py

5.02 KB, 下载次数 Times of downloads: 24

freq.txt

35 Bytes, 下载次数 Times of downloads: 7

评分 Rate

参与人数
Participants 5
威望 +1 eV +15 收起 理由
Reason
Lixiaolong + 1 赞!
qzm + 4 谢谢
obaica + 5 我很赞同
sobereva + 1
anson + 5 谢谢分享

查看全部评分 View all ratings

本版积分规则 Credits rule

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

GMT+8, 2025-8-15 01:00 , Processed in 0.167585 second(s), 24 queries , Gzip On.

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