nohup dpgen run param.json machine.json 1>log 2>err&
nohup dpgen init_bulk param.json machine.json 1>log 2>err&
初始数据集产生,只能一个POSCAR的计算 但是可以同时提多个任务,但是每个任务都需要 POTCAR POSCAR 一 一对应才行。
elements 和POSCAR POTCAR保持一致。 "type_map": ["Ti","C","V","Cr","Nb","Mo"],都写全才行
POSCAR不需要改成特定顺序 程序最终生成数据集的时候会根据type_map自动统一匹配
usage: dpgen [-h] {init_surf,init_bulk,auto_gen_param,init_reaction,run,run/report,collect,simplify,autotest,db,gui} ...
dpgen is a convenient script that uses DeepGenerator to prepare initial data, drive DeepMDkit and analyze results. This script works based on several sub-commands with their own options. To
see the options for the sub-commands, type "dpgen sub-command -h".
positional arguments:
{init_surf,init_bulk,auto_gen_param,init_reaction,run,run/report,collect,simplify,autotest,db,gui}
init_surf Generating initial data for surface systems.
init_bulk Generating initial data for bulk systems.
auto_gen_param auto gen param.json
init_reaction Generating initial data for reactive systems.
run Main process of Deep Potential Generator.
run/report Report the systems and the thermodynamic conditions of the labeled frames.
collect Collect data.
simplify Simplify data.
autotest Auto-test for Deep Potential.
db Collecting data from DP-GEN.
gui Serve DP-GUI.
optional arguments:
-h, --help show this help message and exit
初始数据格式化:
只用一行Python命令(已经有对应的todata.py脚本了)就能转化成deepmd需要的数据,输入python后出现>>>
a) >>> import dpdata
b) >>> dpdata.LabeledSystem('OUTCAR').to('deepmd/npy', 'data', set_size=300)
- 设法至下而上的推导出采样空间:
- 确定最终的大MD模拟过过程
- 尽量重现这样的采样空间:即只盯着一个目标相?
- 但是设计尺寸问题后,可以xyz上个方向切割出感兴趣的结构:例如正常用10*10*10A准立方(最好各向异性)结构,后续可以设置 40*5*5,甚至80*4*4的重点关注X方向?依次到Y Z 方向?似乎还是有漏掉的?
- 正常只关注一个相(目标相的正常采样流程)的采样完毕之后:提供一个大MD需要用到的场景(完全重现),关闭fp,只看lammps采样部分。找到大模型的candidate,人工研究分析一下,确定需要补充的结构空间,手动构建初始结构,放进去采样学习,再测试真实MD效果,如此反复?相当于加入了人为的积极干预,更有意义更合理。
- 开始之前要确定ML-FF的用途,确保数据集包含力场的应用场景,尤其是重点目标。根据应用场景可以将数据集分类切割成小模块
- 提前设计规划方案,有目的的查文献,有依据的确定具体参数for INCAR and parameter of deeptrain.
- According to Ref. 50, a practical rule of thumb is to set σlow slightly larger than the training error achieved by the model (dp test) and set σhigh 0.1 eV/Å–0.3 eV/Å higher than σlow. In this paper, σlow and σhigh are set to 0.12 eV/Å and 0.25 eV/Å, respectively. (Huang, J., Zhang, L., Wang, H., Zhao, J., Cheng, J., E, W., 2021. Deep potential generation scheme and simulation protocol for the Li 10 GeP 2 S 12 -type superionic conductors. J. Chem. Phys. 154, 094703. https://doi.org/10.1063/5.0041849) dpgen的totalstep最多40w [15,30,60] [80,80,80] cutoff 5-1 用float32,所以后期精度不够的时候适当提高σlow即可,这是个采样过程,最终还需要重新用=100*Nframes/batch_size( effective_epochs 落在 50–150 左右,太多会导致过拟合 100倍足够了) [25,50,100] [240,240,240] cutoff 6-1 float64.
4个元素type开始,两个net都用float32(平时就用32足够了)的精度才可以压缩,而且6元到后面可能就压缩不了。(能压缩得到167MB的模型,不能四个一起用采用 就超内存看) - INCAR参数选择 kspacing=0.24 cutoff=400(最大POTCAR即可) we applied Methfessel-Paxton37 smearing of 2nd-order with 0.15 eV 10-6
- 具体采样的注意事项
- 一定注意分类,分开采集数据集,每个子数据集也是有用的,类似这个工作中提到的概念ModDP(Modular development of deep potential for complex solid solutions)
- 先易后难的原则
- 先一元再二元,三元不要放在一起采样,做好分类和优先顺序。
- 分类的另一个目的是保证相差较大(对滴,尽量将同类的分开由简单到难的采样)的采样空间控制在5个以内,5个以上再开一个平行采样,这样才能保证每一代trainning 40Wsteps有效。
- 如果元素固定,先高对称的再学低对称的,非晶留到最后再学,不要偷懒放到一起学。
- 上下限的确定一定要有依据,前期的简单采样可以看看f偏差的分布来确定
- 先NVT4个温度保温变形,再NVT不变形的连续升温,再NPT4个温度保温连续变形。 先原胞后单胞,先低温(1Kto100Kto300Kto熔点)后高温, 再连续的升温,先变形再NPT。变形模板已经被精简成三个了(
- 先整体的拉压/work/qan/kluo/NaSPO/run/Sim/Run/lmp/ex-re.lammps,
- 不同方向的单轴拉压/work/qan/kluo/NaSPO/run/Sim/Run/lmp/c-s.lammps,
- 不同方向的正负剪切/work/qan/kluo/NaSPO/run/Sim/Run/lmp/shear.lammps)
- 在开始之前将结构分类,争取每个小类可以单独解决一些问题。开始采样Ucell的时候只采样几个代表性的而且差别很大的,不要把类似的结构放在一起采样容易重复,而且Ucell采样的时候cut-off可以用4-1就可以了,不需要用5-1。
- 原胞NVT:0.1K+变形x3(8,9,10)单轴-0.3到+0.25(确保可以做冲击),整体变形+0.1 -0.2(这样整体变形到0.512了)
- 原胞NVT:300K+变形x3
- 原胞NVT:Tm+变形x3
- 原胞NVT:2Tm+变形x3
- 原胞NVT:连续升温 1kto2Tm
- 原胞NPTp:[1bar,0.1B]+1ktoTm
- 原胞NPT:300K+连续变压0to[-0.01B,0.1B](体积模量)用tri
- 超胞NVT:0.1K+变形x3,300K+变形x3, Tm+变形x3
- 超胞NVT:连续升温 1kto2Tm
- 超胞NPTp:[1bar,0.1B]+1ktoTm
- 超胞NPT:300K+连续升压-0.01Bto0.1B(体积模量)
- 有必要的话可以采样 融化后凝固过程,即超胞NVT:连续降温温 2Tmto1k
- 取超胞NVT非晶加入采样对象上面的 8 9 10 11来一遍.
/work/qan/kluo/TiCdpgen/Run/INCAR_TiC
/work/qan/kluo/TiCdpgen/Run/lmp/deformNVT.lammps
GGA=PE
IVDW=12
PREC=A
ENCUT=520
ISYM=0
#ALGO=Fast
EDIFF=1.000000e-06
LREAL=A #针对低对称性 大结构
#NPAR=18
#KPAR=2
NCORE = 8
NELM=120
NELMIN=4
ISIF=2
ISMEAR=0
SIGMA=0.05
IBRION=-1
NSW=0
LWAVE=F
LCHARG=F
PSTRESS=0
KSPACING=0.400000
KGAMMA=.False. #针对低对称性 大结构
SYMPREC=1.0e-06 #针对低对称性 大结构
评论
发表评论