Eastsheng's Wiki

Lammps error汇总

2019-01-22 18:11:28

[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
2
3
4
5
6
7
variable k  index 1 2 3 
...
...
...
clear
next k
jump inputfile.in
  • 事实上,它也会算三遍,但是,我发现有一种情况,它是不会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
    8
    Mo 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,也即是没有用到下面的swtersoff
    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/cutC-C的势函数就以LJ势已经被给了;
  • 而接下来,使用tersoff的时候,就没有用到?
  • 因此,把C-CLJ注释就可以了。
  • 但是,我这里算的是多层石墨烯和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)

解决方法

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
2
This improper style can only be used if LAMMPS was built with the USER-MISC package. See the Build package
doc page for more info.

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
2
3
4
5
WARNING: Inconsistent image flags (../domain.cpp:785)
Per MPI rank memory allocation (min/avg/max) = 20.02 | 20.77 | 21.26 Mbytes
Step Temp Press Pxx Pyy Pzz PotEng KinEng TotEng E_pair E_bond E_angle E_dihed
0 6.6068346e+08 1.5300993e+09 12965.294 2609.4845 4.5902822e+09 -1782420.7 1.0587343e+10 1.0585561e+10 -1822828.3 37029.198 2967.9944 410.42917
ERROR on proc 7: Bond atoms 2213 2215 missing on proc 7 at step 2 (../ntopo_bond_all.cpp:63)

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为什么还有这个错误?