Lammps语法规则及常用任务

上传人:飞****9 文档编号:144216488 上传时间:2020-09-06 格式:PDF 页数:20 大小:246.18KB
返回 下载 相关 举报
Lammps语法规则及常用任务_第1页
第1页 / 共20页
Lammps语法规则及常用任务_第2页
第2页 / 共20页
Lammps语法规则及常用任务_第3页
第3页 / 共20页
Lammps语法规则及常用任务_第4页
第4页 / 共20页
Lammps语法规则及常用任务_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《Lammps语法规则及常用任务》由会员分享,可在线阅读,更多相关《Lammps语法规则及常用任务(20页珍藏版)》请在金锄头文库上搜索。

1、Lammps 语法语法 输入脚本中的每个非空行被当作一个命令。 LAMMPS 命令是区分大小写的。 命令名是小写的,如指定命令参数。 大写字母可能用于文件名或用户选择的 ID 字 符串。 下面是 LAMMPS 每一行的输入脚本解析: (1) 如果某行的最后一个可打印字符是“”字符,则假定该命令在下一行 继续。通过删除“”字符和换行符,下一行将连接到上一行。这使长命令延续在 两条或更多条的命令上。请参阅(6) ,如何在不使用“”字符的情况下在多行上 继续执行命令。 (2) “”字符后的所有字符都被视为注释并被丢弃,详见(6) 。注意,“”字 符后面的注释将阻止命令在下一行继续。 另外请注意, 对

2、于多行命令, 单个 “” 字符将注释整个命令。 (3)某行重复搜索“$”字符,表示用文本字符串替换该变量,详见(6) 。 如果字符“$”后跟大括号,则变量名称是大括号内的文本。如果字符“$”后没 有大括号跟随,则变量名称是紧跟在$之后的单个字符。如$myTemp 和 $x 的 变量名分别为 myTemp and x。 变量如何转换为文本字符串取决于变量的样式。 它可以是一个存储多个文本 字符串的变量,并返回其中的一个。返回的文本字符串可以是多个“单词”(空格 分隔) ,然后将其解释为输入命令中的多个参数。该变量还可以存储为一个数学 公式,该公式将被估算,其数值结果作为字符串返回。 如果字符$后

3、跟圆括号则是一种特殊情况,圆括号内的文本被视为“临时”变 量,并被评估为等式样式的变量。这是在输入脚本中使用数字公式的方法,而不 必给它们分配变量名称。 variable X equal (xlo+xhi)/2+sqrt(v_area) region 1 block $X 2 INF INF EDGE EDGE variable X delete 等价于: region 1 block $(xlo+xhi)/2+sqrt(v_area) 2 INF INF EDGE EDGE 以便您不必定义(或丢弃)临时变量 X. 注意, 变量的大括号或即时形式都不能包含嵌套的$字符以供其他变量替代。 如下做

4、法是错误的: variable a equal 2 variable b2 equal 4 print B2 = $b$a 不能为一个临时变量指定$($ x-1.0) ,但可以使用$(v_x-1.0) ,因为后者是 符合等效样式变量语法。 有关字符串如何分配给变量和评估的详细信息, 以及如何在输入脚本命令中 使用,请参阅变量命令。 (4)某行“单词”被空格分隔(制表符,空格)隔开。 请注意,单词可以包 含字母,数字,下划线或标点符号。 (5)每行的第一个词是命令名。 行中的所有连续词都是参数。 (6)如果要将具有空格的文本视为单个参数,则可以将其包含在单引号或 双引号或三引号中。如果使用“”字

5、符,则单引号或双引号的单个参数可以跨多 个行。当行连接在一起(并删除“”字符和换行符)时,文本将变为单行。如果 希望多行参数保留换行符,则文本可以用三重引号括起来,在这种情况下不需要 “”字符。例如: print Volume = $v print Volume = $v if $steps 1000 then quit variable a string red green blue & purple orange cyan print System volume = $v System temperature = $t 在每种情况下,单个,双引号或三引号在其内部存储的单个参数被删除。 引号

6、之间的“”或“$”字符不会被视为(2)中的注释指示符,或在(3)中替 换为变量。 注意:如果参数本身是一个需要引用参数的命令(例如,使用 print 命令作 为 if 或 run 命令的一部分) ,则单引号,双引号或三引号可以以通常的方式 嵌套。 Lammps 常见任务介绍常见任务介绍 本节介绍如何使用 LAMMPS 执行常见任务。 1. 重启模拟 通常有 3 种方法可以继续 LAMMPS 模拟。多个运行命令可以在同一个输入 脚本中使用,每次运行将从上次离开时的运行位置开始。或者使用 restart 命令将 二进制重启文件保存到磁盘。稍后,这些二进制文件可以通过新脚本中的 read_resta

7、rt 命令读取。或者可以使用-r 命令行切换将其转换为文本数据文件,并 在新脚本中通过 read_data 命令读取。 下面,给出读取二进制重新启动文件或转换后的数据文件的 2 个脚本的示 例,然后发出一个新的运行命令以继续上次离开时的运行位置。示例说明了在新 脚本中必须做出的设置。 详细信息在read_restart和read_data命令的文档中讨论。 如果脚本有如下一行: restart 50 tmp.restart 添加该脚本,它运行时将生成 2 个二进制重新启动文件(tmp.restart.50 和 tmp.restart.100) 。 该脚本可用于读取第一次重新启动文件并继续运行最

