文章目录

  • 1.LAMMPS简介
    • LAMMPS模拟原理
    • LAMMPS软件用途
    • LAMMPS使用流程
  • 2.建模方法以及势参数获取
    • 常见的建模方式
    • 势参数(文件)方法
  • 3.in文件以及示例讲解
    • in文件书写框架
    • 金属Ni的拉伸模拟
    • in文件

1.LAMMPS简介

LAMMPS模拟原理

  • 数值方法求解牛顿方程(牛顿第二定律)
Created with Raphaël 2.3.0开始计算初始化位置和动量设置模拟的边界条件和初始条件能量最小化,几何结构优化设定体系中粒子的初速度解牛顿运动方程,并计算(t+△t)时刻体系中粒子的位置、速度和力体系是否达到平衡计算(t+△t)时间后位置、速度、动量、能量等物理量,并对结果进行统计处理t>max结束yesnoyesno

LAMMPS软件用途

  • 微观结构演化
  • 结构优化
  • 过渡态搜索
  • 热导率计算
  • 形成能计算

LAMMPS使用流程

in.relax  sub_lmp  W_zhou.eam.alloy

  ↓          ↓           ↓
 in文件  任务提交脚本  势文件   模型文件(可有可无)

in.relax  log.lammps  sub_lmp  W.xyz  W_zhou.eam.alloy

              ↓                 ↓
           日志文件          轨迹文件
   in文件:用命令的形式告诉LAMMPS怎么算,算什么,输出什么
   模型文件(可有可无):模拟的初始构型
   势文件(可有可无):帮助LAMMPS计算原子间相互作用力
   日志文件:记录in文件中命令运行情况

2.建模方法以及势参数获取

常见的建模方式

1.使用LAMMPS内置建模命令
2.使用atomsk建模软件
3.其他的建模软件,如PACKMOL、moltemplate、Avogadro获取方法

势参数(文件)方法

1.根据文献在LAMMPS内置文件中查找
2.根据文献自行在网上查找
https://www.ctcms.nist.gov/potentials/
http://cmse.postech.ac.kr/home_2nnmeam
http://apot.mgedata.cn/InteratomicPotentials
3.根据文献自行写代码获取
LAMMPS官方提供,~/lammps/tools/eam_database/create.f
4.发邮件找作者要

3.in文件以及示例讲解

in文件书写框架

描述一套完整的分子动力学流程,观察粒子在合理的物理环境下的演化过程

  • 初始模拟系统设置
  • 初始模型构建(读取模型数据)
  • 定义原子间相互作用势
  • 定义原子/体系某些信息的计算(原子势能…)
  • 定义输出原子(坐标)/体系(热力学)信息
  • 模拟环境设定并运行

金属Ni的拉伸模拟

1.初始模拟系统设置

units              metal
atom_style         atomic
boundary           p p p

2.初始模型构建(读取模型数据)

lattice            fcc 3.52
region             box block 0 10 0 10 0 10
create_box         1 box
create_atoms       1 box

3.定义原子间相互作用势

pair_style         meam/c
pair_coeff         * * library.meam Ni CoNiCrFeMn.meam Ni

4.定义输出原子(坐标)/体系(热力学)信息

thermo             1000
thermo_style       custom step lx ly lz press pxx pyy pzz pe temp
dump               1 all custom 500 Ni.xyz id type x y z

5.模拟环境设定并运行

  • 环境一:npt系综下弛豫

     velocity          all create 300 12345 dist gaussianfix               1 all npt temp 300 300 1 iso 0 0 1 drag 1timestep          0.001run               20000
    
  • 环境二:npt系综下沿x轴拉伸
    unfix              1
    fix                1 all npt temp 300 300 1 y 0 0 1 z 0 0 1 drag 1
    fix                2 all deform 1 x erate 0.01 units box
    run                20000
    

in文件

