|
3.2.2 运行DPGEN init_bulk功能2024.04.04 (操作演示还是用Bohrium的notebook方便)准备好STRU、INPUT、init.json、machine.json就可以在服务器上提交任务。
提交任务之后会在当前文件夹下生成几个文件夹
其中Be108_fcc.STRU.01x01x01包含了计算获得的所有信息,计算任务结束则在其下生成三个文件夹
00.place_ele是结构优化文件夹,01.scale_pert是微扰结构创建文件夹,02.md是微扰结构计算和计算结果搜集并做格式转换的文件夹 其中转换好的训练集在02.md/sys-0108/deepmd/下通过运行 ls 02.md/sys-0108/deepmd/
box.raw 是所有计算体系的盒子的大小,盒子大小用9个浮点数记录,每个构型占一行。 coord.raw 是所有数据集的原子位置信息,每个原子三个坐标,一行包含一个结构。 energy.raw是体系能量信息,一个结构一个能量,一行即一个构型的能量,该文件只有一列。 force.raw是所有数据集的原子受力信息,每个原子三个受力,一行包含同一个构型下多个原子的受力,每个构型一行。 type_map.raw 是元素匹配信息,跟init.json中的设定一致,我的是Be Cu,一个元素一行 type.raw 原子构型,用0,1,2,……来表示,一个原子一行 virial.raw 是原子维力信息,即压力信息。一行是一个构型的压力信息,有9个分量。 如果正常结束则可获得deepmd文件夹,通过dpdata可以对文件夹内的信息进行画图分析。
训练集的好坏可以从力的分布来看,同上给出最大力的计算脚本,这里获得是每个构型中的最大受力,并根据AIMD的步数来画图。 对于单次init_bulk的计算结果,可直接读取其形成的deepmd格式的数据,然后画图。
可以更改脚本,使得获取所有原子的受力,并输出类似于moddev中的状态分布的图,即在0.0--0.2受力中统计有多少数据,0.2-0.4中有多少数据然后作图,暂且不给出脚本,研究者可自行探索。
即在使用脚本之前需要先执行,然后再deepmd_file下会生成很多个init_bulk获得的文件夹。
脚本解释请自行咨询chatgpt,大致为读取对应文件夹,并在对应文件夹下利用dpdata读取数据,然后获取数据中的最大力并画图。然后删除数据,再整下一个文件夹(如果不删除数据,则下次循环所有的数据都会输出) 这里,如果我用tree来查看我的deepmd_file则包含下列部分输出,文件的整理在后续的操作中,这些文件是init执行完成之后我把所有训练集手动搜集到了一起。
结果展示(ABACUS3.4.0,旧数据,有舍弃的数据) 主要结果: force的大小在0.0-0.8之间,表明该数据集力的范围比较合理,可考虑增大盒子变化尺度,增大受力,增加采样多样性 Be16 铍单质的晶体结构hcp晶胞 力主要集中在0.5-2.0之间,数据可用 铍铜合金结构示意图Be16Cu8 2:1含量 DPGEN关键词设置和结论都同上边的2.1 即数据集可用,但采样空间可能过多,后续还要用DPGEN采样,初始训练集尽可能丰富多样,类似结构可少一些。 力的范围先暂定为0-10 目前要废弃的数据 力的范围在0-150左右,训练集范围太大,训练会不稳定难以收敛(张为老师建议)不可用。 Cu32单晶构型获得错误结果,错误原因好像是dpdata转换缩放时比率没整对,具体原因没细查。 显然这个构型并未达到平衡态,如果用他做训练集,应该是起始的DPGEN探索需要花费大量的经历来排错,例如LAMMPS运行跑崩问题。 目前要废弃的数据,错误结果没用 暂时我准备的数据貌似10md步长没有达到平衡态结构,但目前来看我的DP训练在常温下第一次迭代用0.15到0.3的收敛标准的话,准确率在90%以上,还是可行的(第一次做DP经验不足,下次再做再测试md步数多少合适,希望我的提示可以让后续做DP的人有个初步经验,并做一下相关步数的测试)。 作者:朱雪刚 邮箱:xuegangzhu@qq.com; 工作单位:石家庄学院 理学院/北京科学智能研究院(AISI)访问学者2023.07-2024.09,访问导师北京大学陈默涵; 徐张满仓 邮箱: xuzhangmancang@dp.tech 截止2024.07.21录制视频教程已上传至Bohrium的课程《DeePMD应用案例讲解:铜原子掺杂铍晶体的机器学习势函数拟合过程演示》网址: https://bohrium.dp.tech/courses/1075495070?tab=courses 后续会在Bohrium平台更新 注意:后续的更新,大部分会在Bohrium课程平台进行,请看教程入门的同学加入课程进行学习;且录制的视频课程会把一些个人观点给加入,从个人观点来看比文字教程的内容更多 写教程内容讨论QQ群:143276924 DPGEN+ABACUS教程准备; ABACUS软件的QQ群:759914681,群内有专职开发人员,目前ABACUS提问问题以github的issue为主,群内可作为辅助提问。 欢迎大家推广本教程,让更多的dp入门学习者有个参考,目前2024.09.16我联系的微信公众号推广是 lammps加油站的小马老师(我也报名了小马老师的一对一辅导)。当然也看到lammps爱好者在转发推广。感谢大家公众号的推广。 |