项目场景:
物理背景:`
项目场景:LAMMPS模拟CuAu合金熔化过程
问题描述
错误信息:`
in文件总是在set atoms velues…出现后报错然后跳出。翻看日志文件时,发现模型建立部分都没跑完,于是猜测可能是模型设置的问题,师弟猜测还有其他原因。
原因分析:
问题排查:
例如:在逐步排查之后,可以确定以下几点:
(1)**不是时间步长timestep的数值大小的问题。**无论是0.001还是0.01,in文件都能完成运行。
(2)**不是timestep这条命令的位置的原因。**设置时间步长的命令无论放在初始化模块,也就是放在模型构建命令之前,还是放在模型构建命令之后运行(因为LAMMPS是按书写顺序从上到下依次运行的),in文件都可以完成运行。同样经过测试,跟近邻表设置相关的命令的位置也没有关系。
(3)**删掉构建模型之后的所有命令,结果发现报错。**确认就是报错存在于模型构建范围之内。
(4)师弟用自己电脑的虚拟机运行,没发现报错;用超算运行,报错,错误信息如问题描述。
(5)在模型构建范围内,我凭经验注释掉原子替换命令set… type/radio…(因为之前遇见过这条命令不能使用的场景,而其他常见建模命令出问题的几率更小),结果发现可以正常运行。
(6)综上,确定是set… type/radio…命令导致的报错信息。
解决方案:
解决办法:
将原子替换命令set… type/radio… 更换成set… type/fraction… 即可解决问题。
经师弟查询,这两条命令功能相似,区别在于set… type/radio… 适用于更高的LAMMPS软件版本。
这里总结一下,主要是对这种类型的报错信息不太熟悉,报错信息里包含的解决问题的帮助并不明显,不像一些比较明确的报错指令。这里记录学习一下。