zhoulong的个人博客分享 http://blog.sciencenet.cn/u/zhoulong

博文

lammps计算过程中的报错和解决办法

已有 680 次阅读 2021-8-15 21:12 |个人分类:lammps|系统分类:科研笔记


LAMMPS运算提示的出错以及解决办法

2021.8.5

1.     ammps运行过程中会出现各种错误,好在lammps会提示你你的in文件哪里出现了错误,甚至会提示你缺少什么或者提示你把错误的设置应该设置成什么。但是在大多数情况下只会提示你错误信息,这时候解决办法有两种,首先就是把错误信息复制出来去网上查找解决办法,因为你遇到的问题别人也遇到过,看看别人是怎么解决的,虽然研究内容和方向不同,但是修改办法应该是一样的。第二种就是查找lammps手册,在lammps手册中专门有一节名为Errors的内容,里面有各种出现的错误以及解决办法。这里建议大家进入lammp官网查看手册,因为lammps官网的手册是最新版本的,里面内容更丰富,更全面。

2.     在运行lammps时有时候会出现原子丢失的问题,运行过程会提示以下:ERROR: Bond atoms xxxx xxxx missing on proc x at step xx。出现这个错误大致是两方面原因。

(1) Potential有问题。这个问题可以分为两种。第一种是你选择错了potential,比如这个potential不能用在你建立的这个model,建议多看看别人的文献,这是最行之有效的解决方法。第二种是你写错了potential参数,这个完全是由于粗心造成的,应该仔细检查使函数参数。

(2) Model有问题。举个例子,比如你一个很小的模型,2*2*2的模型不超过几十个原子,你设置的in文件时添加的力过大,最终导致模型瞬间压碎飞出,你设置的步长里根本看不到,也会直接报错。还有一种可能就是你建立的模型方法存在错误。比如你用MS或者lammps内部命令建模型的时候,丢了一块,这种建立计算模型的错误,也会导致这个问题。针对这个问题,建议大家导入OVITO这种可视化软件去看看,你的data文件是否是你想要建立的模型。

3.     最近在计算BaTiO3的一些性质,用lammps研究BaTiO3有点特殊,特殊的原因在于研究BaTiO3需要建立核壳模型,这就会使得核壳之间有键的作用,在运行过程中难免会出现一下错误:

Ø  Bond length < table inner cutoff: type 1 length nan

Ø  Bond length> table outer cutoff: type 3 length 2.34931 (../bond_table.cpp:622)

造成这两种错误的原因有两种,首先就是在弛豫或者模拟过程中施加的力太大,针对这种添加的力太大问题需要仔细看文献,找到文献中作者的设置值方法。另外一种就是时间步长设置过大,因为时间步长设的过大,在运行过程中会导致模型的晶格振动剧烈。解决办法就是不断调试时间步长,把时间步长从小到大慢慢调,只能这样调试。

4.     在计算BaTiO3相变时出现的问题。

计算BaTiO3相变我进行了两种尺寸的模拟,首先第一种是N*N*N的模型,也就是模型xyz三个方向的cell数相等,例如3*3*3,10*10*10等,在计算N*N*N模型的相变时,无论怎样设置lammps输入文件,都会产生相变,这个计算过程没有遇到任何报错。第二种就是计算N1*N2*N3的模型,这里N1,N2,N3是不相等的,例如:我计算了64*8*8的模型相变,无论是减小时间步长还是减少运行步数,亦或是减小升高的温度值,都会在计算快结束时突然停止运算,没有给出出错的任何信息。对于这种出错,目前我还没有找到解决的办法,有待后续的继续研究。

 

以上仅仅是个人遇到的问题及解决方法,经供参考。

     

LAMMPS 计算过程中出现的问题及解决办法.docx




http://blog.sciencenet.cn/blog-3437453-1299919.html

上一篇:[转载]基于LAMMPS计算材料的介电常数
下一篇:[转载]lammps学习必看1

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2021-10-21 23:29

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部