ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-03-27 11:05:04  阅读:371  来源: 互联网

标签:文件 lammps 为例 jump Fe 跳转 常数 晶格


使用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,为例,jump,Fe,跳转,常数,晶格
来源: https://blog.csdn.net/lammps_jiayou/article/details/115261578

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有