LAMMPS软件与分子模拟的实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Lammps常见命令
unit dimension newton 选择单位系统,L-J、real、metal 2D or 3D? 默认是3D
processors
boundary atom style atom modify atom type 告诉lammps在你的模拟中使用何种力场? pair_style, bond_style, angle_style, dihedral_style, improper_style 边界条件:周期性边界or自由边界? 定义你的模拟体系中的原子属性
2. Lammps功能和原理
Lammps初识 Lammps的功能 Lammps的原理 Lammps的特点 Lammps的应用
Lammps初识
Lammps程序是一个经典分子 动力学计算程序。全称 Large-scale Atomic/Molecular Massively Parallel Simulator
3.经典范例
使用L-J势模拟裂纹的扩展 使用EAM势模拟Ni的剪切行为 Cu、Ni等金属的凝固过程模拟 表面能计算
A. 使用L-J势模拟裂纹的扩展
leftupp er 裂纹 uppe r
y
leftlow er x lowe r
Lammps计算输入文件
• # 2d LJ crack simulation(问题的基本初始 化)
Lammps计算输入文件
• • • • • • • • • • • • • • • • # LJ potentials(指定原子作用势) pair_style lj/cut 2.5 #指定lj势,截断半径为2.5 pair_coeff * * 1.0 1.0 2.5 #指定lj势参数 # define groups(便于加载) Region 1 block INF INF INF 1.25 INF INF Group lower region 1 #定义lower组(便于施加外加速度) Region 2 block INF INF 38.75 INF INF INF Group upper region 2 #定义upper组(便于施加外加速度) Group boundary union lower upper #定义总边界组 Group mobile subtract all boundary #定义可动原子组(便于统计温度)
CHARMM
主要针对生物体系,也包含部分化学体系。势能模型更新 很快自定义新模型比较方便。计算效率低。
GROMACS 免费 主要针对生物体系,也适当照顾一般化学体系。算法 好,计算效率高。界面友好,维护服务好。 TINKER 免费 一般性分子动力学软件,对生物体系略有偏重。优点 支持多种模型。仍在开发中,某些方面还不完善。 DL-POLY 一般性分子模拟软件,界面友好,计算效率高。维护 服务很好。 Materials Studio
Lammps计算输入文件
• • • • • • • # run运行计算 timestep 0.003 #时间间隔步 Thermo 200 #每200步输出热动力学统计量 thermo_modify temp new #计算温度通过new指示的方法计算
官方网址: http://lammps.sandia.gov/ 国内交流论坛: http://www.mdbbs.org
Lammps的功能
能(features)
一般意义(并行化,可扩充,脚本化输入,接口化编译) 专门意义(能建模原子类型,有什么力场,有那些原子操 作,如何设置系综/边界/约束,积分方法,输出控制,前 后图形处理,以及具有一些什么特色功能)
• • • • dimension 2 #2维分子动力学模拟 boundary ssp #x,y方向不存在周期边界条件,z方向周期 边界条件。
• atom_style atomic • #原子类型(金属)
Lammps计算输入文件
• # create geometry创建初始几何构形 • • • • • • • • • • • • • • Lattice hex 0.93 #指定晶格类型(二维hex)和晶格常数 Region box block 0 100 0 40 -0.25 0.25 #定义一个区域 create_box 5 box #在指定区域建立一个simulation box,5表示原子类型的种类数 create_atoms 1 box #在simulation box中创建类型为1的原子(原子位置初始化) Mass 1 1.0 Mass 2 1.0 Mass 3 1.0 Mass 4 1.0 Mass 5 1.0 #指定单个原子的质量
补充内容 Lammps与分子动力学
常用模拟软件
Lammps功能和原理 经典范例
1. 常用的MD模拟软件
NAMD:免费
主要针对与生物和化学软材料体系,程序设计水平高,计 算效率高。有很好的分析辅助软件VMD。
AMBER
主要针对生物体系,也适当兼容一般化学分子。有很好的 内置势能模型,自定义新模型和新分子很方便,有很完善 的维护网站。计算效率不高运算速度慢。
Lammps的基本原理
编写、输入模拟程序
运行模拟 输出结果
可视化
结果分析
Lammps输入文件的主要组成部分
Initialization Atom definition Settings Run a simulation
后面的两个部分可以按照需要多次重复。
Lammps软件目前的特点
从势场角度看:建模软物质(生物分子,聚合物),固态 材料(金属,半导体),以及粗粒子和介观材料。更一般 的说是lammps程序是用来建模原子/介观/连续尺度物质以 及其在热、力学、化学条件下的性质的模拟软件,因此是 系统化方法。 Lammps程序运行环境:单CPU和多CPU,采用的是消息 响应和模拟域的空间分解并行机制。 Lammps程序代码共享和模块化设计,具有功能易于扩充 的特性。新版采用C/C++语言书写,周期性发布,以日期 为为准,不断更新一些bug和增加一些功能。脚本语言应 用开发。 美国能源部下属的圣地亚国家实验室发布,主要作者: Steve Plimpton, Aidan Thompson, and Paul Crozier 网上邮件组可以解决和及时交流
• set • set group leftupper type 2 group leftlower type 3
Lammps计算输入文件
• • • • • • • • • • • • • • • • # initial velocities初始化速度 compute new mobile temp #定义温度的计算(可动区域内统计平均) compute new2 mobile stress/atom #定义原子应力的计算(整个区域) Velocity mobile create 0.01 887723 temp new #按指定的温度(0.01)计算方法,初始化原子的速度 Velocity upper set 0.0 0.3 0.0 #upper原子组y方向的速度为0.3 Velocity mobile ramp vy 0.0 0.3 y 1.25 38.75 sum yes #mobile原子的速初始度从0到0.3线性变化 # fixes施加约束 fix 1 all nve #nve系综的积分算法 fix 2 boundary setforce NULL 0.0 0.0 #边界boundary上力条件,钢化原子,便于加载!!
学习一点分子动力学基础
物理学基础:原子论,量子论,简单的数学 材料学基础:结构化材料,晶体理论 统计力学基础:热力学知识,统计分布 专业基础:热流热导分析,应力分析,辐射损伤分析,蛋白质 计算机基础:程序学习和改进,编程和硬件识别
如何利用好Lammps手册?
求人不如求己
准备一份纸版,一份电子版放置在桌面。
LAMMPS 免费 一般性分子模拟软件。 兼容当前大多数的势能模型,编程水平高,计算效率高。可以 模拟软材料和固体物理系统。
Materials Explorer 立足于Windows平台的多功能分子动力学软件。拥有强大的分 子动力学计算及Monte Carlo软件包,是结合应用领域来研究 材料工程的有力工具。Materials Explorer可以用来研究有机物 、高聚物、生物大分子、金属、陶瓷材料、半导体等晶体、非 晶体、溶液,流体,液体和气体相变、膨胀、压缩系数、抗张 强度、缺陷等。Materials Explorer软件中包含2Body,3Body ,EAM,AMBER等63个力场可供用户选择。Materials Explorer软件拥有完美的图形界面,方便使用者操作。
Lammps软件的应用
应用步骤—程序安装
安装平台环境(考虑不同的操作系统,是否并行计算) 简单易行的安装
• Windows下:命令行执行方式 • Linux下:编译选择项 • 几个关键点:编译器的选择;并行库的位置,相关库的位置
应用步骤--实例学习
输入脚本格式书写:3-1节内容,积木式搭建 分块命令学习方法: 几何模型构建:atom_style, boundary, dimension,units create_atoms, create_box, lattice, read_data, read_restart, region, replicate 物理模型构建:angle_coeff, angle_style, bond_coeff, bond_style, dielectric, dihedral_coeff 过程模型构建:Fix:is any operation that is applied to the system during timestepping or minimization. Examples include updating of atom positions and velocities due to time integration, controlling temperature, applying constraint forces to atoms, enforcing boundary conditions, computing diagnostics, etc. 输出模型构建:compute过程计算量,热力学输出量(全局量),局部表征量(单 个原子、组原子)
Lammps软件入门
明确自己的问题和方向,选择正确的工具
要做的是什么问题,属于物理,化学,力学,材料,还是都有? 能否具体到希望要作出什么结果?实验和理论上是否有相似的研 究?再看问题是否适合lammps程序?是否有别的程序可以替代选 择或者联合选择?
计算环境搭建可行Βιβλιοθήκη Baidu分析
现有计算机条件: 硬件水平决定模拟的规模 是否有相关的支持:软件环境 团队学习的重要:交流是非常重要
Lammps计算输入文件
• region leftupper block INF 20 20 INF INF INF • region leftlower block INF 20 INF 20 INF INF • group leftupper region leftupper • group leftlower region leftlower • #定义左上、左下原子组(便于指定裂纹的 存在)
不能(non-features)
- 非图形化界面,不能自动建立分子结构模型和分配力场参 数,不具有复杂的分析的手段,不能可视化输出结果 - 补救:Pizza.py 工具包,用于建模和分析以及可视化,但 是功能不够强大。 - 必须一些其他前后处理软件(几何建模,物理建模,可视 化分析)结合使用,接口方法。
养成良好的学习习惯
几个章节必须看(1-1,2,3;2-2,3,5,6,7;3-1,2,3;4-all) 读做例子有感觉(melt,crack,shear) 错误信息自己找(完美的错误提示信息) 随手整理做记录
命令学习(工具体现)
命令名称:基本上告诉你意义 书写格式:脚本语言的特色 格式选项说明:严格遵守,最好理解含义 范例书写:有助于自己写脚本 注意事项:特别的地方 相关命令:命令分类学习,比如输入有那些方式,势函数定 义有哪几类?