[toc]
1. 跑MD结构散了
跑MD结构结构散了,常见原因总结:
(1). 势函数的问题,调研一下该势函数是否有人模拟过成果过。
(2). 原子结构不稳定导致的,例如:
- 模拟 缺陷 的时候,缺陷过多导致结构不稳定;
- 模拟 高温 或者 高压 环境下时,导致结构不稳定;
- 可以先低温弛豫(NPT或NVT),稳定后再升温。
(3). 势参数设置出错,例如:
- data文件中原子类型与input文件中配置势参数时的原子类型顺序不一致;
(4). 是否有足够的真空层
2. 温度分层多出一层
- 在跑NEMD时,我们要记录温度,通过给系统分层,记录每一层的温度;
- 诡异的来了,分的有些层数,输出的结果会多出一层;
- 比如,分了120层,输出的结果有121层;
- 但是,有些就很正常,比如分了200层;
- 猜测的原因
- 是边边上有多余的部分没有被分到?自动分了?
3. data文件格式问题
1 | Incorrect atom format in data file (../atom.cpp:853) |
- data文件的格式是 full ,却在inputfile中使用了 atomic 格式。
4. Lammps输入文件中变量”k”
首先说一下,Lammps inputfile 的变量有很多,这里说的这个 k 是控制算几遍的那个变量。
问题?
- 按理说,如果按照下面来写的话,它应该是正常运行,并且会计算三遍。
1 | variable k index 1 2 3 |
- 事实上,它也会算三遍,但是,我发现有一种情况,它是不会jump到下一个case的。
- 这种情况:多个inputfile的时候,例如:驰豫(minimize,npt,nvt…)和记录结果分别用两个inputfile来表示。
- 也即是,先从驰豫jump到记录结果,再让记录结果的inputfile自己jump自己。
- 结果就是,记录结果的inputfile不会 next k and jump
已解决
把第一个inputfile里的variable k equal 1
改为 variable k index 1 2 3
即可
5. missing an entry
2020-07-25
错误信息:“ERROR: Potential file is missing an entry (../pair_sw.cpp:500)”
解决方法:
- 是由于势函数文件里少了一部分没给出来。
- 比如,以MoS2为例,要给的有,
1
2
3
4
5
6
7
8Mo S S
S Mo Mo
Mo Mo Mo
Mo Mo S
Mo S Mo
S Mo S
S S Mo
S S S - 但是,如果少给其中一个就会报此错误。
6. Pair hybrid sub-style is not used
2021-03-19
- 此错误字面意思时采用了
hybrid
之后,没有用到sub-style
,也即是没有用到下面的sw
或tersoff
。1
2
3
4
5
6
7
8
9
10
11
12#Force field
pair_style hybrid lj/cut 10.0 sw tersoff
pair_coeff * * tersoff BNC.tersoff C NULL NULL
pair_coeff * * sw mos2.sw NULL S Mo
#LJ-potential
#J. Am. Chem. Soc. 1992, 114, 10024-10035
#Dan Han et al 2019 Nanotechnology 30 075403
#RSC Adv.,2015, 5, 29193–29200
#*********LJ-potential parameters*********#
pair_coeff 1 1 lj/cut 0.004560 3.431#C-C #注释了此行即可解决
pair_coeff 1 2 lj/cut 0.007355 3.219#C-S
pair_coeff 1 3 lj/cut 0.003325 2.818#C-Mo - 这里可能主要是因为
pair_style
后面先执行了lj/cut
,C-C
的势函数就以LJ势已经被给了; - 而接下来,使用
tersoff
的时候,就没有用到? - 因此,把
C-C
的LJ
注释就可以了。 - 但是,我这里算的是多层石墨烯和MoS2,因此,必须还要给石墨烯一个层间的
LJ
- 所以,还需要再具体修改每层
C
原子类型。
7. LAMMPSmsi2lmp.exe
转换.car .mdf
为LAMMPS data文件时:
执行
1 | msi2lmp.exe xxx -i -f cvff.frc |
错误信息
1 | Cannot open ../frc_files/cvff.frc |
解决方法
- windows下,添加frc_files的路径为环境变量就好了
- linux下,添加环境变量后还是一样的错误信息。
8. Expected floating point parameter instead of 'C1' in input script or data file (../pair_lj_cut_coul_long.cpp:628)
在执行lammps时出现错误信息
1 | Expected floating point parameter instead of 'C1' in input script or data file (../pair_lj_cut_coul_long.cpp:628) |
按照data file格式修改即可,这里是因为data里Pair Coeffs的格式不对
9. 出现错误ERROR: Pair style requires a KSpace style (../pair_lj_cut_coul_long.cpp:687)
1 | ERROR: Pair style requires a KSpace style (../pair_lj_cut_coul_long.cpp:687) |
解决方法: in文件中缺少KSpace style,添加即可
1 | kspace_style pppm 1e-4 |
10. 出现错误Expected floating point parameter instead of
1 | Expected floating point parameter instead of 'lj/cut/coul/long' in input script or data file (../pair_lj_cut_coul_long.cpp:628) |
解决方法
- pair_style 使用 hybrid
- 参考链接 http://blog.sciencenet.cn/blog-3388193-1235086.html
11. Out of range atoms - cannot compute MSM
修改
- neigh_modify delay 0 every 1 check yes
- 原子重叠、步长太大等
12. ERROR on proc 10: Neighbor list overflow, boost neigh_modify one (../npair_half_multi_newton.cpp:163)
- 官网解答:
There are too many neighbors of a single atom. Use the neigh_modify command to increase the max number of neighbors allowed for one atom. You may also want to boost the page size.
13. ERROR: Incorrect args for improper coefficients (../improper_harmonic.cpp:237)
- 实在找不出原因,我看以前有人把这一部分删除了,
- 跟dihedral一样,improper应该也是描述二面角力的,可以省略一个不?。待解决???
- 解决方法: 需要安装该库 USER-MISC
1 | This improper style can only be used if LAMMPS was built with the USER-MISC package. See the Build package |
14. Out of range atoms - cannot compute PPPM
- 在平衡前不使用
kspace_style pppm 0.0001
- 参考:http://bbs.keinsci.com/thread-13244-1-1.html
- 这样的话,会出现新的error:
ERROR: Pair style requires a KSpace style
- 然后,就想着先把能量最小化去掉,直接做NPT、nvt,平衡结构。
- 接着有出现新的error:
ERROR: Non-numeric pressure - simulation unstable
- 调不好,想着先不做npt,先做nvt。
- 又出现开始时的错误了0.0
- 把盒子扩大试试。
- 排查后,发现是使用moltemplate模型构建不合理,有原子重叠之类的
15. Bond atoms 1951 1952 missing on proc 13 at step 1
1 | WARNING: Inconsistent image flags (../domain.cpp:785) |
- 一般bond不会自动断裂的,只有lammps在更新粒子坐标时发现在其截断长度加上bin值小于两个粒子之间的距离时会显示missing。
- 从1.0到5.0试一下看是不是特定原子在特定的时间步missing。
- 结构有问题,有原子重叠之类的,采用能量最小化优化。
- 还是结构问题
- ref:
- [1] http://www.mdbbs.org/thread-19983-1-1.html
- [2] http://muchong.com/html/201706/5624479.html
- [3] http://wap.sciencenet.cn/blog-3437453-1299919.html?mobile=1
16. Non-numeric box dimensions - simulation unstable
17. Non-numeric pressure - simulation unstable
- 应该先控温,再控压
- 最后发现是电荷给的有问题。
18 ERROR: All pair coeffs are not set (../pair.cpp:236)
- 使用了
pair_modify mix geometric
为什么还有这个错误?