天天看点

lammps聚合物模拟,“bond missiong”键丢失的一个原因及解决技巧

大家好,我是小马老师。

在lammps模拟聚合物时,经常出现的一个错误是“bond missing”,也就是“键丢失”错误。

出现这种错误的直接原因是某个键两端的原子距离过大,使键被过度的拉长,或者其中一个原子直接飞出box,lammps已经找不到这个键的拓扑关系,此时就会出现“bond missing”错误提示,模拟中断。

导致键丢失的原因由很多,本文介绍其中一个原因:建模方法不合理导致键丢失。

聚合物结构比较复杂,在lammps中很难直接建模,多采用MS、packmol等软件建模。

MS的AC模块可以方便的进行聚合物的建模,但AC模块建模有一个问题,建模完成后,部分原子会处于盒子的外面,如下图所示:

lammps聚合物模拟,“bond missiong”键丢失的一个原因及解决技巧

转换为data文件后,盒子外面的原子根据周期性转换原理被放入到盒子中:

lammps聚合物模拟,“bond missiong”键丢失的一个原因及解决技巧

盒子上侧的原子被放入到盒子的下侧。

如果使用ppp边界模拟,不会出现问题。

如果改变周期性条件,如改为ppf,或者改变盒子的尺寸,就会出现键丢失。

例如,当盒子尺寸扩大5埃米之后,在ovito中也会发现原子键连接情况,很明显有些键已经被拉长:

lammps聚合物模拟,“bond missiong”键丢失的一个原因及解决技巧

因为盒子上下层原子已没有镜像关系,上层的原子与下层原子之间的键连接就会被取消,从而造成键丢失。

解决的办法是在ms中取消默认的盒子或者扩大盒子尺寸,使所有的原子都处于盒子内部。

转换为data文件后,所有的原子都在盒子内部,上下左右前后层之间没有键连接,此时,改变周期性或者改变盒子大小就不会出现键丢失错误。

lammps聚合物模拟,“bond missiong”键丢失的一个原因及解决技巧

这种方法也有个缺点,因为盒子扩大,聚合物的密度变小,需要在npt下进行驰豫已达到合理的密度。

在lammps中模拟聚合物体系特别容易出错,本文仅仅介绍了键丢失的一个原因,后续文章将会继续介绍键丢失错误原因及解决办法,敬请关注。

公众号会陆续推出势函数设置方面的文章,敬请关注。

如果在使用lammps过程中遇到什么问题,可到公众号或者QQ群留言。

公众号案例代码以及学习交流,请加QQ群:754749935

扫描关注微信公众号:lammps加油站。