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

收录于话题#lammps案例16个内容

大家好,小编最近的课题需要输出RDF(径向分布函数),小编就去lammps官网及网络查找了如何用lammps输出RDF,小编就把自己学到的用法在这里跟大家分享,也算是小编学习过程中的一个笔记。

   本教程也是小编现学现卖,不足之处请各位指出,希望能给读者提供一定的帮助,读者可结合实际需求,同时希望专业前辈提出不足,小编会和大家共同学习。

01

RDF介绍

1.径向分布函数概念     

      在统计力学中,多粒子系统(原子、分子、胶体……中, 径向分布函数(又称对关联函数)描述粒子密度作为距参考原子的距离的函数如何变化。

如果给定粒子当做原点,体系平均粒子数密度为 ρ=N/V,则距原点为r处的局部时间平均的密度为 ρ*g(r) 。这是对均匀的各向同性系统的简化定义。

     简言之,这是对于距参考粒子距离为r处找到粒子的相对概率的测量,参考态是理想气体。一般的算法是计算在距参考原子 r 到 r+dr 这样的壳层里有多少粒子。

RDF的定义的定义式如下:

式中,V为系统的个数,N为系统中的粒子数,n(r)为纳米粒子半径dr处厚度下的原子数。

2.径向分布函数意义

     径向分布函数通常用g(r,r')来表示。对于 |r-r'| 比较小的情况,g(r,r') 主要表征的是原子的堆积状况及各个键之间的距离。对于长程的性质,由于对于给定的距离找到原子的几率基本上相同,所以g(r,r')随着|r-r'|的增大而变得平缓,最后趋向于恒值。通常定义 g(r,r')时,归一化的条件为 |r-r'| 趋向于无穷大时,g(r,r') 趋向于一。通常,对于晶体,由于其有序的结构,径向分布函数有长程的峰,而对于非晶物质(amorphous matter),则径向分布函数一般只有短程的峰。

 径向分布函数通常被用来描述原子有序性及描述电子的相关性(指的就是给定一个电子,其他电子在此电子周围出现的几率),也就是在RDF图中,峰所在位置就是电子出现概率大的位置。

02

官网用法

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

compute ID group-ID rdf Nbin itype1 jtype1 itype2 jtype2 ... keyword/value ...fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ...

举例:

compute 1 all rdf 100compute 1 all rdf 100 1 1compute 1 all rdf 100 * 3 cutoff 5.0compute 1 fluid rdf 500 1 1 1 2 2 1 2 2compute 1 fluid rdf 500 1*3 2 5 *10 cutoff 3.

compute rdf命令中,Nbin为统计量(样本量),数越多可能曲线会越光滑(一般200-500);itype1是径向分布函数的中心原子, jtype1是被统计的原子。

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

Nevery

必须是非零。用compute rdf命令时,value1、value2 ... 为c_ID[1],c_ID[2],c_ID[3],输出结果按列依次为序号,c_ID[1]group到原点的距离,即x轴,c_ID[2]g( r )c_ID[3]coor( r ),即 g( r )的积分,也就是输出的数据以c_ID[1]为横轴,以c_ID[2]c_ID[3]为纵轴,就可以得到某一时刻的RDF曲线。

例如以下命令可用于输出每1000步的rdf值,在截断半径范围内,距离被分成200段:

compute rdf 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 vector

03

代码示例

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

compute rdf all rdf 200fix saverdf all ave/time 100 100 10000 c_rdf[1] c_rdf[2] file data.rdf mode vector

完整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
#1.输出rdf
compute rdf all rdf 200
fix saverdf all ave/time 100 100 10000 c_rdf[1] c_rdf[2] file data.rdf mode vector
run             2000unfix   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             500000

    最后,用记事本打开生成的data.rdf文件,用里面的数c_rdf[1] c_rdf[2]绘图,就可以得到如下的RDF曲线。

注意

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

更多案例请关注lammps交流站

LAMMPS交流站

lammps输出RDF(径向分布函数)详解及示例教程相关推荐

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

    [lammps第十五讲]lammps输出MSD(均方根位移)详解及示例教程 原创 一直陪着你的 LAMMPS交流站 2021-10-23 11:45 收录于话题 #lammps21个内容 #lammp ...

  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. 个人前端学习路线图与github优秀前端开发者的路线图推荐
  2. java 反射调用静态方法
  3. AI 时代,如何布局算力基础设施
  4. web系统 手机app 能访问吗?_苹果手机能下载什么好用的桌面便签?有什么好的便签app推荐吗...
  5. python获取字典长度_Python基础-字典
  6. 关于udelay(); mdelay(); ndelay(); msleep();
  7. VS2010 C++ 创建COM组件
  8. 浅析多线程中的各种锁
  9. access的papersize命令_巡检命令及查看参数
  10. Hadoop HIVE 聚合查询
  11. Vue遍历对象,数组,v-if、v-if-else、v-else
  12. java integer源码_Integer包装类源码分析
  13. css颜色跟背景总结(内含实例及截图)
  14. 海南大学考研经验分享之(考研数学)
  15. 苹果电脑计算机找不到打印机,Mac_Mac怎么连接打印机?苹果电脑Mac打印机设置教程 ,Mac怎么连接打印机?Mac打印机 - phpStudy...
  16. 轻松斩断信息安全黑手!就这?
  17. findIndex()
  18. 将yyyyMMdd转成yyyy-MM-dd格式和yyyy-MM-dd格式转成yyyyMMdd
  19. 面试官问了我7个问题,场面一度很尴尬
  20. Bootstrap的工具提示(Tooltip)

热门文章

  1. gurobi和matlab
  2. 设置白名单:让tesseract-OCR只识别指定内容
  3. 我家云刷android系统教程,我家云刷机教程——小白详细版
  4. fiddler--抓包--之数据分析和查看(inspectors)
  5. Flutter 动画学习
  6. SAS Programming for R Users, Part 2 R语言的SAS编程教程,第2部分 Lynda课程中文字幕
  7. 软考电子证书什么时候可以查询?
  8. matlab contourf函数,matlab-colormap-contourf函数
  9. 如何保存和恢复微信、QQ的电脑聊天记录
  10. windows常用端口号,以及服务对应的端口号