lammps学习friction程序电子教案
- 格式:docx
- 大小:23.25 KB
- 文档页数:5
Minimize命令Minimize命令使用格式:minimize(命令名)tolerance(误差限)maxiter ()maxeval()说明:tolerance =stopping tolerance停止公差、容差maxiter =优化器的最大叠代次数(max iterations of minimizer)maxevel =总的(力/能)评估值的最大个数(max number of total force/ energy evalutions)例子:minimze 1.0e-4 100 1000描述:该命令用来执行一个系统的能量的最小化(energy minimization),通过调整每个原子的原子坐标。
使用的优化算法由命令min_style设置。
能量最小化命令可以被和run命令交替使用(interspersed),在松弛和动力学之间分布(Minimizecommands can be interspersed with run commands to alternate betweenrelaxation and dynamics.)。
最小化器are implemented in a robust fashion坚固的方式that should allow forsystems with highly overlapped atoms (large energies and forces) tostill be minimized by pushing the atoms off of each other.(通过推开每个原子,使得即使有重叠的原子(具有高的能量和力)仍然可以优化,因为算法是很强壮的。
不知道这样翻译对不对,这句太难理解了。
最优化器involves包括一个外部迭代循环outer iteration loop(用以设置搜索迭代方向,在这个方向上坐标被改变),内部的迭代使用一个线搜索算法(An inner iteration is then performed using a line searchalgorithm. T)。
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学习指南(可编辑修改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)文章中的一些表述我尚不肯定正确与否。
所以转载之前,请你负责任地认真读完这篇文章并确认你是否认可我的表述。
lammps使用手册一、简介LAMMPS是一款功能强大的分子动力学模拟软件,可用于研究固体、液体、气体以及它们之间的相互作用。
本手册旨在帮助用户了解LAMMPS的基本使用方法和技巧,以便更好地进行模拟研究。
二、安装与配置1.下载安装包:从LAMMPS官方网站下载适合您操作系统的安装包。
2.安装软件:按照安装指南完成软件安装。
3.配置环境:根据软件要求配置计算环境,包括编译器、库文件和路径等。
三、基本操作1.启动模拟:使用LAMMPS命令行界面或脚本启动模拟。
2.添加系统参数:设置模拟系统的体积、温度、边界条件等参数。
3.添加粒子:创建粒子,设置其质量、电荷等属性。
4.更新系统:执行时间积分算法,更新粒子运动状态。
5.观察结果:使用可视化工具观察模拟系统的动态变化。
四、常用命令1.`fix`:用于设置固定粒子组或边界条件的命令。
2.`atom_modify`:用于修改粒子属性,如质量、电荷等。
3.`pair_style`:设置粒子之间的相互作用模型。
4.`run`:执行模拟并更新粒子运动状态。
5.`dump`/`restart`:保存或恢复模拟结果。
五、高级功能1.粒子相互作用模型:LAMMPS支持多种粒子相互作用模型,如Lennard-Jones势、Ewald方法等。
2.边界条件:支持不同类型的边界条件,如周期性边界、固定边界等。
3.能量最小化:用于优化粒子分布,降低能量波动。
4.温度控制:通过加热和冷却过程保持系统温度恒定。
5.并行计算:支持多核处理器和分布式计算,提高模拟速度。
六、实例应用1.分子动力学模拟固体晶格结构变化。
2.研究液体流动和粘度。
3.计算材料在不同应力条件下的变形行为。
4.模拟药物在生物体系中的分布和相互作用。
七、常见问题及解决方法1.模拟结果波动较大:检查粒子相互作用模型和边界条件设置是否正确,以及积分算法是否适当。
2.模拟时间步长选择不当:过小的步长可能导致系统不稳定,过大的步长则影响模拟精度。
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 平衡-对研究目标的性质进行长时间轨迹平衡-输出研究所关心的性质。
lammps20版使用手册LAMMPS 20 版使用手册LAMMPS 是一个经典的分子动力学模拟软件,用于研究原子和分子的行为。
本文将为您提供 LAMMPS 20 版的使用手册,详细介绍软件的安装、基本命令、输入文件格式和常见功能。
一、安装LAMMPS 20 版可从官方网站下载并安装。
在安装之前,请确保您的计算机满足以下要求:1. 操作系统:Windows、Linux 或 macOS;2. C++ 编译器:例如 g++、icc 或 Clang;3. 并行库:如 MPI(可选)。
请根据您的操作系统选择相应的安装包,并按照官方提供的说明进行安装。
二、基本命令LAMMPS 使用基于命令行的界面,您可以通过输入一系列命令来控制模拟的运行。
1. 运行 LAMMPS:在命令行终端中输入 `lmp_serial` 或 `lmp_mpi` 启动 LAMMPS 应用程序。
2. 选择分子力场:使用 `pair_style` 命令选择适合您研究系统的分子力场。
例如,`pair_style lj/cut` 表示使用 Lennard-Jones 势函数进行计算。
3. 定义模拟盒子:使用 `region` 定义模拟盒子的边界条件和尺寸。
例如,`region box block 0 10 0 10 0 10` 定义了一个尺寸为 10x10x10 的盒子。
4. 添加原子:使用 `create_atoms` 在模拟盒子中添加原子。
例如,`create_atoms 1 random 100 12345 box` 表示在盒子中随机地添加 100 个类型为 1 的原子。
5. 温度控制:使用 `velocity` 控制系统的温度。
例如,`velocity all create 298 123456` 为系统中的所有原子设置一个初始温度为 298K。
6. 运行模拟:使用 `run` 命令来运行模拟。
例如,`run 1000` 表示运行 1000 步模拟。
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手册学习.docLAMMPS手册学习一、简介本部分大至介绍了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是一个常用的分子动力学模拟软件,用于模拟原子、分子的运动和相互作用。
下面是一份关于如何使用LAMMPS
进行模拟的简单教程。
1. 安装LAMMPS:首先,你需要从官方网站上下载LAMMPS 的最新版本。
根据你的操作系统,选择合适的版本进行下载和安装。
2. 准备输入文件:在使用LAMMPS之前,你需要准备一个输
入文件,用于描述你想要模拟的系统和模拟的条件。
这个文件通常使用文本编辑器创建,扩展名为".in"。
在输入文件中,你
需要定义原子的初始位置、速度、力场参数等。
你也可以在输入文件中指定模拟的时间、温度、压力等参数。
3. 运行LAMMPS:在终端中,使用以下命令来运行LAMMPS,同时指定输入文件:
```
lammps < input_file.in
```
然后,LAMMPS将读取输入文件中的信息,并开始模拟。
4. 分析和可视化结果:LAMMPS输出的模拟结果通常以文本
文件的形式保存。
你可以使用文本处理工具(如awk、sed等)来分析并提取模拟结果中的关键信息。
此外,还可以使用可视
化软件(如VMD、OVITO等)来对模拟结果进行可视化和分析。
注意:以上只是一个简单的教程,介绍了LAMMPS的基本使用方法。
LAMMPS具有非常丰富的功能和参数选项,可以进行复杂的分子动力学模拟。
请参考LAMMPS的官方文档和用户手册,以获取更详细和全面的指导。
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学习记录1、时间单位1s=103ms=106μs=109ns=1012ps=1015fs2、如何运行开始-运行-cmd-输入“e:”回车,输入“cd lammps”直至找到可执行文件的位置,输入“lmp_win_no-mpi –in in.colloid”就可以计算了(新版本可能可执行文件的名称不一样了)。
MMPS的程序可以分为4个部分Input script structureA LAMMPS input script typically has 4 parts:1. Initialization2. Atom definition3. Settings4. 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)就可以生成石墨烯,中间还可以修改各项参数,长,宽,层数都可以控制。
#文件结构#Initialization#Atom definition#Settings#Run a simulation#注意本程序由于默认的单位体制是LJ# 2d friction simulation#初始化dimension 2#维数boundary p s p#边界条件 boundary x y zx,y,z =porsorform, one or two lettersp is periodicf is non-periodic and fixeds is non-periodic and shrink-wrappedm is non-periodic and shrink-wrapped with a minimum values为收缩边界(自由边界),用于有限尺寸的维度,随原子移动而改变,原子不会跑出边界;f为固定边界,同样用于有限尺寸的维度,模拟时原子可能跑出边界,跑出则程序终止;p 为周期边界,原子可以周期穿过盒子边界。
m为柔性边界,允许边界上的粒子有微小移动以反映内层原子的作用力施加到它们身上的情况。
atom_style atomic#atomic原子模式(用于粗粒液体,固体和金属的模拟)。
Define what style of atoms to use in a simulation 定义模拟体系中的原子属性。
用比需要的范围大的类型。
neighbor 0.3 bin#建近邻表参数(r+rc),rc为力的截断距离,缓冲距离r=0.3sigma(σ),bin表示为近邻表类型。
所有截止距离等于它的力的截断距离加上缓冲距离的原子对都被存储在列表里。
其值的选择取决于单位制。
Syntax:neighbor skin styleThis command sets parameters that affect the building of pairwise neighbor lists. skin = extra distance beyond force cutoff (distance units)style =bin or nsq or multineigh_modifydelay 5#间隔5载荷步重新形成近邻表# create geometry#创建初始几何构形lattice hex 0.9#定义晶格类型(二维hex)和Lennard-Jones折算密度0.9region box block 0 50 0 22 -0.25 0.25#定义模拟盒子(区域)的大小,在空间x[0,50],y[0,22],z[-0.25,0.25]的范围内创建区域。
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的量纲分析才正确。
#文件结构#Initialization#Atom definition#Settings#Run a simulation#注意本程序由于默认的单位体制是LJ# 2d friction simulation#初始化dimension 2#维数boundary p s p#边界条件 boundary x y zx,y,z =porsorform, one or two lettersp is periodicf is non-periodic and fixeds is non-periodic and shrink-wrappedm is non-periodic and shrink-wrapped with a minimum values为收缩边界(自由边界),用于有限尺寸的维度,随原子移动而改变,原子不会跑出边界;f为固定边界,同样用于有限尺寸的维度,模拟时原子可能跑出边界,跑出则程序终止;p为周期边界,原子可以周期穿过盒子边界。
m为柔性边界,允许边界上的粒子有微小移动以反映内层原子的作用力施加到它们身上的情况。
atom_style atomic#atomic原子模式(用于粗粒液体,固体和金属的模拟)。
Define what style of atoms to use in a simulation 定义模拟体系中的原子属性。
用比需要的范围大的类型。
neighbor 0.3 bin#建近邻表参数(r+rc),rc为力的截断距离,缓冲距离r=0.3sigma(σ),bin表示为近邻表类型。
所有截止距离等于它的力的截断距离加上缓冲距离的原子对都被存储在列表里。
其值的选择取决于单位制。
Syntax:neighbor skin styleThis command sets parameters that affect the building of pairwise neighbor lists.skin = extra distance beyond force cutoff (distance units)style =bin or nsq or multineigh_modify delay 5#间隔5载荷步重新形成近邻表# create geometry#创建初始几何构形lattice hex 0.9#定义晶格类型(二维hex)和Lennard-Jones折算密度0.9region box block 0 50 0 22 -0.25 0.25#定义模拟盒子(区域)的大小,在空间x[0,50],y[0,22],z[-0.25,0.25]的范围内创建区域。
create_box 4 box#在上述空间内创建一个具有四种原子类型的模拟盒子(原子位置初始化)mass 1 1.0#第一种原子类型质量为1g/molmass 2 1.0#第二种原子类型质量为1g/molmass 3 1.0#第三种原子类型质量为1g/molmass 4 1.0#第四种原子类型质量为1g/mol# atom regionsregion lo-fixed block INF INF INF 1.1 INF INF#定义了一个叫lo-fixed的区域{x[-inf,+inf],y[-inf,1.1],z[-inf,+inf]}region lo-slab block INF INF INF 7 INF INFregion above-lo block INF INF INF 7 INF INF side out#side out表示与所给坐标相反的一边region hi-fixed block INF INF 20.9 INF INF INFregion hi-slab block INF INF 15 INF INF INFregion below-hi block INF INF 15 INF INF INF side outregion lo-asperity sphere 32 7 0 8#定义了一个叫lo-asperity([æˈspɛrɪti]粗糙)的球形区域,球心(32,7,0),球的半径8region hi-asperity sphere 18 15 0 8region lo-half-sphere intersect 2 lo-asperity above-lo#定义lo-asperity和above-lo两个区域的相交区域为lo-half-sphere区域region hi-half-sphere intersect 2 hi-asperity below-hi# create 2 surfaces with asperities#创建两个粗糙表面create_atoms 1 region lo-slab#在lo-slab区域里创建第1种原子create_atoms 1 region hi-slabcreate_atoms 2 region lo-half-spherecreate_atoms 3 region hi-half-sphere# LJ potentials#LJ势函数pair_style lj/cut 2.5#定义势函数是lj势,截断半径为2.5pair_coeff * * 1.0 1.0 2.5#指定lj势参数ɛσ cutoff# define groups#定义组,便于加载group lo region lo-slab#定义lo-slab区域里的原子组叫lo组group lo type 2#并不能改变原子类型,仅仅是将第2种原子定义入lo组group hi region hi-slabgroup hi type 3group lo-fixed region lo-fixedgroup hi-fixed region hi-fixedgroup boundary union lo-fixed hi-fixed#定义总边界组lo-fixed+hi-fixed= boundarygroup mobile subtract all boundary#定义可动原子组mobile=all-boundaryset group lo-fixed type 4#指定group lo-fixed为第四种原子类型set group hi-fixed type 4#指定group hi-fixed为第四种原子类型# initial velocities#设定初始速度compute new mobile temp/partial 0 1 0#定义温度的计算(可动区域内统计平均), 用户为计算取的名字new(ID),group-ID ,mobile原子组,temp/partiale(style)XYZ的对应位置0或1表示排除或包含这个方向Define a computation that calculates the temperature of a group of atoms, after excluding one or more velocity components. A compute of this style can be used by any command that computes a temperature, e.g.thermo_modify, fix temp/rescale, fix npt, etc.The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the groupof atoms (sum of 1/2 m v^2), dim = dimensionality of the simulation, N = number of atoms in the group, k =Boltzmann constant, and T = temperature. The calculation of KE excludes the x, y, or z dimensions if xflag,yflag, or zflag = 0. The dim parameter is adjusted to give the correct number of degrees of freedom.velocity mobile create 0.1 482748 temp new#格式:velocity group-ID style args keyword value ...mobile(group ID)按指定的温度(0.1)计算方法,初始化原子的速度。
The create style generates an ensemble of velocities using a random number generator with the specified seed as the specified temperature.create风格使用一个随机数发生器与指定的种子产生一个整体的速度作为指定的温度。
Create args = temp seedtemp = temperature value (temperature units) 0.1seed = random # seed (positive integer) 482748temp value = temperature compute ID temp newvelocity hi set 1.0 0.0 0.0 sum yes#velocity group-ID style args keyword valuehi原子组x方向的速度为1.0,set(style),set args = vx vy vzvx,vy,vz = velocity value or NULL (velocity units)any of vx,vy,vz van be a variable (see below)sum(keyword)其值为yes或者no(The sum keyword is used by all styles, except zero. The new velocities will be added to the existing ones ifsum = yes, or will replace them if sum = no).# fixes#fix指令的用途是对一组原子进行定义,可以用于更新原子的位置、速度、控制温度、加常力、施加边界条件等。