lammps教程:Neighbor list overflow改错方法

学术   科技   2024-08-13 10:02   山东  
大家好,我是小马老师。
最近在lammps一对一咨询过程中,发现有几个学员在模拟中出现了“Neighbor list overflow”的错误提示。
对于这个错误,lammps官网给出了解决办法:

意思是单个原子的邻居原子过多,推荐使用neigh_modify命令解决。
neigh_modify命令介绍中,可以看出,在lammps模拟中,一个原子默认的最大邻居原子数为2000.

邻居原子是指以原子为中心,以cutoff+skin为半径的球内的其他原子都是该中心原子的邻居原子。
2000已经是一个很大的数字,常规的模拟中,一个原子的邻居原子数基本很难超出2000.
通过neigh_modify命令增大one参数值很难有效地解决问题。
确实有学员改过这个参数,但是还是无法解决。
这种错误常见的原因有2个:
(1)势参数不准造成原子间距过小,导致中心原子周围出现了过多的邻居原子,已经超出了默认的2000,所以提示错误。
(2)在压缩过程中偶尔也会出现这个提示,主要原因是外部施加的压力过大,导致原子距离过近,邻居原子个数也超出了2000的限制。
所以,出现“Neighbor list overflow”的提示时,首先判断势参数是否准确,特别是弛豫阶段就出现这个错误提示,基本可以认为是势参数不准造成的,需要更换势参数。
如果弛豫阶段正常,并且模拟过程中存在压力过大等因素,可以排除势参数原因,可以试试减小压缩程度,或者使用neigh_modify one命令增大邻居原子数。
同一个错误在不同的模拟案例中,出错原因不同,解决方法也不同,需要从原理出发分析错误的原因,才能快速有效地解决问题。
如果你在lammps学习过程中有模拟方面的问题,可以联系我!

---------- End -----------

报名一对一培训课程可领完整版《lammps中文教程》,配套学习更轻松!

自编lammps教程第3版发布,600页,上册免费领

扫码领取粉丝专属优惠券↓↓↓

免费试听:Cu融化模拟代码编写及启动运算方法
课程介绍:lammps一对一入门与进阶课程
lammps科研合作、培训、咨询请加:
微信:lammps365
QQ群:236862503

lammps加油站
免费分享lammps教程和lammps案例代码,专属一对一lammps培训
 最新文章