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

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

收录于话题

#lammps21个内容

#lammps后处理17个内容

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

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

  

01

MSD介绍

1.均方根位移     

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

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

图 均方根位移(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 patom_style      atomicread_data  melting.in.datlattice         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 Niregion          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 2timestep        0.002
velocity        all create 1550.0 4928459 dist gaussian
fix             1 all npt temp 1550 1550 0.1 iso 0 0 0.2dump            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 pxyunfix   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.2run             44000unfix           1
fix 1     all nph iso 0.0 0.0 0.2
run             100000

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

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

注意

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

更多案例请关注lammps交流站

LAMMPS交流站

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

  1. lammps输出RDF(径向分布函数)详解及示例教程

    原创 一直陪着你的 LAMMPS交流站 2021-10-18 11:40 收录于话题#lammps案例16个内容 大家好,小编最近的课题需要输出RDF(径向分布函数),小编就去lammps官网及网络查 ...

  2. Java 10 var关键字详解和示例教程

    \ 关键要点 \\ Java 10引入了一个闪亮的新功能:局部变量类型推断.对于局部变量,现在可以使用特殊的保留类型名称"var"代替实际类型.\\t 提供这个特性是为了增强Jav ...

  3. linux输出文件没有找到,Linux环境下标准输入、输出、错误信息详解

    Linux环境下标准输入.输出.错误信息详解 下面我们介绍在Linux环境下标准输入.输出.错误设备.标准输入设备代号为0, 用来显示输入信息,标准输出设备代号为1,用来显示正常信息,标准错误设备代号 ...

  4. 31.进程管理之进程概览,及ps命令详解,ps -ef,ps aux,ps -le,ps -l输出详解和示例

    本小章讲解进程管理中的进程概览和作用,及ps命令详解,ps -ef,ps aux,ps -le,ps -l的输出详解和示例 文章目录 进程概览 什么是进程和程序 进程管理的作用 进程启动方式 僵尸进程 ...

  5. Java基础【之】输出一个菱形(详解)

    Java基础[之]输出一个菱形(详解) 代码示例 <目录:Java渐进式学习> <目录:Java设计模式> <目录:从零手写Tomcat> 代码示例 public ...

  6. 运动控制器PSO位置同步输出(二):PSO模式详解

    本节我们主要去讲解一下多种PSO模式原理和使用的讲解,用户可根据实际需求灵活选择触发模式. 一.硬件说明 硬件选型的首要要求是支持PSO功能,再分析PSO的应用场合和轴数等选择具体的型号.本例以ZMC ...

  7. java注解 源码_详解Java注解教程及自定义注解

    详解Java注解教程及自定义注解 更新时间:2016-02-26 11:47:06   作者:佚名   我要评论(0) Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个 ...

  8. MySQL隔离级别--未提交读,提交读,可重复读,序列化--详解(有示例)

    原文网址:MySQL隔离级别--未提交读,提交读,可重复读,序列化--详解(有示例)_IT利刃出鞘的博客-CSDN博客 简介          本文介绍MySQL的事务隔离级别的含义,并用示例说明各个 ...

  9. yolov5——detect.py代码【注释、详解、使用教程】

    yolov5--detect.py代码[注释.详解.使用教程] yolov5--detect.py代码[注释.详解.使用教程] 1. 函数parse_opt() 2. 函数main() 3. 函数ru ...

最新文章

  1. python any()和all()用法
  2. String比较.equals
  3. iactionresult 图片_从显式类型的ASP.NET Core API控制器(不是IActionResult)返回404
  4. macOS下安装dlib踩坑记录
  5. 细节优化提升资源利用率
  6. 【git】【eclipse】免密/SSH 方式连接免登录
  7. Android之在window下面开发常用的adb命令(不断更新)
  8. MySQL数据库安装Version5.7.25
  9. 开发环境很重要,需要学习如何自己搭建开发环境
  10. HDU4628+状态压缩DP
  11. [转]Using TRY...CATCH in Transact-SQL
  12. 这也许是你不曾留意过的 Mybatis 细节 1
  13. vscode终端中文乱码问题的解决方案合集c++
  14. python取余数函数_python中两数相除取余数怎么运算
  15. 网站浏览器可以打开,在微信中打不开,排查问题的过程
  16. 项目实训(十六)FPS游戏之PUN角色位移同步,动画状态同步
  17. 剥洋葱 习题10-8 递归实现顺序输出整数 (15分)
  18. Redis——Redis持久化
  19. STM32G0系列的启动配置与程序下载说明
  20. shell中vi的基本操作及Xshell 常用命令

热门文章

  1. python重要知识点_35个高级Python知识点总结
  2. Mac环境下反编译工具的使用
  3. 商米科技IPO被终止:曾拟募资10亿 蚂蚁集团与小米是股东
  4. 《数学之美(第一版)》笔记整理 —— 目录
  5. Shell编程之概述
  6. VOS 8.05安装及源码
  7. IDEA初学者保存就格式化代码插件save actions
  8. 浅谈医药工业洁净类厂房智能照明设计与选型
  9. git可视化工具gitg和SmartGit
  10. 大数据周会-本周学习内容总结015