##调试参数设置为变量
variable a equal 0.3  #定义变量a,值为0.3
variable lat equal 3.52  #定义变量lat,值为3.52
variable bx equal 5  #定义变量bx by bz,值为5
variable by equal 5
variable bz equal 5
variable T equal 300  #定义变量T,值为300
variable s equal 0.01  #定义变量s,值为0.01##模拟条件初始化
units metal  #设置模拟单位为metal单位系统
atom_style atomic  #定义原子样式,atomic样式适用于粗粒液体、固体、金属
boundary p p p  #周期性边界条件,xyz方向
neighbor $a bin  #定义邻居列表的参数,skin超出力界限的额外距离为3,使用binning(箱)构建列表##构建HEA初始模型
lattice fcc ${lat}  #定义FCC晶格,晶胞长度3.52埃
region box block -${bx} ${bx} -${by} ${by} -${bz} ${bz}  #定义名为box块状区域
create_box 1 box  #在box区域创建1个模拟框,1种原子
create_atoms 1 box  #box用晶格上的粒子填充整个模拟盒子,1种原子##定义原子间相互作用势
pair_style meam/c  #使用改进的嵌入原子方法来计算各种材料的非键相互作用
pair_coeff * * library.meam Ni CoNiCrFeMn.meam Ni  #元素库文件library.meam 合金参数文件CoNiCrFeMn.meam##输出热力学信息
thermo 1000  #每1000时间步长输出热力学信息
thermo_style custom step lx ly lz press pxx pyy pzz pe temp  #自定义输出,输出时间步长、xyz方向的盒长、压力、xx和yy和zz方向压力张量、总势能和温度##构建NPT模拟环境
velocity all create $T 12345 mom yes rot no  #所有原子在指定温度T的使用随机种子12345生成速度,速度的线性动量为零,角动量不为零
fix 1 all npt temp $T $T 1 iso 0 0 1 drag 1  #1为指定的修复ID,所有原子保持npt系综,初始温度T,结束温度T,温度阻尼系数为1,初始压力0,结束压力0,压力阻尼系数是1,恒温器/恒压器阻力系数为1##保证弛豫时间足够长
timestep 0.001  #时间步长为0.001皮秒
run 20000  #设置运行20000时间步长## 输出NPT弛豫后体系的长度
variable Ltmp equal lx  #将x方向的盒长设置为变量Ltmp
variable Lini equal v_Ltmp  #将变量Ltmp值赋予变量Lini
print "Initial Length,Lini: ${Lini}"  #输出弛豫后的初始长度##在保持y和z方向压强不变的NPT环境下沿x轴拉伸
unfix 1  #删除先前定义的修复1
fix 1 all npt temp $T $T 1 y 0 0 1 z 0 0 1 drag 1  #1为指定的修复名称,所有原子保持npt系综,初始温度T,结束温度T,温度阻尼系数1,开始y和z方向张量0,结束y和z方向张量0,应力阻尼系数1,恒温器阻力系数为1
fix 2 all defrom 1 x erate $s units box remap x  #2为指定的修复名称,每隔1个时间步长deform更改模拟框的形状,以s的工程应变率改变盒子x方向尺寸(L(t) = L0 (1 + erate*dt)),box使用标准距离单位,remap x强制原子通过与框变形完全匹配的仿射变换进行变形##输出原子坐标信息
dump 1 all custom 500 heas.xyz id type x y z  #1为指定转储名称,每隔500时间步长将所有原子的id、类型、xyz储存到heas.xyz文件中##输出strain-stress数据
variable strain equal (lx-v_Lini)/v_Lini  #定义变量应变
variable stress equal -pxx/10000  #定义变量应力
fix 3 all print 100 "${strain} ${stress}" file strain_stress.txt screen no  #每隔100时间步长在strain_stress.txt中打印应变与应力,并且关闭屏幕的日志输出##run
run 20000  #设置运行20000时间步长##模拟结束
print "All done"

