大家好,我是小马老师。
对于复杂的lammps模型,可以使用MS建模,建模完成后使用msi2lmp这个免费的工具转换为lammps支持的data文件。
相关的视频教程可以参考:
lammps教程:H2氢气建模以及转化为data文件方法
在整个建模和转换过程中,可能会出现各种各样的错误,导致转换失败。
本文介绍一种错误的解决办法。
以ZnO建模为例,在MS中导入ZnO模型,按照传统流程,扩胞后使用forcite模块设置cvff力场。
在forcite模块点击run后,出现计算错误:
错误的主要原因是无法为Zn原子分配力场。
按照正常的流程,这一步出错,后面的转换过程就无法正常进行。
其实不然,虽然MS没有分配Zn原子力场,但是我们依然可以把forcite计算后的ZnO.xsd文件导出为ZnO.car文件。
使用msi2lmp ZnO -class I -frc cvff>data.ZnO会提示原子“xx”mass错误:
在命令行中添加“-i”忽略力场错误,使转换过程继续进行,命令为:
msi2lmp ZnO -class I -frc cvff -i >data.ZnO
转换完成后,会产生ZnO.data文件,用记事本打开后发现该文件大部分数据是完整的,只有部分数据不准。
例如,Zn原子没有被识别出来,mass为0,原子类型为“xx”。
下面手动修改这部分数据。
(1)把“xx”全部替换为“Zn”
(2)修改Zn的mass为65.38
(3)删除势函数类型和参数。
势函数可以在in文件中重新设置,如果新的势函数文件不需要键角等信息,也可以在data文件中删除键角等信息。
处理之后的data文件为:
在Ovito中打开ZnO文件,可以正常显示,在lammps in文件中也可以正常读取这个模型。
使用msi2lmp这个工具转换data文件的最主要目的是获得原子的拓扑结构,因此,即使在MS中力场参数设置不全,也可以转换data文件,自己稍作处理即可。
公众号案例代码以及学习交流,请加QQ群:754749935
关注微信公众号:lammps加油站。