计算化学公社
标题:
[脚本] 用Multiwfn批量将结构优化结果生成cp2k输入文件
[打印本页]
作者Author:
stishovite
时间:
2024-5-14 09:45
标题:
[脚本] 用Multiwfn批量将结构优化结果生成cp2k输入文件
本帖最后由 stishovite 于 2024-5-14 17:16 编辑
用cp2k优化完结构后,输出了很多*.pdb文件。进行后面的计算,需要用Multiwfn打开*.pdb重新生成cp2k输入文件,如果手动操作,十分麻烦。
受到sob老师
详谈Multiwfn的命令行方式运行和批量运行的方法 - 思想家公社的门口:量子化学·分子模拟·二次元 (sobereva.com)
,以及坛友相关帖子的启发,编了一个脚本用于解决上面的问题。
脚本内容如下:
@echo off
for %%i in (*.pdb) do (
D:\Multiwfn\Multiwfn.exe %%i < pdb2inp.txt
)
if not exist ".\task" mkdir ".\task"
for %%f in (*.inp) do (
move %%f ".\task\" > nul
)
set "inplist=.\task\inplist.sh"
if exist "%inplist%" del "%inplist%"
for %%f in (.\task\*.inp) do (
echo mpirun -np 4 cp2k.popt %%~nxf ^|tee %%~nf.out >> "%inplist%"
)
echo All done!
复制代码
指令文件pdb2inp.txt的内容如下:
100 // Other functions (Part 1)
2 // Export input file
25 // CP2k
-1 // Choose task
1 // Energy
0 // Gernerate
0 // Return
q //quit
复制代码
该脚本仅适用于Windows,说明:
1. 要和*.pdb文件放在同一个目录下,运行时自动调用
Multiwfn.exe,因此需要将
D:\Multiwfn\Multiwfn.exe修改为实际
地址。
2. Multiwfn的操作指令在
pdb2inp.txt内,可以根据实际需求修改。
3. 自动将*.pdb转换完的*.inp文件存入task文件夹,并生
inplist.sh用于批量提交任务.
4. 使用时,可根据实际需求修改脚本中的内容,例如要转换的文件格式(
*.pdb
)、Multiwfn的操作指令(
pdb2inp.txt
)、存放inp文件的目录名称(
task
)和批量提交任务文件的内容(
mpirun -np 4
)。
p.s. 本人刚开始学习第一性原理计算,有很多不懂,头很大,欢迎大家留言讨论。
(, 下载次数 Times of downloads: 4)
上传 Uploaded
点击下载Click to download
(, 下载次数 Times of downloads: 5)
上传 Uploaded
点击下载Click to download
作者Author:
sobereva
时间:
2024-5-14 18:00
传入Multiwfn的命令实际上还可以简化
以下部分可以改为直接在主界面输入cp2k
100 // Other functions (Part 1)
2 // Export input file
25 // CP2k
以下部分可以省略,默认就是算单点任务
-1 // Choose task
1 // Energy
作者Author:
stishovite
时间:
2024-5-14 18:09
sobereva 发表于 2024-5-14 18:00
传入Multiwfn的命令实际上还可以简化
以下部分可以改为直接在主界面输入cp2k
感谢sob老师的回复,近距离感受到了您对高效简洁的极致追求。p.s. 后面部分没有省略的原因是,如果要选择其他任务,可以便于对照修改。
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3