lammps软件介绍与使用相关推荐

  1. 如何熟练掌握分子动力学LAMMPS软件模拟

    随着理论化学及计算机技术的发展,分子模拟技术被越来越多地用来加快科学研究与开发过程.分子动力学模拟方法以统计热力学.分子力学及牛顿力学为基础,对纳观体系的状态与过程进行精细研究,已被广泛用于化学化工. ...

  2. XMOVE3.0手持终端——软件介绍(五):在2KB内存的单片机上实现的T9中文输入法

    编者注: X-MOVE是作者在业余时间于2010年6月份启动的以运动传感开发,算法和应用的平台,目前已经发展了三个版本,第四版的开发接近尾声.发布在博客园仅为交流技术,不存在商业目的,作者保留一切权利 ...

  3. 建模步骤_Revit软件介绍?Revit参数化构件建模步骤

    Revit软件介绍?Revit参数化构件建模步骤!Revit是Autodesk公司旗下一款服务于建筑信息模型(BIM)的软件,旨在帮助使用者设计.建造.维护质量更好.效能更高的建筑.Revit中的所有 ...

  4. 10款屏幕取色器/颜色拾取工具软件介绍及下载地址[转]

    10款屏幕取色器/颜色拾取工具软件介绍及下载地址(附截图) 2009年12月07日 14:13 在做网页设计和程序界面的时候,看到比较喜欢的图片颜色,总是要拾取下来应用到自己的网页或图片的颜色中,但是 ...

  5. python软件界面-python软件界面介绍(python软件介绍)

    python软件界面介绍 1.接口初始化 当我们使用pycharm工具时,我们将遇到的第一个问题是,在进行各种配置后界面变得混乱时,我们该怎么办?我们应该还原,那么如何还原初始设置? 尽管此工具是从e ...

  6. [转]常用OCR软件介绍

    转载出处:http://blog.csdn.net/zhulinu/article/details/9095585 常用OCR软件介绍 1.ABBYY ***ABBYY FineReader 简介:驰 ...

  7. 理正地基基础计算机辅助设计的英文缩写,理正基础CAD软件介绍理正基础CAD软件介绍.pdf...

    理正基础CAD软件介绍理正基础CAD软件介绍 理正基础CAD 软件介绍 北京理正软件设计研究院 华中.华北地区:万涛 联 系 方 式:010 手 机 传 真:010 电 子 信 箱:lizhengwa ...

  8. c++ ftp服务端_FTP客户端软件介绍及使用

    FTP客户端软件介绍及使用 客户端软件: ftp,lftp,lftpget,wget,curl ftp -A ftpserver port -A 主动模式 –p 被动模式 lftp –u userna ...

  9. 神经网络与深度学习——TensorFlow2.0实战(笔记)(二)(Anaconda软件介绍)

    Anaconda软件介绍 Anaconda下载与安装(安装之后会有详细步骤) 下载地址: Anaconda官网 https://www.anaconda.com/distribution/ 清华大学软 ...

  10. mysql-mmm 集群高可用软件介绍

    mysql-mmm 集群高可用软件介绍 MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器)    关于mysql主主复制配置的监 ...

最新文章

  1. SQL中使用WITH AS提高性能-使用公用表表达式(CTE)简化嵌套SQL
  2. php 欺骗提交,欺骗PHP整数
  3. 玩转 Redis 集群之 Sentinel
  4. jdom学习:读取xml文件
  5. SQL应用与开发:(三)数据操作 #183; 改 AND 删
  6. mysql characteristic_MySQL存储过程定义中的特性(characteristic)的含义
  7. Qt学习笔记-带TCP数据传输的局域网聊天软件
  8. linux git ssh_Git年满13岁,可以了解Linux和SSH命令,Python编程等等
  9. Python中如何查看(打印输出)变量的数据类型
  10. [转]VB:如何检测到U盘的插拔(源代码)
  11. Android下播放YUV视频文件
  12. hp1008win7驱动问题
  13. Windows界面编程:MFC
  14. STC单片机代码烧录
  15. 利用DiskGenius对硬盘无损分区大小调整+无损分割新分区。
  16. 微信自定义菜单和个性化菜单添加emoji表情(兼容ios和安卓,防止小方框)
  17. 我学习的三种三栏(左中右)布局方法
  18. linux低级挖矿病毒的查找定位
  19. eNSP实验三:OSPF路由协议
  20. 谷歌牵手265解密:双方将合作推广Adsence

热门文章

  1. 高强度加密vep文件提取MP4方法
  2. java multipy_python multi-thread multi-process
  3. diabetes影响因子2017_2017年SCI影响因子发布,几家欢喜几家愁
  4. LVGL misc tlsf算法(lv_tlsf.c)
  5. java udp发16进制数据_如何通过接口强制发送UDP数据包?
  6. 耗时162天,从华为外包5k转岗正式员工15k,经历的心酸只有自己知道
  7. xp自带打印驱动相关
  8. android 谷歌输入法切换,ANDROID谷歌拼音 输入法肿么切换?
  9. MIUI 12稳定版系统中的开发者选项限制解除
  10. 移动办公正在让电子邮件系统变得更有趣