参数variable

  1. 使用variable的index进行多次重复模拟

variable 命令

LAMMPS 学习笔记之 variable 命令 - 知乎 (zhihu.com)

在LAMMPS中,variable命令用于定义一个变量,该变量可以在后续的输入文件中被引用,以设置参数的值。变量可以是一个常量、一个表达式、一个字符串或者一个索引值。它们可以在许多LAMMPS命令中使用,提供了一种灵活的方式来设置和修改参数,尤其是在需要参数化输入文件或者进行参数研究时非常有用。
variable命令的基本语法如下:

variable name style value

其中:

  • name 是变量的名称,用于后续引用。
  • style 是变量的类型或样式,决定了变量如何被解析和计算。
  • value 是变量的值,可以是数字、表达式、字符串等。
    LAMMPS支持多种变量样式,以下是一些常用的样式及其含义:
  1. equal:定义一个变量的值为一个表达式或者常量。例如:

    variable temp equal 300.0
    

    这里定义了一个名为temp的变量,其值为300.0。

  2. atom:定义一个与原子相关的变量,通常用于访问原子的属性。例如:

    variable x atom x
    

    这里定义了一个名为x的变量,它引用了原子的x坐标。

  3. index:定义一个索引变量,它的值在每次引用时都会增加。例如:

    variable i index 1
    

    这里定义了一个名为i的索引变量,初始值为1,每次引用时都会自动增加1。

  4. loop:定义一个循环变量,通常与jump命令一起使用,用于在输入文件中创建循环。例如:

    variable j loop 5
    

    这里定义了一个名为j的循环变量,它的值会在1到5之间循环。

  5. format:定义一个格式化字符串,用于格式化输出。例如:

    variable msd format %16.8e
    

    这里定义了一个名为msd的格式化字符串,用于以特定的格式输出数据。

  6. file:定义一个变量,其值来自一个文件。例如:

    variable params file params.txt
    

    这里定义了一个名为params的变量,其值从params.txt文件中读取。

  7. string:定义一个字符串变量。例如:

    variable message string "Hello, LAMMPS!"
    

    这里定义了一个名为message的字符串变量,其值为”Hello, LAMMPS!”。
    变量可以在LAMMPS输入文件的许多地方被引用,通过在变量名前加上$符号来实现。例如,在timestep命令中使用变量ss

timestep ${ss}

这里,时间步长被设置为变量ss的值。
使用变量可以使得LAMMPS输入文件更加灵活和易于维护,特别是在需要改变模拟参数或者进行参数化研究时。

使用variable的index进行多次重复模拟

8.1.3. Run multiple simulations from one input script — LAMMPS documentation

fix和dump的区别

  1. fix命令用于在模拟过程中对系统施加各种约束和操作,也可以用于计算和输出特定物理量(只有特定的几个命令可用),如MSD,fix命令通常在模拟过程中持续作用,直到被删除或模拟结束
fix ID group-ID style args

例:fix 1 all nvt temp 300.0 300.0 100.0 指定进行nvt计算,阻尼系数为100

compute         msd1 Na msd
fix             2 all ave/time 1 1 1 c_msd1[4] file Na_MSD.dat

搭配compute,进行操作,做计算。==理论上,compute+fix能够得到所有可能得到的lammps中已经实现的操作==

fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ...

Nevery 每多少步算一次,Nrepeat 平均多少步 Nfreq 每多少步输出一次


转载请注明来源 有问题可通过github提交issue