计算化学公社

标题: 关于DeePMD-Kit支持CP2K的数据格式的一个疑问(已解决) [打印本页]

作者
Author:
joeson    时间: 2022-7-23 15:01
标题: 关于DeePMD-Kit支持CP2K的数据格式的一个疑问(已解决)
本帖最后由 joeson 于 2022-7-24 21:32 编辑

DeePMD-Kit数据转化支持的格式有一个是CP2K的aimd_output,请问这个格式如何得到?
(, 下载次数 Times of downloads: 74)

已解决:原来就是指需要AIMD的.xyz与包含受力的.log文件。在github上有人回复是用这两个文件转化成一个dpmd的npy文件。https://github.com/deepmodeling/dpdata/issues/103
补充说明:CP2K跑MD时,PRINT_LEVEL要设置为MEDIUM。

作者
Author:
likejade    时间: 2023-6-4 23:01
您好!目前dpdata好像只能转换cp2k 7.1版本及其以下版本的输出文件,对于8.1之后的格式不能转换。
请问您那里有转换cp2k 8.1之后版本的程序么?
谢谢!
作者
Author:
Weldingspock    时间: 2023-6-19 18:00
likejade 发表于 2023-6-4 23:01
您好!目前dpdata好像只能转换cp2k 7.1版本及其以下版本的输出文件,对于8.1之后的格式不能转换。
请问您 ...

请问你解决了吗

作者
Author:
likejade    时间: 2023-6-19 21:21
Weldingspock 发表于 2023-6-19 18:00
请问你解决了吗

又一个debug版本的dpdata可以转换,不过我还没进行详细测试……
作者
Author:
Weldingspock    时间: 2023-7-16 20:43
likejade 发表于 2023-6-19 21:21
又一个debug版本的dpdata可以转换,不过我还没进行详细测试……

好像还是不能转换……
作者
Author:
SchrodingersCat    时间: 2023-8-28 21:01
请问下CP2K跑AIMD时能用NPT_F系综吗?还是只能NVT?
作者
Author:
SchrodingersCat    时间: 2023-9-1 22:31
likejade 发表于 2023-6-19 21:21
又一个debug版本的dpdata可以转换,不过我还没进行详细测试……

请问这个debug版本在哪里呀?可以发我吗 谢谢!
作者
Author:
r1ck    时间: 2024-3-4 16:48
防止输出文件过大可以设置PRINT_LEVEL SILENT
作者
Author:
r1ck    时间: 2024-3-4 16:48
防止输出文件过大可以设置PRINT_LEVEL ->SILENT
作者
Author:
hunterpyj    时间: 2024-3-24 18:48
楼主能分享一下转换脚本 trans.py 么? 一直没搞定这个问题。
作者
Author:
whutzty    时间: 2024-10-11 17:01
老师您好,我想问一下输出在multiwfn中设置为输出文件是medium就可以了输出带力的out文件了么
作者
Author:
Uus/pMeC6H4-/キ    时间: 2024-11-3 14:05
已解决:原来就是指需要AIMD的.xyz与包含受力的.log文件。在github上有人回复是用这两个文件转化成一个dpmd的npy文件。https://github.com/deepmodeling/dpdata/issues/103
补充说明:CP2K跑MD时,PRINT_LEVEL要设置为MEDIUM。

有两点不大明白:

1.github里面提到要设置&FORCE_EVAL/&PRINT/&FORCES这个字段为ON来输出受力信息到.log文件,而看手册说明这个字段默认输出水平是HIGH。显式设置这个字段为ON的话,应该无论&GLOABL/&PRINT_LEVEL设置了什么输出水平都能产生输出的.log文件吧,那为什么补充说明又说要设置&GLOABL/&PRINT_LEVEL为MEDIUM呢,是不是还有什么重要信息是平时常用的输出水平LOW不会输出但DeePMD-kit需要用的?

2.平时用CP2K跑分子动力学的时候用&MOTION/&PRINT/&FORCES也能按一定步数间隔输出类似坐标.xyz格式的、包含各帧各原子受力分量信息的<proj>-frc-1.xyz文件,那&FORCE_EVAL/&PRINT/&FORCES输出受力信息的.log文件和<proj>-frc-1.xyz相比,有什么对DeePMD-kit很关键的区别吗?
作者
Author:
Weldingspock    时间: 2024-11-6 09:38
Uus/pMeC6H4-/キ 发表于 2024-11-3 14:05
有两点不大明白:

1.github里面提到要设置&FORCE_EVAL/&PRINT/&FORCES这个字段为ON来输出受力信息到.l ...

没啥区别,只不过frc-1.xyz里面的格式可能更规整,更好文本处理
作者
Author:
Uus/pMeC6H4-/キ    时间: 2024-11-19 14:01
本帖最后由 Uus/pMeC6H4-/キ 于 2024-12-17 18:19 编辑
Weldingspock 发表于 2024-11-6 09:38
没啥区别,只不过frc-1.xyz里面的格式可能更规整,更好文本处理

