使用lammps进行分子动力学模拟,有时候会遇到变换模拟参数进行多次模拟的情况,比如变换不同的温度进行模拟,分析不同温度的影响。
这种情况下,只需要改变in文件中的温度就可以。
实现的方法有两种,一种方法是建立不同的in文件,每个in文件使用不同的温度参数,缺点是在提交运算的时候需要多次提交。
第二种方法是把所有的温度取值写到一个in文件中,使用jump命令循环执行不同温度下的模拟。
使用这种方法即可实现一次提交多次运行的效果。
jump语法为:

jump file label

file为跳转的文件名,label为跳转到新文件后,运行的起点标志。
#跳转到newfile文件,从头开始执行
jump newfile
#跳转到in.run2文件,从runloop标签处开始执行

jump in.run2 runloop

下面以计算Fe晶格常数为例练习jump的使用,这个例子在网络上经常可以看到,对于初学者来说,也是一个不错的练习案例。

实现的原理是设置一组晶格常数,使用jump命令依次运行不同的晶格常数,每次运行时计算一个能量值。
运行完成后绘制晶格常数与能量曲线,找出能量最低值对应的晶格常数即为Fe的晶格常数。
当然,这一组晶格常数是离散值,只能近似求解,取值间隔越小,数量越多,得到的结果精确。

# in.Fe Stefan Bringuier
#设置jump执行入口标志
label lata
#设置晶格常数a的不同取值
variable a index 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2
#模型基本设置
units       metal
atom_style  atomic
boundary        p p p
#以变量a的值创建盒子并填充原子
lattice     bcc $a
region      box block 0 5 0 5 0 5
create_box  1 box
create_atoms    1 box
mass        1 55.85
#设置力场
pair_style eam/fs
pair_coeff * * Fe_mm.eam.fs Fe              neighbor    0.3 bin
neigh_modify    every 20 delay 0 check no
#输出轨迹文件
dump myDump all atom 10000 dump.${a}
#nve系综
timestep 0.001
fix     1 all nve
thermo      500
thermo_style custom step pe ke temp vol press
run  10000
#计算单原子能量=总势能/原子个数
variable Ecoh equal pe/count(all)
print "Lattice parameter (A): $a"
print "Cohesive Energy (eV/atom):  ${Ecoh}"
#清屏
clear
#获取下一个a的值
next a
#跳转到in.Fe文件lata处重新运行
jump in.Fe lata

更多lammps案例,关注微信公众号:lammps加油站

lammps教程:以计算Fe晶格常数为例介绍jump命令使用相关推荐

  1. lammps教程:径向分布函数g(r)的计算与输出方法

    大家好,我是小马老师. 本文介绍如何使用lammps计算径向分布函数g®. 径向分布函数(Radial distribution function)是指给定某个粒子的坐标,其他粒子在空间的分布几率. ...

  2. lammps教程:平均值输出fix ave/time命令详解

    lammps模拟输出方式有很多,前面几篇文章也介绍过,对于模拟总体系的值一般使用thermo命令输出,而单个原子的变量值使用dump命令输出. 今天主要讨论一下体系量值的输出,使用thermo命令有两 ...

  3. lammps教程:均方位移MSD计算方法介绍

    大家好,我是小马老师. 在lammps扩散模拟中,大多需要计算MSD,今天分享一段MSD的代码: compute 1 all msd com yes variable msdx equal c_1[1 ...

  4. lammps教程:lj/cut力场使用方法

    lammps模拟设置中,力场的设置非常重要,力场设置合理才能准确的描述原子之间的受力. 如果两种原子之间没有键连接,可以使用pair_style命令设置这两种原子的力场. pair_style能够设置 ...

  5. lammps教程:Cu孪晶建模方法

    上一次文章介绍了Atomsk软件建立孪晶的方法,有朋友咨询使用lammps自带命令建立孪晶的方法. 本文以Cu为例介绍lammps孪晶建模方法. 使用lammps建模,首先要确定xyz坐标轴对应的晶向 ...

  6. lammps教程:lj/cut/coul力场参数设置详解

    本文介绍lj/cut/coul/cut以及lj/cut/coul/long力场的区别和用法. 前面一篇文章介绍了LJ势的用法,普通的LJ势只考虑原子之间的吸引力与排斥力,没有考虑原子之间电荷作用. 如 ...

  7. lammps教程:实例讲解npt、nvt系综的选择

    对于lammps新手来说,系综的选择令人困惑,到底是应该用nvt系综还是npt系综? 我在初学lammps时就被这个问题困扰了很久.如果去问别人,可能会告诉你一个答案:根据模拟需要确定. 其实和没说一 ...

  8. lammps教程:delete_atoms删除原子后原子ID不连续的两种解决方案

    大家好,我是小马老师. 使用lammps自带命令建模时,有时候会用delete_atoms命令删除部分原子,但是在删除原子后,lammps并不一定会重新分配原子的ID,造成data文件中的原子ID序号 ...

  9. 单代号网络图计算例题_算例分享:SDOF动力系统的共振响应计算

    本文给出一个单自由度系统的共振响应分析实例. 单自由度体系受到简谐荷载激励,相关参数如下: 单自由度体系刚度k=2×106N/m,质量m=2×105kg,阻尼c=1.0×105N·s/m,受到0.5H ...

最新文章

  1. 2019年上半年收集到的人工智能自然语言处理方向干货文章
  2. UE4 RHI与条件式编译
  3. elasticsearch 分布式部署
  4. 新浪是如何分析处理32亿条实时日志的?
  5. c语言二维数组初始化_6.2 C语言二维数组
  6. [翻译] ASP.NET Core 利用 Docker、ElasticSearch、Kibana 来记录日志
  7. Codeforces Round #590 (Div. 3) F. Yet Another Substring Reverse 子集dp
  8. 使用 CSS 接收用户的点击事情并对相关节点进行操作
  9. 一周内被程序员疯转 2.4 W次,最终被大厂封杀!
  10. 一个很简单的问题:遍历int数组并删掉所有偶数
  11. java的科学记数法_java – 为什么输出是科学记数法?
  12. python自动化中使用unittestreport输出测试报告
  13. 「NLP入门系列」11. 使用 Seq2Seq 模型进行文本翻译
  14. python_open函数中newline参数详解
  15. 保龄球计分c语言程序,求C语言代码解释(保龄球记分程序)
  16. C语言miller rabin算法,浅谈miller_rabin算法和pollard_rho算法
  17. 玻色量子与华夏、人行、龙盈智达联合发表量子金融研究成果
  18. 计算机的应用给我们带来了,电脑能给我们的生活带来哪些便利
  19. Win11安卓应用使用及环境配置教程
  20. Altium Designer 15详细安装教程

热门文章

  1. php使用腾讯云存储
  2. 算法分析与设计——回溯法实验报告
  3. Mac下Chrome快捷键大全
  4. 50只N95口罩24.9/自带线充电宝19.9/杜蕾斯19只39.9/冬季棉服88
  5. Altium Designer: 绘制阿基米德螺旋线(脚本法)
  6. canal下载 linux_Canal入门
  7. Tomcat10无法加载webapps下的项目
  8. 自定义Palette(二)
  9. Fastreport报表 获取列表多选数据
  10. Linux下C编程入门(1)