利用LAMMPS的fix deposit命令模拟涂层沉积(Carbon 145 (2019) 333-344)

LAMMPS中对模拟原子和盒子的操作基本上都需要利用fix命令来实现。fix本义为修理,该命令除了实现基本的NVE,NPT等系综的求解,而且还可以实现改变原子受力,增加约束,沉积原子和模拟盒子变形等操作,掌握fix命令对利用LAMMPS进行分子动力学模拟是非常重要的。

fix 命令介绍

基本语法

fix ID group-ID style args

ID:用户指定的fix的的名字

group-ID:fix命令应用到一组原子的名字

style:fix命令的类型,根据需要选择

args:特定类型的参数

举例

fix 1 all nve fix 3 all nvt temp 300.0 300.0 0.01 fix mine top setforce 0.0 0.0 0.0

说明

  1. 设置一个fix命令并应用到一组原子上。在LAMMPS中,fix可以是任何在最小化或时间步中应用到系统上的一个“操作”。例如,利用fix命令可以按照系综分布对原子的位置和速度进行更新,控制系统的温度,给特定的原子施加力,计算诊断等等。在LAMMPS中目前有上百个fix的类型,并且新的fix类型也在不断增加。
  2. fix在一个时间步中可能在不同的阶段起作用,如果两个fix在时间步的同一个阶段起作用,这两个fix会按照in文件中的顺序依次执行。
  3. fix的名字ID只能包括字母,数字和下划线。
  4. 利用unfix命令可以删除一个fix。unfix是唯一关闭fix命令的方法。指定一个新的相似类型的fix并不会使第一个fix命令失去效果。例如,在一个in文件中,同时使用了fix nve命令和fix nvt命令,系统中的原子将进行两次速度和位置的更新。
  5. 再次指定一个与原有fix的类型和ID完全相同的fix会把第一个fix删除。这样编程就相当于使用了unfix命令之后,再使用fix命令。注意,如果这样编程,新的fix也将不具备原有fix的由fix_modify指定的其他变化。
  6. 利用fix_modify可以改变某些fix中的参数设置。
  7. 某些fix命令会把系统当前的状态放到restart文件中,这样用户就可以使用restart命令或write_restart命令以当前状态重启仿真。
  8. fix命令也会产生一些计算变量,用户可以访问这些计算变量。fix产生的变量有三种类型,全局的(global),每个原子(per-atom)的或局部的(local),每种类型的变量都有可能是标量,向量或矩阵。其访问方法如下表所示:

f_ID

标量,或整个向量和矩阵

f_ID[I]

向量中的第I个元素或矩阵中的第I列

f_ID[I][J]

矩阵中的一个元素

fix 命令列表

在LAMMPS官方文件中,每一种fix都有专门的介绍,以下表格仅简单列出每种fix的作用,在具体使用时,需要参考manual文件进行使用。

收藏 打印