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

[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 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曲线。

图片

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

注意

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

更多案例请关注lammps交流站

LAMMPS交流站

  • 2
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
LAMMPS是一款应用广泛的计算分子动力学软件,它可以通过模拟分子间的相互作用,模拟各种物理化学现象,如材料的力学性能、催化性能、热力学性质等。在LAMMPS中,可以通过使用dump命令将模拟的体系输出为.xyz或.lammpstrj等格式的文件。 对于输出的模型文件,提取其轮廓信息是十分必要的。轮廓信息反映了模型的形貌,包括形状、曲率、表面面积等,对于材料科学研究和工程设计具有十分重要的意义。 在LAMMPS中,可以使用VMD等软件对输出的模型文件进行轮廓提取,以下是具体步骤: 1. 将LAMMPS输出的模型文件(如.xyz或.lammpstrj)导入到VMD软件中。 2. 使用VMD的“New Molecule”功能打开模型文件,并选择“Graphics”面板中的“New Representation”。 3. 在“Representation”对话框中,选择“VDW”,并在“Drawing Method”栏中选择“3D Surface”,然后点击“Create Rep”。 4. 出现3D表面图后,右键点击3D表面图,选择“Graphics” > “Materials Browser”。 5. 在“Materials Browser”里,可以设置3D表面图的表面类型、镜面反射率、粗糙度等参数。 6. 在完成3D表面图的设置后,可以通过“File” > “Export Scene”来将其导出为各种格式的文件,如.obj、.stl等。 以上就是在LAMMPS中提取模型轮廓的方法,需要注意的是,在提取模型轮廓时,还需要考虑到模拟精度、网格划分等因素,以保证提取的轮廓信息准确可靠。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值