大家好,我是小马老师。
本文介绍lammps模拟中cvff势设置方法。
cvff势由pair、bond、angle、dihedral、improper等势组成,在ms中直接设置cvff势即可,但是在lammps中,需要分别设置以上各部分势。
在lammps中,cvff势没有势文件,只要设置对应的势类型和参数即可。一般情况下,cvff势不需要自己找参数。
最简单的方式是在ms中建立模型,设置cvff势后,导出为car文件。
使用免费的msi2lmp转换工具,把car文件转换为lammps可识别的data文件。
转换完成后,data文件内自带cvff势参数。
下面以Cu和聚乙烯复合物为例,介绍cvff势的具体使用方法。
(1) 建模并转换为data文件
公众号和网络上有很多ms建模视频,再次不再赘述,本例中建模完成后导出的文件为layer.car。
使用msi2lmp转换为data文件:
msi2lmp layer -class I -frc cvff -i >data.layer
转换之后得到layer.data,用记事本打开layer.data,如下图所示:
红色框内即为势函数参数。
第一个红色框为Pair势,#后面注明pair势的类型为lj/cut/coul/long。
1 9.4389999720 2.3379999999 # Cu
2 0.0380000011 2.4499714540 # h
3 0.0389999952 3.8754094636 # c3
4 0.0389999952 3.8754094636 # c2
这四行表示,4种原子对应的pair_coeff。
比如第一行和in文件中命令是一样的:
pair_coeff 1 1 9.4389999720 2.3379999999 # Cu
data文件中的pair_coeff只需写出同种原子之间的势参数,不同原子之间的势参数会自动计算,具体可参考pair_modify命令。
后面的bond、angle基本类似。
(2) in文件的写法
既然data文件已经自动设置了cvff势,在in文件中只需写明势的类型即可,势的类型就是data中各种势“#”后面的名称。
cvff势的设置语句要放到read_data命令的前面。
cvff默认的pair势有长程库仑力,因此需要设置kspace_style。
in文件cvff势具体设置为:
pair_style lj/cut/coul/long 10 12
bond_style harmonic
angle_style harmonic
dihedral_style harmonic
kspace_style pppm 1e-4
read_data layer.data
读取文件之后,如果不需要替换参数,直接就可以进行弛豫计算。
如需改变部分势的类型,如Cu的势改为eam,Cu-C改为lj/cut,直接在后面替换为新的势即可。
如果在使用lammps过程中遇到什么问题,可到公众号或者QQ群留言。
公众号案例代码以及学习交流,请加QQ群:754749935
扫描关注微信公众号:lammps加油站。