本文介绍聚合物的压缩方法。
lammps模拟聚合物体系时,最常见的一个错误是“bond atoms missing”,其中一个原因是建模方法不对。
这个原理在之前的专栏文章中已经详细介绍。
如果使用ms建模,聚合物的链会伸出到盒子外面,在导出data文件后,盒子外面的原子被周期性算法折叠进盒子对面,这就造成了边界附近的bond原子可能被分布到了盒子的两侧。
如果这种结构需要增加真空层、改变边界条件或者和其他结构组合到一起,都会造成边界处的键被拉长或者切断,从而造成“bond atoms missing”错误。
解决这个问题的原则只有一个:导出data时确保所有的bond原子没有跨越边界。
使用packmol或者moltemplate建模,基本不存在这个问题,如果使用ms建模,可以在导出data前去掉盒子
这样也存在一个问题,因为扩大了box范围,导致聚合物内部空隙过多,并且各个方向的尺寸无法精确控制。
并且,这个data文件不能使用npt系综进行压缩,npt系综必须使用周期性边界,在压缩时,bond原子同样会移动到对面的边界。
所以,最好的解决办法是使用一个反射墙墙进行压缩,设置一个反射墙墙既可以实现压缩效果,也可以组织原子跨越box边界移动到对面。
压缩完成后,可以任意改变box尺寸或者和其他模型合并。
如,增加真空层后进行聚合物的摩擦:
增加壁面原子进行流体模拟:
或者是界面吸附: