【LAMMPS学习】八、基础知识(1.3)从一个输入脚本运行多个模拟

8. 基础知识

此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。

 8.1.通用基础知识

8.1.1.重新启动模拟 

8.1.2.可视化 LAMMPS 快照

8.1.3.从一个输入脚本运行多个模拟

 这可以通过多种方式来完成。有关这些示例如何工作的更多详细信息,请参阅各个命令的文档。

如果“多次模拟”意味着继续先前的模拟更多时间步长,那么您只需多次使用运行命令即可。例如,这个脚本

units lj
atom_style atomic
read_data data.lj
run 10000
run 10000
run 10000
run 10000
run 10000

将对同一系统运行 5 次连续模拟,总共 50,000 个时间步长。

如果您希望一个接一个地运行完全不同的模拟,可以在它们之间使用clear命令来重新初始化LAMMPS。例如,这个脚本

units lj
atom_style atomic
read_data data.lj
run 10000
clear
units lj
atom_style atomic
read_data data.lj.new
run 10000

将运行 2 个独立的模拟,一个接着一个。

对于大量独立模拟,您可以使用变量以及 next 和 jump 命令以不同的设置多次循环相同的输入脚本。例如,此脚本名为 in.polymer

variable d index run1 run2 run3 run4 run5 run6 run7 run8
shell cd $d
read_data data.polymer
run 10000
shell cd ..
clear
next d
jump in.polymer

将在不同的目录中运行 8 个模拟,每个目录中使用一个 data.polymer 文件。例如,可以使用相同的概念在 8 个不同的温度下运行相同的系统,使用温度变量并将输出存储在不同的日志和转储文件中.

ariable a loop 8
variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15
log log.$a
read data.polymer
velocity all create $t 352839
fix 1 all nvt $t $t 100.0
dump 1 all atom 1000 dump.$a
run 100000
clear
next t
next a
jump in.polymer

无论您是在 1 个还是多个处理器上运行,上述所有示例都有效,但假设您在单个处理器分区上运行 LAMMPS。 LAMMPS 可以通过 -partition 命令行开关在多个分区上运行。

在最后 2 个示例中,如果 LAMMPS 在 3 个分区上运行,则如果将“index”和“loop”变量替换为 Universe 样式变量,则可以使用相同的脚本,如变量命令中所述。此外,“next t”和“next a”命令需要替换为单个“next a t”命令。通过这些修改,每个脚本的 8 次模拟将在 3 个分区上依次运行,直到全部完成。最初,将同时启动 3 个模拟,每个分区一个。当一个完成后,该分区将开始第四次模拟,依此类推,直到所有 8 个模拟完成。

99823928277042d891de99c58385f3e6.png

49fca43b4e0448c4b327446611c09c08.png

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值