今天试了一下,原来设&FORCE_EVAL/&PRINT/&FORCES输出的受力信息并非默认在我以为的另一个.log文件,而是就在CP2K的主输出文件.out里。在2024.3版上,这段信息一共6列,依次是原子序号(1开始)、原子种类(1开始,同元素原子同种类)、元素名以及X、Y、Z方向受力分量,但数据位数比-frc-1.xyz里的少。(编辑:可以调整这个字段中FILENAME设置以把受力输出到另一个文件,也可以调整这个字段中NDIGITS把输出位数从默认的8调高。)
作者
Author:
Uus/pMeC6H4-/キ    时间: 2024-12-17 18:22
Weldingspock 发表于 2024-11-6 09:38
没啥区别,只不过frc-1.xyz里面的格式可能更规整,更好文本处理

借楼问另一个小问题,用于DeePMD-kit训练的原子坐标数据对PBC是怎么考虑的?CP2K虽然输入有定义PBC以及盒子的A、B、C三个矢量,但输出的-pos-1.xyz并未把原子卷到盒子内而是可能漂移出去。有没有必要在准备训练/验证的数据集时先自行wrap处理坐标,让原子仅出现在box.raw定义的盒子内呢?

我看到dpdata是有处理PBC的相关代码,见https://github.com/deepmodeling/ ... er/dpdata/md/pbc.py,但是由于某些限制我暂时没法用dpdata准备数据集。
作者
Author:
ljh123    时间: 2025-3-23 23:56
Uus/pMeC6H4-/キ 发表于 2024-12-17 18:22
借楼问另一个小问题,用于DeePMD-kit训练的原子坐标数据对PBC是怎么考虑的?CP2K虽然输入有定义PBC以及盒 ...

您好,请问您现在知道在使用DeepMD-kit时,构建的数据集是否要对盒子wrap处理吗(使用CP2K跑AIMD)?我看了一些教程,似乎都没有提到要wrap处理,都是使用dpdata包的dpdata.LabeledSystem()直接处理
作者
Author:
Uus/pMeC6H4-/キ    时间: 2025-3-24 11:47
ljh123 发表于 2025-3-23 23:56
您好,请问您现在知道在使用DeepMD-kit时,构建的数据集是否要对盒子wrap处理吗(使用CP2K跑AIMD)?我看 ...

https://github.com/deepmodeling/deepmd-kit/discussions/21这条6年前的讨论中,维护者回答说DeePMD-kit的盒子以(0, 0, 0)为原点,程序会尝试一次把原子卷入盒子;但若原子飘太远了则卷入失败会产生警告,所以还是建议准备数据集的时候就把原子恰当卷入盒子。不知道CP2K跑AIMD这么有限的时长内会不会出现这个问题,为了保险期间还是wrap的好。

dpdata那边也有个https://github.com/deepmodeling/dpdata/discussions/581讨论,但指向的文档(无论是当年的还是现在的版本)也没见明说这点。https://github.com/deepmodeling/ ... er/dpdata/system.py里也定义有函数apply_pbc(),调用了前面那帖说的md/pbc.py,但似乎不会自动作用于System或者LabeledSystem……确实有点迷。
作者
Author:
ljh123    时间: 2025-3-24 16:35
Uus/pMeC6H4-/キ 发表于 2025-3-24 11:47
在https://github.com/deepmodeling/deepmd-kit/discussions/21这条6年前的讨论中,维护者回答说DeePMD-k ...

感谢您!
对于机器学习力场我还有一些疑问。由于是在lammps里进行生产,机器学习力场现在是否是无法用于开壳层体系呢(比如自由基、过渡金属)。此外,体系是否也需要保持电中性呢。
作者
Author:
Uus/pMeC6H4-/キ    时间: 2025-3-24 17:39
本帖最后由 Uus/pMeC6H4-/キ 于 2025-3-25 16:45 编辑
ljh123 发表于 2025-3-24 16:35
感谢您!
对于机器学习力场我还有一些疑问。由于是在lammps里进行生产,机器学习力场现在是否是无法用于 ...

