【LAMMPS翻译系列】restart命令

restart命令在计算的时候,按着特定的模式,以一定的时间步为周期,写二进制的重启动文件。

使用语法

restart 0
restart N file
restart N file1 file2
  • N:每N步写入重启动文件,N可以是一个变量。
  • file:[单文件模式]重启动文件的文件名。
  • file1/file2:[双文件模式]重启动文件的文件名,交替写重启动文件。

使用举例

restart 0
restart 1000 poly.restart
restart 1000 restart.*.equil
restart 10000 poly.%.1 poly.%.2
restart v_mystep poly.restart

使用介绍

该命令在计算的时候,按着特定的模式(单文件模式和双文件模式),以一定的时间步为周期,写二进制的重启动文件。如果参数是0,那么就不会写重启动文件。该命令的两种模式是:

  • 单文件模式:如果指定了1个文件名,那么程序会创建一系列文件名中包含时间步的重启动文件。
  • 双文件模式:如果指定了2个文件名,那么程序只会以这两个指定的文件名创建两个重启动文件,并在这两个重启动文件间来回写入重启动信息。

注意:在一个输入脚本中,你可以两次使用restart命令,一次是单文件,一次双文件。举例来说,你可以以100000步的频率写单文件的重启动文件用来存档,同时你也可以以1000步的频率写双文件的重启动文件,将它们作为临时的重启动文件。使用restart 0可以关掉这两种重启动的输出。

dump命令输出文件类似,restart命令在输出重启动文件时,也可以包括两种通配符。

  • 如果单文件模式的文件名中包括符号“*”,那么该符号会被当前的时间步值替换掉。因此,对于上面例子中的第三个,会创建的重启动文件为:restart.1000.equil, restart.2000.equil, 等。如果单文件模式的文件中不包括“*”,那么时间步值会自动添加在文件名的最后。上面例子中的第二个会创建的重启动文件为:poly.restart.1000, poly.restart.2000, 等。
  • 如果重启动文件的文件名中包括符合“%”,那么每个处理器会写一个文件,并且符号“%”会被处理器的ID(从0到P-1)替换掉。另外,还会有一个文件,文件名是用“base”代替“%”,其中包含了全局的信息。举例来说,如果使用通配符%,并以1000时间步的频率写重启动文件,那么会写出的文件有restart.base.1000,restart.0.1000,restart.1.1000,……,resta.P-1.1000。使用这种通配符,会创建更小的文件,对于在并行机器中输出和后续的输入都是一种更快的方式。

使用该命令写重启动文件的时间是在时间步是N的倍数时,而不是在一个run或能量最小化的第一个时间步。如果你希望在一个run开始前写重启动文件,那么你可以使用write_restart命令。使用restart命令也不会在一个run的最后一个时间步写重启动文件,除非这最后一个时间步恰好是N的倍数。但对于能量最小化过程而言,如果其结果收敛的,并且N设置>0,那么即便使用restart命令,其最后一个时间步也会写入重启动文件。

N除了可以是一个数值之外,也可以被指定为equal样式的变量,但需要以v_name的形式引用(其中的name就是变量名)。在这种情形下,变量会在开始一个run之前被计算,从而确定下一个写出重启动文件的时间步。在到了那个时间步时,变量会再次被计算以决定下一个输出的时间步。以此类推。因此变量需要返回的时间步的值。函数stagger(), logfreq(), stride()是与此相关数学变量函数,其他类似的数学函数也可以作为选项被添加。

举个例子,下面的命令会从时间步1100到1200写重启动文件,这对于调试一个在1163步出错的模拟来说是非常实用的。

variable	s equal stride(1100,1200,1)
restart		v_s tmp.restart




参考命令read_restart,了解哪些信息被存储在了重启动文件中。

重启动文件可以被命令read_restart读入,从而可以从设定的状态重新开始一个新的模拟过程。因为重启动文件是二进制的,因此在其他的机器上可能就不可读(二进制文件是依赖于机器的)。在这种情况下,可以使用tools目录下提供的restart2data程序将重启动文件转换为文本式的数据文件格式。命令read_restart和工具restart2data都可以读入由通配符%指定而输出的文件。

相关命令

write_restart, read_restart

默认设置

restart 0

标签: lammps, lammps翻译

相关文章推荐

添加新评论 (无需注册,可直接评论)