大家好,我是小马老师。
在平时咨询过程中,发现有些同学对力场的设置有些困惑,特别是混合力场的设置(hybrid)搞不清楚,hybrid和hybrid/overlay经常用错。
本文主要介绍这两种混合方式的区别以及hybrid/overlay设置方法。
在lammps模拟中,原子之间的受力受力场的控制,力场由势函数来描述。
在多数的模拟中,两种原子设置一个力场即可。
Lammps允许两种原子设置多种力场,用到的命令为:pair_style hybrid/overlay。
前面文章已经介绍过pair_style hybrid的使用方法。hybrid与hybrid/overlay有所不同。
hybrid是指模拟体系使用多种力场,但对于体系中的原子来说,只设置了一种力场。
而hybrid/overlay则允许体系中的原子同时设置多种力场。
在这里,overlay可理解为叠加的意思。
例如:
pair_style hybrid/overlay lj/cut 2.5 coul/long 2.0
pair_coeff * * lj/cut 1.0 1.0
pair_coeff * * coul/long
上述代码第一行表示体系使用lj/cut和coul/long两种力场。
第二行代码表示所有原子的力场设置为lj/cut。
第三行代码表示所有原子的力场设置为coul/long。
因为混合类型为hybrid/overlay(叠加),因此,第三行的coul/long力场并没有覆盖第二行的lj/cut力场。
设置之后,原子之间的受力同时受lj/cut和coul/long两种力场控制。
效果下面的代码是一样的:
pair_style lj/cut/coul/long 2.5 2.0
pair_coeff * * 1.0 1.0
通过这个例子可以看出,hybrid/overlay是将多种力场叠加到一起,在力的计算中,多种力场共同起作用,并且这些力场之间的权重是一样的。
Lammps同样可以对多种力场设置不同的权重,使用到的命令为:hybrid/scaled。
例如:
pair_style hybrid/scaled 0.3 tersoff 0.7 sw
pair_coeff * * tersoff Si.tersoff Si
pair_coeff * * sw Si.sw Si
在本例中,Si受tersoff和sw力场控制,tersoff力场权重为0.3,sw力场权重为0.7。
因此,Si的受力可表示为F=0.3*Ftersoff+0.7*Fsw
虽然hybrid/overlay设置比较简单,在使用过程中务必谨慎,以防多种力叠加后造成计算错误。
更多lammps教程及培训请关注微信公众号:lammps加油站