LAMMPS学习记录
- 格式:docx
- 大小:39.42 KB
- 文档页数:2
等离子体lammps分子动力学固氮引言等离子体是一种高温、高能量的物质状态,由带电粒子和中性粒子组成。
固氮是一种重要的化学反应过程,可以将氮气转化为氨,用于合成肥料和其他化学品。
本文将探讨如何使用LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)分子动力学模拟软件来研究等离子体中的固氮过程。
LAMMPS简介LAMMPS是一款开源的分子动力学模拟软件,可用于模拟原子、分子和固体材料的力学行为。
它使用分子力学方法,通过计算原子之间的相互作用力来模拟物质的行为。
LAMMPS具有高度可扩展性和并行计算能力,可以在多个处理器上运行,以加快计算速度。
等离子体模拟等离子体的特性等离子体是一种带电粒子和中性粒子的混合物,具有以下特性: 1. 高温:等离子体的温度通常非常高,可以达到上千摄氏度。
2. 稀薄:等离子体中的粒子相互之间的距离很大,通常远大于普通气体中的粒子距离。
3. 带电:等离子体中的粒子带有正电荷或负电荷,电荷的大小和符号取决于粒子的类型。
等离子体模拟的挑战等离子体模拟是一项具有挑战性的任务,主要由以下因素造成: 1. 多尺度问题:等离子体中的粒子尺度从纳米到微米不等,需要使用适当的模拟方法来处理不同尺度的粒子。
2. 长程相互作用:等离子体中的粒子之间存在长程库仑相互作用,需要使用适当的截断方法来计算相互作用力。
3. 高温效应:等离子体的高温会导致粒子的运动速度非常快,需要使用小时间步长和高温算法来模拟粒子的行为。
LAMMPS中的等离子体模拟LAMMPS提供了多种模拟等离子体的方法,包括经典分子动力学(MD)方法和粒子-粒子-粒子-网格(PPPM)方法。
下面将介绍如何在LAMMPS中使用MD方法来模拟等离子体固氮过程。
等离子体固氮模拟模拟设置在LAMMPS中模拟等离子体固氮过程,需要进行以下设置: 1. 定义粒子类型:等离子体中的粒子可以分为氮气分子、氢分子和氨分子。
LAMMPS手册-中文解析一、简介本部分大至介绍了LAMMPS的一些功能和缺陷。
1.什么是LAMMPS?LAMMPS是一个经典的分子动力学代码,他可以模拟液体中的粒子,固体和汽体的系综。
他可以采用不同的力场和边界条件来模拟全原子,聚合物,生物,金属,粒状和粗料化体系。
LAMMPS可以计算的体系小至几个粒子,大到上百万甚至是上亿个粒子。
LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的计算效率,但是它是专门为并行计算机设计的。
他可以在任何一个按装了C++编译器和MPI的平台上运算,这其中当然包括分布式和共享式并行机和Beowulf型的集群机。
LAMMPS是一可以修改和扩展的计算程序,比如,可以加上一些新的力场,原子模型,边界条件和诊断功能等。
通常意义上来讲,LAMMPS是根据不同的边界条件和初始条件对通过短程和长程力相互作用的分子,原子和宏观粒子集合对它们的牛顿运动方程进行积分。
高效率计算的LAMMPS通过采用相邻清单来跟踪他们邻近的粒子。
这些清单是根据粒子间的短程互拆力的大小进行优化过的,目的是防止局部粒子密度过高。
在并行机上,LAMMPS采用的是空间分解技术来分配模拟的区域,把整个模拟空间分成较小的三维小空间,其中每一个小空间可以分配在一个处理器上。
各个处理器之间相互通信并且存储每一个小空间边界上的”ghost”原子的信息。
LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高。
2.LAMMPS的功能总体功能:可以串行和并行计算分布式MPI策略模拟空间的分解并行机制开源高移植性C++语言编写MPI和单处理器串行FFT的可选性(自定义)可以方便的为之扩展上新特征和功能只需一个输入脚本就可运行有定义和使用变量和方程完备语法规则在运行过程中循环的控制都有严格的规则只要一个输入脚本试就可以同时实现一个或多个模拟任务粒子和模拟的类型:(atom style命令)原子粗粒化粒子全原子聚合物,有机分子,蛋白质,DNA联合原子聚合物或有机分子金属粒子材料粗粒化介观模型延伸球形与椭圆形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:(命令:pair style, bond style, angle style, dihedral style, improper style, kspace style)对相互作用势:L-J, Buckingham, Morse, Yukawa, soft, class2(COMPASS), tabulated.带点对相互作用势:Coulombic, point-dipole.多体作用势:EAM, Finnis/Sinclair EAM, modified EAM(MEAM), Stillinger-Weber, Tersoff, AIREBO, ReaxFF粗粒化作用势:DPD, GayBerne, Resquared, Colloidal, DLVO介观作用势:granular, Peridynamics键势能:harmonic, FENE, Morse, nonlinear, class2, quartic键角势能:harmonic, CHARMM, cosine, cosine/squared, class2(COMPASS)二面角势能:harmonic, CHARMM, multi-harmonic, helix, OPLS, class2(COMPASS) 不合理势能:harmonic, CVFF, class2(COMPASS)聚合物势能:all-atom, united-atom, bead-spring, breakable水势能:TIP3P,TIP4P,SPC隐式溶剂势能:hydrodynamic lubrication, Debye长程库伦与分散:Ewald, PPPM, Ewald/N(针对长程L-J作用)可以有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场可以采用GPU加速的成对类型杂化势能函数:multiple pair, bond, angle, dihedral, improper potentials(多对势能处于更高的优先级)原子创建:(命令:read_data, lattice, create-atoms, delete-atoms, displace-atoms, replicate)从文件中读入各个原子的坐标在一个或多个晶格中创建原子删除几何或逻辑原子基团复制已存在的原子多次替换原子系综,约束条件,边界条件:(命令:fix)二维和三维体系正角或非正角模拟空间常NVE,NVT,NPT,NPH积分器原子基团与几何区域可选择不同的温度控制器有Nose/Hoover和Berendsen压力控制器来控制体系的压力(任一维度上)模拟合子的变形(扭曲与剪切)简谐(unbrella)束缚力刚体约束摇摆键与键角约束各种边界环境非平行太分子动力学NEMD各种附加边界条件和约束积分器:Velocity-verlet积分器Brown积分器rRESPA继承时间延化积分器刚体积分器共轭梯度或最束下降算法能量最小化器输出:(命令:dump, restart)热力学信息日志原子坐标,速度和其它原子量信息的文本dump文件二进制重启文件各原子量包括:能量,压力,中心对称参数,CAN等用户自定义系统宽度或各原子的计算信息每个原子的时间与空间平均系统宽量的时间平均原子图像,XYZ,XTC,DCD,CFG格式数据的前处理与后处理:包里提供了一系列的前处理与后处理工具另外,可以使用独立发行的工具组pizza.py, 它可以进行LAMMPS模拟的设置,分析,作图和可视化工作。
LAMMPS手册-中文解析一、简介本部分大至介绍了LAMMPS的一些功能和缺陷。
1.什么是LAMM PS?LAMMPS是一个经典的分子动力学代码,他可以模拟液体中的粒子,固体和汽体的系综。
他可以采用不同的力场和边界条件来模拟全原子,聚合物,生物,金属,粒状和粗料化体系。
LAMMPS可以计算的体系小至几个粒子,大到上百万甚至是上亿个粒子。
LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的计算效率,但是它是专门为并行计算机设计的。
他可以在任何一个按装了C++编译器和MPI的平台上运算,这其中当然包括分布式和共享式并行机和B e owulf型的集群机。
LAMMPS是一可以修改和扩展的计算程序,比如,可以加上一些新的力场,原子模型,边界条件和诊断功能等。
通常意义上来讲,LAMMPS是根据不同的边界条件和初始条件对通过短程和长程力相互作用的分子,原子和宏观粒子集合对它们的牛顿运动方程进行积分。
高效率计算的LAMMPS通过采用相邻清单来跟踪他们邻近的粒子。
这些清单是根据粒子间的短程互拆力的大小进行优化过的,目的是防止局部粒子密度过高。
在并行机上,LAMMPS采用的是空间分解技术来分配模拟的区域,把整个模拟空间分成较小的三维小空间,其中每一个小空间可以分配在一个处理器上。
各个处理器之间相互通信并且存储每一个小空间边界上的”ghost”原子的信息。
LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高。
2.LAMMPS的功能总体功能:可以串行和并行计算分布式MPI策略模拟空间的分解并行机制开源高移植性C++语言编写MPI和单处理器串行FFT的可选性(自定义)可以方便的为之扩展上新特征和功能只需一个输入脚本就可运行有定义和使用变量和方程完备语法规则在运行过程中循环的控制都有严格的规则只要一个输入脚本试就可以同时实现一个或多个模拟任务粒子和模拟的类型:(atom style命令)原子粗粒化粒子全原子聚合物,有机分子,蛋白质,DNA联合原子聚合物或有机分子金属粒子材料粗粒化介观模型延伸球形与椭圆形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:(命令:pair style, bond style, angle style, dihedral style, improper style, kspacestyle)对相互作用势:L-J, Bucking ham, Morse, Yukawa, soft, class2(COMPASS), tabulat ed.带点对相互作用势:Coulombi c, point-dipole.多体作用势:EAM, Finnis/Sinclai r EAM, modifie d EAM(MEAM), Stillin g er-Weber, Tersoff, AIREBO, ReaxFF粗粒化作用势:D PD, GayBern e, Resquar ed, Colloid al, DLVO介观作用势:granula r, Peridyn amics键势能:harmoni c, FENE, Morse, nonlinear, class2, quartic键角势能:harmoni c, CHARMM, cosine, cosine/squared, class2(COMPASS)二面角势能:harmoni c, CHARMM, multi-harmoni c, helix, OPLS, class2(COMPASS)不合理势能:harmoni c, CVFF, class2(COMPASS)聚合物势能:all-atom, united-atom, bead-spring, breakabl e水势能:TIP3P,TIP4P,SPC隐式溶剂势能:h y drody n amiclubrication, Debye长程库伦与分散:Ewald, PPPM, Ewald/N(针对长程L-J作用)可以有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场可以采用GPU加速的成对类型杂化势能函数:m ultipl e pair, bond, angle, dihedral, imprope r potenti als(多对势能处于更高的优先级)原子创建:(命令:read_da ta, lattice, create-atoms, delete-atoms, displac e-atoms, replica te)从文件中读入各个原子的坐标在一个或多个晶格中创建原子删除几何或逻辑原子基团复制已存在的原子多次替换原子系综,约束条件,边界条件:(命令:fix)二维和三维体系正角或非正角模拟空间常NVE,NVT,NPT,NPH积分器原子基团与几何区域可选择不同的温度控制器有Nose/Hoover和Berend sen压力控制器来控制体系的压力(任一维度上)模拟合子的变形(扭曲与剪切)简谐(unbrell a)束缚力刚体约束摇摆键与键角约束各种边界环境非平行太分子动力学NEMD各种附加边界条件和约束积分器:Velocit y-verlet积分器Brown积分器rRESPA继承时间延化积分器刚体积分器共轭梯度或最束下降算法能量最小化器输出:(命令:dump, restart)热力学信息日志原子坐标,速度和其它原子量信息的文本dump文件二进制重启文件各原子量包括:能量,压力,中心对称参数,CAN等用户自定义系统宽度或各原子的计算信息每个原子的时间与空间平均系统宽量的时间平均原子图像,XYZ,XTC,DCD,CFG格式数据的前处理与后处理:包里提供了一系列的前处理与后处理工具另外,可以使用独立发行的工具组p i zza.py, 它可以进行LAMMPS模拟的设置,分析,作图和可视化工作。
LAMMPS分子动力学模拟技术与应用课程内容一、LAMMPS基础1分子动力学模拟入门理论——掌握lammps的in文件中各命令的意义1.1系综理论1.2主要算法介绍1.3积分步长的选取1.4温度和压力控制1.5周期性边界条件1.6分子动力学模拟流程二、LAMMPS入门学习2LAMMPS入门操作基础2.1Linux命令入门基础——熟练掌握LAMMPS所用的Linux命令2.2LAMMPS中一些安装包的介绍——为以后创建自己体系进行选择性安装2.3LAMMPS的linux版串行和并行及GPU版编译安装——掌握LAMMPS的编译方法,针对自己体系编译可执行文件。
2.4LAMMPS的in文件结构格式、基本语法及常用命令讲解、data文件格式。
2.5LAMMPS实例讲解。
实例操作:在linux系统编译安装自己的LAMMPS可执行程序。
三、LAMMPS进阶学习MMPS各种参数计算3.1颗粒模拟3.2可视化快照3.3弹性常数模拟3.4计算热导率3.5计算粘度3.6计算均方位移3.7计算径向分布函数3.8计算扩散系数3.9计算能量数据3.10Lammps常见错误及解决途径实例操作:学员结合自己的科研方向,选择运行契合自己研究方向的例子四、Lammps的建模4LAMMPS建模——掌握基本操作流程4.1掌握lattice命令建立晶体模型4.2Packmol建模语法学习及实操4.3Material Studio建模学习及实操4.4VMD建模学习及实操实例操作:把上述实操模型转换成lammps的data文件五、从examples的简单例子,到完成自己的科研课题5通过examples中的例子,理解要模拟对象的物理意义5.1运行examples\flow到建立水分子在石墨烯片层(碳纳米管)内的流动模拟5.2运行examples\shear到石墨烯力学性质模拟5.3运行examples\friction到金属/合金的摩擦模拟5.4特殊结构的模拟建模(C60系列模型)实例操作:学员探索由简单例子到自己科研课题的模拟过程六、环氧树脂在二氧化硅表面吸附建模(CVFF力场)6环氧树脂在二氧化硅表面吸附吸能的影响模拟过程6.1创建构型文件6.2建立输入脚本6.3运行能量最小化及体系的预松弛6.4压缩盒子达到指定的密度(针对不同研究体系掌握压缩方法的不同,并掌握判断方法和依据)6.5模拟步骤:包括能量最小化-NVT 平衡-NPT 平衡-对研究目标的性质进行长时间轨迹平衡-输出研究所关心的性质。
lammps学习指南(可编辑修改word版)温馨提示:(1)点击标题可直接到相关的“章节”。
(2)为避免混淆,上面的各“章”,在本文中用“步骤2”、“步骤5”这样的词代指;而文中其它地方出现的“章节”是指lammps 手册中的章节。
(3)文中跟某些名词相关的网页已加注超链接,直接点击可浏览该页面以获得更详尽的信息。
0. 写在最开始的话从2007 年5 月初开始接触和学习lammps,时至今日,依然对lammps 存有很多疑惑。
如同一个刚入门的工匠面对着一台功能强大的复杂机器,不知所措。
虽然还有好多好多的东西要学习,但是也已经了解了一些最最基本的东西了。
我可以去帮助那些刚刚入门的人,正如我刚刚开始学习lammps 时诸位热心网友对我的帮助。
现在,我写一写自己知道的东西,希望对lammps 的新手有所帮助,不当之处,真诚地希望各位读者多多指正。
我写的这点儿东西,使用者仅限于使用lammps 的新手,而且里面只讲到了ubuntu 下编译lammps 的单机版,没有涉及并行版的编译。
我希望这个“指南”会帮他们更快地了解和学习lammps。
如果你已经在使用lammps 了,我觉得这个“指南”是不会对你有什么帮助的。
不过,对于高手来说,如果你有时间,我还是希望你能看完这篇,因为我接触lammps 和MD 的时间都不长,我怕我的某些错误会误导新手。
所以,希望大家一起努力,完善这个指南。
对这个“指南”有任何的建议,请联系我,联系方式如下:QQ: 365449075Email: wfc@/doc/8815552588.html,另外,我只把这篇文章放在这个由学校提供的个人网页空间。
之前QQ 空间的那篇文章,因为对其内容改动较大,故我已将其删除。
我并不反对转载,(先自我陶醉一下下,可是会有吗?呵呵)但是转载之前,请注意:(1)文章中的一些表述我尚不肯定正确与否。
所以转载之前,请你负责任地认真读完这篇文章并确认你是否认可我的表述。
Cygwin 下安装lammps 记录前言1. 什么是cygwinCygwin是一个在window下虚拟linux环境的系统,对了,不是虚拟,应该是在windows下编译linux环境。
2. 什么是lammps一款经典分子动力学软件,网址:一、下载安装cygwin1. 到cygwin官网下载setup程序,. 有32位和64位两个版本。
2. 运行setup-x86_64.exe, 选择安装目的目录和安装文件下载目录。
3. 选择中国镜像,推荐163的。
4. 注意将gcc、fortran、make、diffutils等编译所需要系统安装。
5. 经过漫长的下载和安装后,机器上有了一个cygwin64的图标,运行后出现一个linux窗口二、安装fftw(以3.2.2为例,安装目的为/home/FFTW322)1. 下载源程序fftw-3.2.2.tar.gz2. tar xzfv fftw-3.2.2.tar.gz3. cd fftw-3.2.24. ./configure --prefix=/home/FFTW322 –enable-shared5. make6. make installFftw3.2.2 有误,安装fftw2. ./configure --prefix=/home/FFTW322 –build=x86_64 –enable-shared三、安装mpich(以mpich2-1.3p1为例,安装目的为/home/MPICH2)1. 下载源程序mpich2-1.3.2p1.tar.gz2. tar zxfv mpich2-1.3.2p1.tar.gz3. cd mpich2-1.3.2p14. ./configure --prefix=/home/MPICH25. make6. make install四、安装voro++(如果需要)1. 下载源程序/voro++/download/2. tar zxfv voro++-0.4.6.tar.gz3. cd voro++0.4.64. vi config.mkPREFIX=/usr/local 改为PREFIX=/home/voro++5. make6. make install五、安装JPEG(如果需要)1. 下载源程序2. tar zxfv jpegsrc.v8c.tar.gz3. cd jpeg-8c4. ./configure –prefix=/home/JPEG5. make6. make install六、安装lammps(meam-voro++-)1. 下载源程序/download.html2. tar zxfv lammps_stable.tar.gz3. cd lammps-1Feb144. 编译其它库Cd lib/meammake -f Makefile.gfortrancd colvarsmake -f Makefile.g++cd poemsmake -f Makefile.g++cd reaxmake -f Makefile.gfortrancd src/VORONOIvi mmps5. 修改lammps安装文件Cd src/MAKEVi Makefile.cygwin。
lammps学习L-J势函数涉及各物理量单位体制.docLJ势函数单位体制Thelj/cutstyles compute the standard 12/6 Lennard-Jones potential, given byE⼆4rf(-)12 -(-)6]r < q r r cRc is the cutoff.units ljFor stylelj, all quantities are unitless. Without loss of generality, LAMMPS sets the fundamental quantitiesmass, sigma, epsilon, and the Boltzmann constant = 1. The masses, distances, energies you specify aremultiples of these fundamental values?The formulas relating the reduced or unitless quantity (with anasterisk) to the same quantity with units is also given. Thus you can use the mass & sigma & epsilon valuesfor a specific material and convert the results from a unitless LJ simulation into physical quantities.mass = mass or m ?distance = sigma, where x* ⼆x / sigma ? time = tau, where t* = t (epsilon / m/ sigma A2)A l/2 ? energy = epsilon, where E* ⼆E / epsilon ? velocity = sigma/tau, where v* = v tau / sigma ? force = epsilon/sigma, where f* ⼆f sigma / epsilon ? torque (⼒矩)=epsilon, where t* = t / epsilon ?temperature = reduced LJ temperature, where T* = T K b / epsilon ?pressure = reduced LJ pressure, where P* ⼆P sigma A3 / epsilon ?dynamic viscosity = reduced LJ viscosity, where eta* = eta sigma A3 / epsilon / taucharge = reduced LJ charge, where q* = q / (4 pi permO sigma epsilon)A1/2dipole = reduced LJ dipole, moment where *mu ⼆mu / (4 pi permO sigma A3 epsilon)A l/2electric field = force/charge, where E* ⼆E (4 pi permO sigma epsilon)A l/2 sigma / epsilondensity = mass/volume, where rho* = rho sigma A dimLamps中的LJ单位问题LJ单位mass: =2.43x10 *kg,即[mass 相当于2-43x10 8kgsigma:=lxl0_5m ,即1 sigma 相当于lxl(T5mepsilon:=8.41xlO'l3N-m ,即1 epsilon 相当于8.41xlO_13N m那么根据manual⾥⾯的dipole的解释,即:dipole = reduced LJ dipole, moment where *mu = mu / (4 pi permO sigma A3 epsilon)A l/2所以1 dipole 相当于(4 pi permO sigma A3 epsilon)A l/2即.y]47rx/?(?n/7Ox(lxlO~5m)3x8.41xlO_13N m根据您的解释,这⾥的pennO应该也是⼀个约化单位,即permO=l,但在计算的过程中要转化成实际单位,故应该此处的permO = --- ---- 74^X10-7N/A2,也只有这样,dipole的量纲分析才正确。
LAMMPS手册-中文解析一、简介本部分大至介绍了LAMMPS的一些功能和缺陷。
1.什么是LAMMPS?LAMMPS是一个经典的分子动力学代码,他可以模拟液体中的粒子,固体和汽体的系综.他可以采用不同的力场和边界条件来模拟全原子,聚合物,生物,金属,粒状和粗料化体系。
LAMMPS可以计算的体系小至几个粒子,大到上百万甚至是上亿个粒子.LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的计算效率,但是它是专门为并行计算机设计的。
他可以在任何一个按装了C++编译器和MPI的平台上运算,这其中当然包括分布式和共享式并行机和Beowulf型的集群机.LAMMPS是一可以修改和扩展的计算程序,比如,可以加上一些新的力场,原子模型,边界条件和诊断功能等。
通常意义上来讲,LAMMPS是根据不同的边界条件和初始条件对通过短程和长程力相互作用的分子,原子和宏观粒子集合对它们的牛顿运动方程进行积分。
高效率计算的LAMMPS通过采用相邻清单来跟踪他们邻近的粒子。
这些清单是根据粒子间的短程互拆力的大小进行优化过的,目的是防止局部粒子密度过高。
在并行机上,LAMMPS采用的是空间分解技术来分配模拟的区域,把整个模拟空间分成较小的三维小空间,其中每一个小空间可以分配在一个处理器上。
各个处理器之间相互通信并且存储每一个小空间边界上的"ghost”原子的信息。
LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高。
2.LAMMPS的功能总体功能:可以串行和并行计算分布式MPI策略模拟空间的分解并行机制开源高移植性C++语言编写MPI和单处理器串行FFT的可选性(自定义)可以方便的为之扩展上新特征和功能只需一个输入脚本就可运行有定义和使用变量和方程完备语法规则在运行过程中循环的控制都有严格的规则只要一个输入脚本试就可以同时实现一个或多个模拟任务粒子和模拟的类型:(atom style命令)原子粗粒化粒子全原子聚合物,有机分子,蛋白质,DNA联合原子聚合物或有机分子金属粒子材料粗粒化介观模型延伸球形与椭圆形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:(命令:pair style,bond style,angle style, dihedral style,improper style, kspace style) 对相互作用势:L—J, Buckingham,Morse, Yukawa,soft, class2(COMPASS), tabulated.带点对相互作用势:Coulombic, point—dipole.多体作用势:EAM,Finnis/Sinclair EAM, modified EAM(MEAM), Stillinger-Weber, Tersoff, AIREBO, ReaxFF粗粒化作用势:DPD, GayBerne, Resquared,Colloidal, DLVO介观作用势:granular, Peridynamics键势能:harmonic,FENE, Morse,nonlinear,class2, quartic键角势能:harmonic, CHARMM, cosine,cosine/squared,class2(COMPASS)二面角势能:harmonic, CHARMM, multi-harmonic,helix, OPLS, class2(COMPASS) 不合理势能:harmonic,CVFF, class2(COMPASS)聚合物势能:all-atom, united—atom, bead—spring, breakable水势能:TIP3P,TIP4P,SPC隐式溶剂势能:hydrodynamic lubrication, Debye长程库伦与分散:Ewald, PPPM,Ewald/N(针对长程L-J作用)可以有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场可以采用GPU加速的成对类型杂化势能函数:multiple pair, bond,angle, dihedral,improper potentials(多对势能处于更高的优先级)原子创建:(命令:read_data, lattice, create-atoms,delete-atoms, displace—atoms,replicate)从文件中读入各个原子的坐标在一个或多个晶格中创建原子删除几何或逻辑原子基团复制已存在的原子多次替换原子系综,约束条件,边界条件:(命令:fix)二维和三维体系正角或非正角模拟空间常NVE,NVT,NPT,NPH积分器原子基团与几何区域可选择不同的温度控制器有Nose/Hoover和Berendsen压力控制器来控制体系的压力(任一维度上)模拟合子的变形(扭曲与剪切)简谐(unbrella)束缚力刚体约束摇摆键与键角约束各种边界环境非平行太分子动力学NEMD各种附加边界条件和约束积分器:Velocity-verlet积分器Brown积分器rRESPA继承时间延化积分器刚体积分器共轭梯度或最束下降算法能量最小化器输出:(命令:dump, restart)热力学信息日志原子坐标,速度和其它原子量信息的文本dump文件二进制重启文件各原子量包括:能量,压力,中心对称参数,CAN等用户自定义系统宽度或各原子的计算信息每个原子的时间与空间平均系统宽量的时间平均原子图像,XYZ,XTC,DCD,CFG格式数据的前处理与后处理:包里提供了一系列的前处理与后处理工具另外,可以使用独立发行的工具组pizza。
LAMMPS手册-中文解析之五兆芳芳创作一、简介本部分大至介绍了LAMMPS的一些功效和缺陷.1.什么是LAMMPS?LAMMPS是一个经典的份子动力学代码,他可以模拟液体中的粒子,固体和汽体的系综.他可以采取不合的力场和鸿沟条件来模拟全原子,聚合物,生物,金属,粒状和粗料化体系.LAMMPS 可以计较的体系小至几个粒子,大到上百万甚至是上亿个粒子.LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的计较效率,但是它是专门为并行计较机设计的.他可以在任何一个按装了C++编译器和MPI的平台上运算,这其中当然包含散布式和同享式并行机和Beowulf型的集群机.LAMMPS是一可以修改和扩展的计较程序,比方,可以加上一些新的力场,原子模型,鸿沟条件和诊断功效等.通常意义上来讲,LAMMPS是按照不合的鸿沟条件和初始条件对通太短程和长程力相互作用的份子,原子和宏不雅粒子荟萃对它们的牛顿运动方程进行积分.高效率计较的LAMMPS通过采取相邻清单来跟踪他们邻近的粒子.这些清单是按照粒子间的短程互拆力的大小进行优化过的,目的是避免局部粒子密度太高.在并行机上,LAMMPS采取的是空间分化技巧来分派模拟的区域,把整个模拟空间分红较小的三维小空间,其中每一个小空间可以分派在一个处理器上.各个处理器之间相互通信并且存储每一个小空间鸿沟上的”ghost”原子的信息.LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高.2.LAMMPS的功效总体功效:可以串行和并行计较散布式MPI战略模拟空间的分化并行机制开源高移植性C++语言编写MPI和单处理器串行FFT的可选性(自定义)可以便利的为之扩展上新特征和功效只需一个输入脚本就可运行有定义和使用变量和方程完备语律例则在运行进程中循环的控制都有严格的法则只要一个输入脚本试就可以同时实现一个或多个模拟任务粒子和模拟的类型:(atom style命令)原子粗粒化粒子全原子聚合物,有机份子,蛋白质,DNA联合原子聚合物或有机份子金属粒子资料粗粒化介不雅模型延伸球形与椭圆形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:(命令:pair style, bond style, angle style, dihedral style, improper style, kspace style)对相互作用势:L-J, Buckingham, Morse, Yukawa, soft, class2(COMPASS), tabulated.带点对相互作用势:Coulombic, point-dipole.多体作用势:EAM, Finnis/Sinclair EAM, modified EAM(MEAM), Stillinger-Weber, Tersoff, AIREBO, ReaxFF 粗粒化作用势:DPD, GayBerne, Resquared, Colloidal, DLVO介不雅作用势:granular, Peridynamics键势能:harmonic, FENE, Morse, nonlinear, class2, quartic键角势能:harmonic, CHARMM, cosine, cosine/squared, class2(COMPASS)二面角势能:harmonic, CHARMM, multi-harmonic, helix, OPLS, class2(COMPASS)不合理势能:harmonic, CVFF, class2(COMPASS)聚合物势能:all-atom, united-atom, bead-spring, breakable水势能:TIP3P,TIP4P,SPC隐式溶剂势能:hydrodynamic lubrication, Debye长程库伦与分离:Ewald, PPPM, Ewald/N(针对长程L-J作用)可以有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场可以采取GPU加快的成对类型杂化势能函数:multiple pair, bond, angle, dihedral, improper potentials(多对势能处于更高的优先级)原子创建:(命令:read_data, lattice, create-atoms, delete-atoms, displace-atoms, replicate)从文件中读入各个原子的坐标在一个或多个晶格中创建原子删除几何或逻辑原子基团复制已存在的原子多次替换原子系综,约束条件,鸿沟条件:(命令:fix)二维和三维体系正角或非正角模拟空间常NVE,NVT,NPT,NPH积分器原子基团与几何区域可选择不合的温度控制器有Nose/Hoover和Berendsen压力控制器来控制体系的压力(任一维度上)模拟合子的变形(扭曲与剪切)简谐(unbrella)束缚力刚体约束摇摆键与键角约束各类鸿沟情况非平行太份子动力学NEMD各类附加鸿沟条件和约束积分器:Velocity-verlet积分器Brown积分器rRESPA承继时间延化积分器刚体积分器共轭梯度或最束下降算法能量最小化器输出:(命令:dump, restart)热力学信息日志原子坐标,速度和其它原子量信息的文本dump文件二进制重启文件各原子量包含:能量,压力,中心对称参数,CAN等用户自定义系统宽度或各原子的计较信息每个原子的时间与空间平均系统宽量的时间平均原子图像,XYZ,XTC,DCD,CFG格局数据的前处理与后处理:包里提供了一系列的前处理与后处理东西另外,可以使用独立刊行的东西组pizza.py, 它可以进行LAMMPS模拟的设置,阐发,作图和可视化任务.特别功效:实时的可视化与交互式MD模拟与有限元办法结合进行原子-连续体模拟在POEMS库中提供了刚体积分东西并行裉火并行复制动力学对低密度液体直接使用MC模拟Peridynamic介不雅建模目标型与无目标型份子动力学双温度电子模型LAMMPS不具备的功效:由于LAMMPS是对牛顿运动方程积分的东西,所以良多需要的数据前处理与后处理功效是LAMMPS焦点不具备的.其原因为:包管LAMMPS的小巧性前处理与后处理不克不及进行并交运算这些功效可以有其它东西来完成原代码开发的局限性特别地,LAMMPS不克不及:通过图形用户界面来任务创建份子体系自动的加上力场系数为MD模拟提供智能化的数据阐发MD的可视化为输出数据作图我们需要为LAMMPS输入一系列的原子类型,原子坐标,份子拓朴信息和所有原子与键的力场参数.LAMMPS不会自动的为我们创建份子体系与力场参数.对与原子体系,LAMMPS提供了creat-atoms命令来为固态晶格加上原子.可以能过pair coeff,bond coeff, angle coeff等命来加上小数目的力场参数.对于份子体系或更庞杂的模拟体系,我们通常会用其它东西来创建或是转换LAMMPS输出文件来做到这些事情.有的还会写一些自已的代码来完成这项任务.对于一个庞杂的份子体系(如,蛋白质),我们需要为之提供上面个拓朴信息与力场参数.所以我们建议用CHARMM或AMBER或其它的份子建模器来完成这些任务,并把之输到一个文件中去.然后,改动其格局以达到LAMMPS所允许的输入格局.同样,LAMMPS的输出文件是一种复杂的文本格局,我们也可以通过其它的东西来换专这些格局.我们可以用以下几个软件来完成高质量的可视任务:VMDAtomEyePymolRaster3dRasMol最后要说一下的是,以下这些也是自由份子动力学包,它们大多数是并行的,可能也适合来完成你的研究任务,当然也可以与LAMMPS联合起来使用以完成模拟任务.CHARMMAMBERNAMDNWCHEMDL_POLYTinkerCHARMM,AMBER,NAMD,NWCHEM,Tinker是专们用于模拟生物份子的.二、开始本部分主要描述如何创建和运行LAMMPS.1.在LAMMPS刊行包理含有:READMELICENSEBench:测式任务Doc:文本Examples:复杂的测试任务Potentials:嵌入原子办法与力场文件Src:源代码Tools: 前处理与后处理东西假设你下载的是windows可执行文件的话,你里面只有一个文件(并行与非并行两种)L2. 编译LAMMPS之前的任务:编译LAMMPS不是一个繁琐的任务.首先你可能要写一个makefile文件,里面要选择编译器,附加的一些将要用到的库等.事先装上MPI或FFT等库.编译出一个可执行LAMMPS:在SRC目录里头含有C++源文件和头文件.当然也包含一个高水平的Makefile,在MAKE目录里头有几个低水平的Makefile.*files辨别适有不合的平台.进入SRC目录,输入make或gmake,你将会看到一列的可选项.假设其中有一种合适你的机械,你可以输入像下面一样的命令:Make linuxGmake mac注意,在一个多处理器或多核处理器的平台上你可以进行平行编译,在make命令中使用“-j”选项就可以,这样编译起来会更快一些.在此进程中不产生错误的话,你可以得到一个类似于lmp-linux的可执行文件.在编译进程当中将会产生的罕有错误:(1)如果编译进程当中产生错误,并提示不克不及找到一个含有通配符*为名的文件的话,说明你机械上的make器允许makefile中使用通配符.那就偿式使用gmake.如还不成的话,就试试参加-f选项,用Makefile.list作为make对像.如:Make makelistMake –f makefile.list linuxGmake –f makefile.lst mac(2)当你使用低水平的makefile时,可能由于对机械的设置不正确,会导致一些错误.假设你的平台叫“foo”,的话,你将要在MAKE目录中创建一个Makefile.foo.使用任何一个与你机械相近的文件作为开始总是一个不错的选择.(3)如你在链接的时候出现库丢失或少了依赖关系的话,可能是由于:你编译的包需要一个附加的库,但却没有事先编译需要的package libaray.你要链接的库在你的系统中不存在.没有连接到需要的系统库后两种问题出现,你就需要修改你的低水平makefile.foo.编辑一个新的低水平makefile.foo:(1)在#后的句子中,替换foo,不管你写成什么,这一即将会出现在屏幕上,如果你只输入make命令的话.(2)在“complier/linker settings”部分为你的C++编译器列出编译器与链接器的设置,包含优化符号.你可以在任何UNIX系统中使用G++编译器.当然你也可以用MPICC,如果你的系统中装置了MPI的话.如过在编译进程当中需要符加的库的话,你必须在LIB变量中列出来.DEPFLAGS设置可以让C++编译器创建一个源文件的依赖关系列表,当源文件或头文件改动的时候可以放慢编译速度.有些编译器不克不及创建依赖关系列表,或你可以用选项—D来实现.G++可以使用-D.如果你的编译器不克不及创建依赖关系文件的话,那么你就需要创建一个Makefile.foo来与Makefile.storm(它用一系列的不需要依赖文件的计划)相对应.(3)“system-specific settings”部分有四个小部分:A LMP—INC变量,包含一些与系统相关的条件选项.B 3个MPI变量用于指定MPI库.如你要进行并行计较的话,那么你必须在你的平台上安上MPI 库.如你想用MPI内置C++编译器的话,你可以让这三个变量空着,如你不必MPICC的话,那么,你要指定MPI.h(MPI_INC)文件在哪,MPI(MPI_PATH)库在哪,还有库名(MPI_LIB).如果你想自已装置MPI的话,我们建议用MPICH1.2或M MPI也可以.如果我的是大平始的话,你的供给商已经为你装上了MPI,其可能比MPICH或LAM更快,你可以把找出来并与之链接.如你用LAM或MPICH,你必须要设置他并编译他使之适合你的平台.如果你想在单处理器的机械上运行的话,你可以用STIBS库,这样你就可以不必在你的系统中装置MPI库.防照makefile.serial,看是如果设置这三个变量的.当然你在编译LAMMPS之前你必须创建STUBS库.在STUBS目录中,输入make,不出错的话你将会得到一个libmpi.a文件可供链接到LAMMPS.当出错,你则要修改STUBS下的MAKEFILE. STUBS/MPI.CPP有一个CPU计时器MPI_Wtime()可以调用gettimeofday(). 如你的系统不支持gettimeofday(),则你就要拔出一句代码来调用另一个计时器,要注意的是,clock()函数在一个小时之后会归0,所以对于一个长时间的LAMMPS模拟来说这是不敷用的.C FTT变量用于指定FFT库,当要用到kspace-style命令来计较长程库伦作用时使用PPPM选项时要用到.要使用此选项,你必须要在你的机械上装置一个一维的FFT库.可以能过开关—DFFT—XXX来指定,其中XXX=INTEL,DEC,SGI,SCSL,或FFTW.没有办法的情况下可以用供给商提供的库.FFTW是一个快速的,可移植性的库,它可以在任何一个平台上运行.最好 2.1.X本.编译FFTW库时只要用./configure;make就可以.不任你是用哪一种FFT库,你都要在makefile.foo中正确的设置咱们的FFT_INC,FFT_PATH,FFT_LIB.当然,你如果不必PPPM的话,你将没有需要装置FFT库.这种情况下,你可以把FFT_INC设成-DFFT-NONE并让其它几个变量空着.你也可以在编译LAMMPS时把KSPACE包剔除.D 几个SYSLIB和SYSPATH变量你可以疏忽,除非你在编译LAMMPS时其中有一个或几个包要用到附加的系统库.所有这些包都的的名称都将会是SYSLIB和SYSPATH变量的前辍.SYSLIB变量将列出系统库.SYSPATH则是路径,只有当这些库为非默认路径时才有设定.最后,当你正确的写好了makefile.foo和预编译好了所有的其它库(MPI,FFT,包库等)之后,你只要在SRC目录下输入下面其中一个命令就可以了Make fooGmake foo不出意外,你将会得到lmp_foo的可执行文件.附加建义(1)为多平台编译LAMMPS你可以在同一个SRC目录下为多平台编译LAMMPS.每一个目标都有他自已的目标路径,Obj_name 用于存贮指定系统的目标文件.(2)清理输入make clear-all或make clean-foo将会清理LAMMPS在编译时创建的目标文件.(3)为windows编译LAMMPS在LAMMPS下载页面上可以下载已经编译好了的windows可执行文件.如已经编译好了的windows可执行文件不克不及满足你的要求的时候,你可以在windows平台上从源文件编译LAMMPS.但是不建义这么做.见./src/MAKE/Windows.3 如何有选择性的编译LAMMPS参加/剔除包在LAMMPS编译之前可以参加或剔除所有或部分包.只有两种况下是列外,GPU和OPT包.这此包中相互联系关系的包必须包含在一起.如果不是这样,那么在GPU和OPT子目录下的所有包都不克不及装置.要装置GPU包里的全部文件,asphere包须装置.要装置OPT下的所有文件,那么kspace与manybody包须首先装置.当然,由于某些模拟用不到其中的某些包,那么你想把这些包剔除这是可以的.这样你就可以不必编译一些额定的库,当然你的可执行文件也将会更小,运行起来也会更快.默认情况下,LAMMPS只包含kspace,manybody,molecule这三个包.可以通过如make yes-name, make no-name来参加和剔除一些包,当然你也可以用make yes-standard, make no-standard,make yes –user, make no-user, make yes-all, make no-all参加或剔除各类包.Make package可以看到多个选项.3 运行LAMMPS。
1、时间单位
1s=103ms=106μs=109ns=1012ps=1015fs
2、如何运行
开始-运行-cmd-输入“e:”回车,输入“cd lammps”直至找到可执行文件的位置,输入“lmp_win_no-mpi –in in.colloid”就可以计算了(新版本可能可执行文件的名称不一样了)。
MMPS的程序可以分为4个部分
Input script structure
A LAMMPS input script typically has 4 parts:
1. Initialization
2. Atom definition
3. Settings
4. Run a simulation
后面的两个根据需要可以重复多次.
4.系综的分类
NVE,微正则系综,具有相同的化学组成、体积、总能量的热力学体系的集合。
粒子数N,温度T,体积V都相同的孤立热力学体系组成的系综称为微正则系综。
微正则系综必须是孤立的,与外界没有任何物质和能量的交换,其容器也必须刚性,没有任何体积变化。
NVT,正则系综,具有相同化学组成、体积、温度的热力学体系的集合。
粒子数N,温度T,体积V都相同的热力学体系组成的系综称为正则系综。
正则系综必须处在刚性容器之中,没有任何体积变化,与环境之间也没有物质交换。
正则系综热力学体系的总能量是变化的,不是固定的。
NPT,具有相同化学组成、压力、温度的热力学体系的集合。
体系的压力固定或几乎固定,体系的体积却可以自由变化。
是化学中最常用的系综。
巨正则系综是温度T,体积V,化学势μ都相同的热力学体系的集合。
巨正则系综体系也可理解为一个巨大的孤立体系中的一小部分,这一小部分与其他部分之间存在充分的物质和能量交换。
5.对一些命令的学习记录
LAMMPS中的许多操作都是基于group的。
在建立group的基础上,进行各种操作。
利用VMD生成石墨烯:
使用VMD的Extensions->Modeling->Nanostructure Builder->generate Sheet(s)
就可以生成石墨烯,中间还可以修改各项参数,长,宽,层数都可以控制。
该命令同样可以生成碳纳米管,各项参数也可以修改。
6. VMD导出图片。
打开File->Render->Start Rendering
7.(1)VMD导出pdb文件,右键,
(2)在VMD中建立好模型后,通过topo writelammpsdata file type( topo writelammpsdata yourfilename)命令,可以将模型的atom,angle,bond,dihedrals,improper等信息导出到data文件。
MMPS data文件
data文件有两种格式,一种是二进制文件,一种是ascii文件,一般来说,我们可以看到的都属于ascii 文件。
ascii文件由两部分组成,一是文件头,二是原子信息。
文件头包括一些说明的内容,还有原子数、键类型数、盒子的三维坐标上下界等一系列信息,原子信息部分就包括了每个原子的ID,三维坐标,类型等等信息,根据你选的atom_type不同,显示的内容也不一定相同。
但至少都包括有原子ID以及坐标的信息。
vmd中关于输出data文件的命令的完整格式为:topo writelammpsdata filename atom_type,在atom_type缺省的情况下默认为full。
至于不同的atom_type有什么区别,参见lammps 官方手册中atom_type的部分。
这里要说明一点,lammps里面有一个命令叫write_restart,这个命令输出的data文件是二进制文件,所以我们使用文本编辑器打开之后看到的都是01这样的二进制数,可以使用一些小程序将二进制文件转换成文本文件(ascii文件),这些程序lammps工具包里有。
9.data文件格式
In the Atoms entry, the atoms can be in any order so long as there are N entries. The 1st number on the line is the atom-tag (number from 1 to N) which is used to identify the atom throughout the simulation. The molecule-tag is a second identifier which is attached to the atom; it can be 0, or a counter for the molecule the atom is part of, or any other number you wish. The q value is the charge of the atom in electron units (e.g. +1 for a proton). The xyz values are the initial position of the atom. For 2-d simulations specify z as 0.0.。