单看软件的用户说明的话,DeePMD-kit可以在训练神经网络势时接受原子自旋信息(https://docs.deepmodeling.com/pr ... in-energy-spin.html),LAMMPS也有自旋相关的功能(https://docs.lammps.org/Howto_spins.html)。但要问能不能应用于开壳层体系,那可能取决于研究对象是否需要精确的电子结构/波函数信息才能描述吧,我不清楚了。(编辑:有可能这个自旋不是指电子自旋而是核自旋或者原子的净自旋之类的……反正我是没用过这功能。)

电中性的问题可以到刚被翻出来的老帖http://bbs.keinsci.com/thread-17977-1-1.html看看
作者
Author:
ljh123    时间: 2025-3-25 16:11
Uus/pMeC6H4-/キ 发表于 2025-3-24 17:39
单看软件的用户说明的话,DeePMD-kit可以在训练神经网络势时接受原子自旋信息(https://docs.deepmodelin ...

还想请教下您,Deepmd-kit需要的训练集是否应该在NVT系综下模拟得到呢。因为似乎dpdata在对CP2K数据转换时,只考虑xyz轨迹文件。似乎转换时只在out文件里考虑一帧的盒子信息。
作者
Author:
Uus/pMeC6H4-/キ    时间: 2025-3-25 17:15
ljh123 发表于 2025-3-25 16:11
还想请教下您,Deepmd-kit需要的训练集是否应该在NVT系综下模拟得到呢。因为似乎dpdata在对CP2K数据转换 ...

我不用dpdata不清楚具体如何(建议去github问别人),但既然DeePMD-kit的数据集包括每帧的盒子尺寸信息(看https://docs.deepmodeling.com/pr ... le/data/system.html的Boxes),应该可以自行写程序提取NPT系综MD里变化的盒子尺寸并转换为输入格式。NVT系综的效果不过是让盒子尺寸保持初始不变。
作者
Author:
ljh123    时间: 2025-3-30 17:55
Uus/pMeC6H4-/キ 发表于 2025-3-25 17:15
我不用dpdata不清楚具体如何(建议去github问别人),但既然DeePMD-kit的数据集包括每帧的盒子尺寸信息( ...

大佬,经过几天的调试,CP2K+deepmd-kit+lammps的流程我总算跑通了。同时dpgen也没问题了。但是在训练模型前我想请教下您。我在CP2K进行AIMD模拟获取初始训练集时是否要加反离子保持体系电中性呢?因为lammps跑经典MD时是需要保持电中性的(而CP2K跑AIMD应该是可以不保持电中性的)。但是我不清楚用AIMD数据训练出来的机器学习力场在lammps跑MD时,是否仍然需要保持电中性呢(以及跑AIMD获取数据集时是否也要保持电中性)
作者
Author:
Uus/pMeC6H4-/キ    时间: 2025-3-31 10:42
ljh123 发表于 2025-3-30 17:55
大佬,经过几天的调试,CP2K+deepmd-kit+lammps的流程我总算跑通了。同时dpgen也没问题了。但是在训练模 ...

我研究的周期性体系都不带净电荷。DeePMD-kit只用能量和受力来训练神经网络势、后续LAMMPS用atom_style atomic和pair_style deepmd跑机器学习势分子动力学的时候,并不明显涉及原子电荷(本来原子电荷的定义也不唯一)或体系净电荷的信息。但这都是后话了,毕竟机器学习势能应用的体系多少局限于和训练集相似的体系。

AIMD中周期镜像之间的静电排斥对能量计算乃至动力学行为的影响可能不应忽略(特别是还有外电场之类的时候),这也取决于具体的体系和研究目的,我觉得还是加上保险,也省得受到质疑。
作者
Author:
ljh123    时间: 2025-3-31 15:39
Uus/pMeC6H4-/キ 发表于 2025-3-31 10:42
我研究的周期性体系都不带净电荷。DeePMD-kit只用能量和受力来训练神经网络势、后续LAMMPS用atom_style a ...

感谢,我决定训练时就保持电中性好了
作者
Author:
huyongxin    时间: 2025-6-12 14:16
Uus/pMeC6H4-/キ 发表于 2024-11-19 14:01
今天试了一下,原来设&FORCE_EVAL/&PRINT/&FORCES输出的受力信息并非默认在我以为的另一个.log文件,而是 ...

您好,请问一下可以分享一个转换数据的脚本么,我用24.3版本的cp2k跑的结果,生成deeomd格式的时候总是会报错,用7.1版本的cp2k就可以成功生成出来
作者
Author:
xiaowei2022    时间: 2025-6-12 14:49
huyongxin 发表于 2025-6-12 14:16
您好,请问一下可以分享一个转换数据的脚本么,我用24.3版本的cp2k跑的结果,生成deeomd格式的时候总是会 ...

邮箱发我,我可以给你一个我们课题组在用的脚本
作者
Author:
liuchun0413    时间: 2025-6-22 04:29
xiaowei2022 发表于 2025-6-12 14:49
邮箱发我,我可以给你一个我们课题组在用的脚本

你好,邮箱是 liuzhaochun@gmail.com  十分感谢,我也需要处理CP2K aimd 的数据集的脚本。
作者
Author:
xiaowei2022    时间: 2025-6-25 14:51
liuchun0413 发表于 2025-6-22 04:29
你好,邮箱是   十分感谢,我也需要处理CP2K aimd 的数据集的脚本。

已发
作者
Author:
ljh123    时间: 2025-6-25 15:01
xiaowei2022 发表于 2025-6-12 14:49
邮箱发我,我可以给你一个我们课题组在用的脚本

您好,请问可以发我一份吗,我想用来学习下。邮箱是1292211370@qq.com。十分感谢!
作者
Author:
xiaowei2022    时间: 2025-7-2 15:16
ljh123 发表于 2025-6-25 15:01
您好,请问可以发我一份吗,我想用来学习下。邮箱是。十分感谢!

已发
作者
Author:
Vendh66    时间: 2025-7-4 00:01
xiaowei2022 发表于 2025-7-2 15:16
已发

您好!请问可以给我也发一份学习嘛,邮箱为vendh713@163.com,万分感谢!!




欢迎光临 计算化学公社 (http://ccc.keinsci.com/) Powered by Discuz! X3.3