lammps输出MSD(均方根位移)详解及示例教程

这篇具有很好参考价值的文章主要介绍了lammps输出MSD(均方根位移)详解及示例教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

[lammps第十五讲]lammps输出MSD(均方根位移)详解及示例教程

原创 一直陪着你的 LAMMPS交流站 2021-10-23 11:45

收录于话题

#lammps21个内容

#lammps后处理17个内容

lammps输出MSD(均方根位移)详解及示例教程

   大家好,前面小编讲解了一期RDF(径向分布函数)的详解及LAMMPS输出过程,就有很多小伙伴问到小编MSD的LAMMPS输出过程,所以本期小编本期介绍下MSD(均方根位移)的输出办法,小编就把自己学到的在这里跟大家分享,也算是小编学习过程中的一个笔记。

   本教程也是小编自己整理,不足之处请各位指出,希望能给读者提供一定的帮助,同时希望专业前辈提出不足,小编会和大家共同学习。

  

lammps输出MSD(均方根位移)详解及示例教程

01

MSD介绍

1.均方根位移     

     均方根位移计算材料的均方位移,当观测时间趋于无穷大时,MSD与极限观测时间成正比,MSD的定义的定义式如下:

lammps输出MSD(均方根位移)详解及示例教程

式中,N是粒子数,t代表时间,r(t0+t)-r(t0)是给定粒子在一段时间内经过的矢量距离,<...>为平衡后的系综平均。

lammps输出MSD(均方根位移)详解及示例教程

 图 均方根位移(xyz三个方向及总的MSD)

02

官网用法

我们在lammps官网可以看到输出MSD的具体语法

compute ID group-ID msd keyword value ...fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ...#com value = yes or no#average value = yes or no

  

举例:

compute 1 all msdcompute 1 upper msd com yes average yes

     在compute msd命令中,keyword为关键词。

     在fix ave/time命令中,Nfreq必须是Nevery的整数倍,Nevery

必须是非零。用compute msd命令时,value1、value2 ... 为c_ID[1],c_ID[2],c_ID[3],c_ID[4],输出结果按列依次为序号,c_ID[1]、c_ID[2]、c_ID[3]x、y、z方向上的MSD值,c_ID[4]为总的MSD值。

     例如以下命令可用于输出每1000步的MSD值:

compute msd all rdf 200 2 6  #rdf       fix rdf all ave/time 1000 1 1000 c_rd1[1] c_rd1[2] c_rd1[3] file data.rdf mode scalar

03

代码示例

  本文同样将之前做的一个案例CuNi合金熔化模拟的1550K-2500K升温过程的MSD输出,添加的代码为:

#输出MSD----------------------------------
compute msd all msd com yes   #计算MSD
fix savemsd all ave/time 500 1 500 c_msd[1] c_msd[2] c_msd[3] c_msd[4] file msd.data mode scalar
 

完整in文件如下:

#lammps交流站案例
units           metal
boundary        p p p

atom_style      atomic

read_data  melting.in.dat

lattice         fcc 3.65 
region          box block -30 30  -5 5 -5 5
#create_box      1 box
#create_atoms  

mass            1  64.55
mass            2  58.69 

pair_style      eam/alloy
pair_coeff      * * CuNi.lammps.eam Cu Ni

region          1 block INF -0.01  -6 6  -6 6
group           left region 1
region          2 block -0.01 INF  -6 6 -6 6
group           right region 2

timestep        0.002
velocity        all create 1550.0 4928459 dist gaussian
fix             1 all npt temp 1550 1550 0.1 iso 0 0 0.2

dump            melt all atom 10000 dump.dat
#dump            melt all custom 1000 dump.atom.slow tag type xu yu zu vx vy vz  sxx syy szz
restart         50000  restart.*

thermo          100
run             4000

#thermo_style    custom step temp etotal pe press vol pxx pyy pzz pyz pxz pxy

unfix   1
fix             1 right npt temp 1550 2500 0.1 x 0 0   0.2
#输出MSD
compute msd all msd com yes   #计算MSD
fix savemsd all ave/time 500 1 500 c_msd[1] c_msd[2] c_msd[3] c_msd[4] file msd.data mode scalar
run             2000
unfix   1
fix             1 right npt temp 2500 1550 0.1 x 0 0   0.2

run             44000

unfix           1
fix 1     all nph iso 0.0 0.0 0.2  
run             100000

    最后,用记事本打开生成的msd.data文件,用里面的数据绘图,就可以得到如下的MSD曲线。

lammps输出MSD(均方根位移)详解及示例教程

图 CuNi合金熔化过程均方根位移曲线

注意

1.文中所需的data文件及势文件已上传至QQ群-lammps交流站。

更多案例请关注lammps交流站

LAMMPS交流站文章来源地址https://www.toymoban.com/news/detail-480878.html

到了这里,关于lammps输出MSD(均方根位移)详解及示例教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包