8、后 50 个时 间步长: read_restart tmp.restart.50 neighbor 0.4 bin neigh_modify every 1 delay 1 fix 1 all nve fix 2 all langevin 1.0 1.0 10.0 904297 timestep 0.012 run 50 请注意, 以下命令不需要重复, 因为它们的设置包含在重新启动文件中: units, atom_style,special_bonds,pair_style,bond_style。 但是,这些命令确实需要使 用,因为它们的设置不在重新启动文件中:neighbor,fix,tim

9、estep。 另一种方法是将重新启动文件转换为数据文件,如下所示: lmp_g+ -r tmp.restart.50 tmp.restart.data 然后,该脚本可用于重新运行最后的 50 步: units lj atom_style bond pair_style lj/cut 1.12 pair_modify shift yes bond_style fene special_bonds 0.0 1.0 1.0 read_data tmp.restart.data neighbor 0.4 bin neigh_modify every 1 delay 1 fix 1 all nve fi

10、x 2 all langevin 1.0 1.0 10.0 904297 timestep 0.012 reset_timestep 50 run 50 2. 2d 模拟 使用 dimension 命令定义 2d 模拟。 默认情况下,通过boundary命令设置 z 轴为周期边界。 如果使用 create box 命令来定义模拟边界,则将 z 轴设置为窄,但是有限, 以便使用 create_atoms 命令将单个 z 平面的原子来平铺 3d 模拟边界。例如: create box 1 -10 10 -10 10 -0.25 0.25 如果使用 read data 命令读取原子坐标文件,则将“z

11、lo zhi”值设置为有限但 窄,类似于刚刚描述的 create_box 命令设置。对于文件中的每个原子,分配一个 z 坐标,使其位于 z 轴边界内。例如:0.0。 使用 fix enforce2d 命令作为最后定义的修改,以确保 z 分量的速度和应力在 每个时间步长都被清零。 做这个最后修该的原因是, 其他修补程序可能生成应力, 这样能清除所引起的任何应力。 注意:在 LAMMPS 的一些模型中,将粒子视为有限大小的球体,而不是点 粒子。 在 2d 中,粒子仍然是球体,而不是圆盘,这意味着它们的惯性矩将与 3d 相同。 3. CHARMM, AMBER, DREIDING 应力场 应力场有两

12、部分组成:定义它的公式和用于特定系统的系数。在这里,我们 只讨论在 LAMMPS 中执行的公式,这些公式与 CHARMM,AMBER 和 DREIDING 应力场中常用的公式相对应。通过 read_data 命令或在输入脚本中使 用命令(如pair_coeff or bond_coeff)在输入数据文件中设置系数。有关可以使用 CHARMM 或 AMBER 分配应力场系数并将其输出转换为 LAMMPS 输入的其他 工具,请参见第 9 节。 有关 CHARMM 应力场的描述,请参阅(MacKerel) 。有关 AMBER 应力场 的描述,参见(Cornell) 。 这些样式选择计算的应力场公式与

13、 CHARMM 或 AMBER 中常见选项一致。 请参阅每个命令的文档中的计算公式。 bond_style harmonic angle_style charmm dihedral_style charmm pair_style lj/charmm/coul/charmm pair_style lj/charmm/coul/charmm/implicit pair_style lj/charmm/coul/long special_bonds charmm special_bonds amber DREIDING 是由戈达德集团在加利福尼亚理工学院开发的通用应力场, 可用 于预测有机, 生物和

14、主要无机分子的结构和动力学。 DREIDING 是基于简单的杂 化考虑使用的一般应力常数和几何参数,而不是依赖于参与键,角或扭转项的原 子的特定组合的单独力常数和几何参数。 DREIDING 具有明确的氢键术语, 用于 描述在非常电负性原子(N,O,F)上涉及氢原子的相互作用。 有关 DREIDING 应力场的描述,请参阅(Mayo)。 这些样式选择计算的应力场公式与 DREIDING 应力场一致。 请参阅每个命 令的文档中的计算公式。 bond_style harmonic bond_style morse angle_style harmonic angle_style cosine an

15、gle_style cosine/periodic dihedral_style charmm improper_style umbrella pair_style buck pair_style buck/coul/cut pair_style buck/coul/long pair_style lj/cut pair_style lj/cut/coul/cut pair_style lj/cut/coul/long pair_style hbond/dreiding/lj pair_style hbond/dreiding/morse special_bonds dreiding 4. 从

16、一个输入脚本运行多个模拟 从一个输入脚本运行多个模拟可以通过几种方式完成。 若“多次模拟”是想继续先前的模拟以获得更多的时间步长,那么只需多次 使用运行命令即可。例如: units lj atom_style atomic read_data data.lj run 10000 run 10000 run 10000 run 10000 run 10000 这是对相同的系统运行 5 次连续的模拟,总共 50000 个时间步长。 如果想运行完全不同的模拟,一个接着另一个,可以使用清除命令在它们之 间重新初始化 LAMMPS。例如: units lj atom_style atomic read_data data.lj run 10000 clear units lj atom_style

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 外语文库 > 英语学习

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号