关于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分子动力学 能量 平衡
lammps分子动力学能量平衡
摘要:
MMPS 分子动力学简介
MMPS 的应用范围
MMPS 能能量平衡计算
MMPS 与其他软件的结合使用
MMPS 的培训与学习资源
正文:
LAMMPS 分子动力学是一种经典的分子动力学软件,免费开源,广泛应用于模拟液态、固态或气态的粒子的系综。
它采用不同的力场和边界条件来模拟全原子,聚合物,生物,固态(金属、陶瓷,氧化物),粒状和粗料化体系。
LAMMPS 可以计算的体系小至几个粒子,大到上百万甚至是上亿。
LAMMPS 的应用范围非常广泛,它可以用于研究材料的力学性能、热力学性质、分子动力学过程等。
此外,LAMMPS 还可以进行能量平衡计算,为研究体系的稳定性和反应途径提供重要依据。
在实际应用中,LAMMPS 可以与其他软件(如Gaussian 量子化学软件)结合使用,以提高计算的准确性和可靠性。
通过与这些软件的结合,LAMMPS 能够更好地模拟化学反应过程,并预测材料的性质。
对于有兴趣学习和使用LAMMPS 的用户,可以通过参加培训课程或查阅相关学习资源来提高自己的技能。
一些专业的培训机构会定期举办LAMMPS 分子动力学计算、Gaussian 量子化学计算、REAXFF 反应力场开发等系列专
题培训,为广大用户提供学习机会。
总之,LAMMPS 分子动力学软件在材料科学、化学反应等领域具有广泛的应用前景。
lammps参数
lammps参数LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) 是一款高效且灵活的分子动力学模拟软件。
它可以用于模拟原子、分子和原子团聚体系统的动力学行为。
LAMMPS 是一个传统的分子动力学程序,它包括一系列功能丰富的模拟方法、模型和分子间相互作用势函数。
下面将介绍一些常见的 LAMMPS 参数及其参考内容。
1. 模拟系统:在 LAMMPS 中,通过设置输入文件中的 `units` 参数可以选择不同的长度、能量和时间单位。
通常情况下,LAMMPS 使用的是无量纲化单位来进行模拟。
单位设置为 `lj` 表示使用Lennard-Jones 单位。
关于单位设置的详细内容可以在LAMMPS 官方文档中的 "units" 一节中找到相关信息。
2. 动力学算法:LAMMPS 提供了多种动力学算法,如经典牛顿运动方程模拟(NVE)、NVT (能量守恒、体系与热浴恒温)、NPT (能量守恒、粒子数不变、体系与热浴和压力恒定) 等。
这些算法可以通过设置输入文件中的 `fix` 参数来实现。
更多关于 LAMMPS 动力学模拟算法的详细说明可以在官方文档的"fix" 一节中找到。
3. 分子结构和拓扑:在 LAMMPS 中,分子结构可以通过 `read_data` 命令或自定义脚本生成。
可以定义不同的分子类型、原子数目、电荷、键长、键角、二面角等信息。
此外,LAMMPS 还支持各种拓扑约束条件,如键长限制、键角限制、二面角限制等。
关于分子结构和拓扑设置的更多细节可以在 "read_data" 一节和相关命令的文档中找到。
4. 分子间相互作用势函数:LAMMPS 支持多种分子间相互作用势函数的使用。
常用的势函数包括 Lennard-Jones 势函数和 Coulomb 势函数。
学习lammps 对in文件的一个概述性心得
写在开头:1.尽量列举了大部分(几乎)的命令2.带星号命令非常重要,大家在看mannual中命令的解释的时候可以重点先看带星号的3.非斜命令是运行一个常用模拟所必备的4.命令顺序为一个基本的脚本文件命令顺序,骨架如此5.我主要是做金属的,所以其他方向的希望有一个借鉴作用,大同小异6.对于初学者切不可认为in文件就是这个固定顺序,其实正常模拟过程中做平衡、以及随后的运行在某些阶段都会重复使用某一段命令,比如fix 1 …run;fix 2 …run ………,以及作循环,等等等7.本文的目的旨在让初学者对in文件有一个总体的把握,希望对新手入门有帮助8.括号里为这个命令的默认值,我列举的是在使用过程中比较关心的默认值9.纯属个人学习心得,希望大家多多指点讨论10.复制的时候希望能留下足迹,如果觉得哪里有问题,随时回来讨论!方便其他人学习!11.对in文件通俗点的理解就像洗衣服,洗衣机就是lammps的主程序,这个in文件就是在设定怎么洗衣服----------------------------------Initialization基本模拟系统设置-------------------------units (lj) ** 单位系统boundary (ppp) ** 边界条件atom_style (atomic) ** 粒子类型atom_modify * 粒子类型调整,,,凡是后面带一个modify的,都是对头命令的补充修改newton (on)processorsdimension (3) * 维数------------------------------Atom definition---这一组命令主要用来构建模拟模型的---------------lattice ** 晶格参数region ** 选择一个区域create_box ** 创建一个盒子create_atoms ** 创建原子group, ** 给原子分组delete_atoms,** 删除某些原子delete_bonds,displace_atoms,* 移动某些原子replicate* 将已经构建的模型在三维重复复制放大read_data***这个命令就是用来读取其他软件建的模型的read_restart* 以之前运行的结果作为这次计算的初始构型---------------------------------------Potencial---定义粒子相互作用势------------------------------ pair_style** 势函数类型pair_coeff,** 势函数文件名(一般这个文件放在与此in文件的同一个目录下)pair_modify**此后的13命令对做高分子及无机非的模拟的需要额外关注pair_writebond_stylebond_coeff,angle_styleangle_coeff,dihedral_styledihedral_coeff,improper_styleimproper_coeff,kspace_style,kspace_modifydielectric,special_bonds----------------------------------------Seting--------------------------------------------- neighbor, ** 截断半径相关的设置neigh_modify, **timestep,** 模拟的步长compute, *** !定义计算,一般我们需要的输出数据就需要这个命令来定义uncompute * 取消某个compute设置variable**这个命令可以多次使用,定义一个变量reset_timestep, ** 步长计数器清零,有多个run命令的需注意这个run_style, 配套run的,不一定需要compute_modify *配套compute的---------------------------------------- Minimize------------------------------------------- 结构优化,注意和热力学平衡区分开来minimize,**min_style, **min_modify **---------------------------------------------Fix------------------------------------------- fix*** 这个命令相当重要多的不说,看手册unfix 取消某个fix设置fix_modify,------------------------------------------Output------------------------------------------ dump, ** 输出数据,输出的为单个原子的信息,可视化就用它undump,* 取消某个dump设置thermo, ** 输出全局数据,比如温度,压强,长度,总能量等thermo_style,* 配套thermo的thermo_modify,*(后面的都是输出一些数据类型,我一般没怎么用,具体需要的可以单独自己了解)dump image,dump_modify,dump movie,restart, *输出restart文件,对应前面read-restart,data文件只有原子坐标,restart含有部分计算信息write_data, *将当前模型输出为一个data文件,对应之前的read-data,write_dump,write_restart*------------------------------------------Run a simulation---------------------------------------- run, ***这个命令出现之后,模拟才开始进行计算,前面的都是在设置计算过程change_box, *neb prd,rerun,temper-------------------------------------------Others--------------------------------------------这些命令主要可以实现循环以及逻辑判断,通过他们,可以向更复杂的模拟过程前进clear,*log, *echo,if, *include,jump, *label, *next, *print, *shell,。
vasp与lammps学习资料2020年
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手册-中文版讲解
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。
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。
notepad lammps语法
LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)是一种用于分子动力学模拟的开源软件,其语法结构复杂而灵活,能够满足多种复杂的模拟需求。
在该软件中,用户可以通过输入合适的命令或脚本文件来实现各种功能,包括分子模拟、力场建立、能量最小化等。
以下是关于LAMMPS语法的详细讲解:1. 基本结构在LAMMPS语法中,通常包含以下几个基本结构:a. 命令行输入b. 脚本文件输入c. 注释命令行输入是用户直接在命令行中输入LAMMPS命令来进行模拟,而脚本文件输入则是将LAMMPS命令写入一个脚本文件中,通过执行该文件来实现模拟。
注释则是用于解释LAMMPS命令的文本,不会被软件执行。
2. 命令格式LAMMPS的命令格式通常为:命令关键字参数,其中命令是指LAMMPS的具体功能,关键字是该功能的具体参数,参数则是关键字所需的具体数值或选项。
可以使用命令“p本人r_style lj/cut 2.5”来设置LJ势的截断距离为2.5。
3. 常用命令在LAMMPS中,有许多常用的命令,包括但不限于以下几类:a. 模拟控制命令b. 分子定义命令c. 力场设置命令d. 输出控制命令模拟控制命令用于控制模拟的时间步长、总步数、随机数种子等参数,分子定义命令用于定义分子结构、原子属性等信息,力场设置命令用于选择和设置力场模型,输出控制命令用于控制模拟结果的输出格式和频率。
4. 示例下面以一个简单的粒子模拟为例,介绍LAMMPS的语法使用方法:a. 定义模拟系统的基本信息,如维度、原子种类、原子位置等;b. 选择合适的分子力场模型,并设置其参数;c. 设置模拟的时间步长和总步数;d. 执行模拟并输出结果。
通过上述示例,可以看出,在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。
win位下安装lammps学习总结
win位下安装lammps学习总结8特别注意,⼀定要以管理员账户登录系统,⽽且必须有密码,没有密码并⾏不能计算。
(⼀)⾸先win下Lammps串⾏安装⽅法:串⾏安装很简单,按照下⾯帖⼦的⽅法即可,⼀些dos命令见帖⼦中的dos屏幕截图;1LAMMPS在Windows下的安装及使⽤2017年9⽉30⽇村长村长技术专栏评论: 0为庆祝⽯家庄朗普斯科技有限公司官⽹正式运营,公司针对超算⽤户推出超算机时充值优惠,更享LAMMPS培训优惠福利,欢迎试⽤。
联系⼈:李⽼师,⼿机:135-5202-2471,QQ:2692514595。
随着LAMMPS功能越来越强⼤,越来越多的⼈开始使⽤LAMMPS。
然⽽,由于LAMMPS是以命令⾏的⽅式来运⾏,令很多⼊门者望⽽⽣畏。
本⽂详细讲解了Windows下LAMMPS的安装及使⽤,希望能使⼤家快速上⼿。
1.访问LAMMPS Windows Installer Repository,查看安装说明,选择合适的软件包下载。
在这⾥,我选择的是64位的版本(LAMMPS-64bit-latest-MPI.exe)。
(如果你安装的是32位的系统,请选择32-bit版本下载)。
2.双击LAMMPS的可执⾏程序并安装,LAMMPS就安装好了。
安装过程中注意LAMMPS的安装路径。
我的安装路径为C:\Program Files\LAMMPS 64-bit 20160512。
3.调⽤LAMMPS串⾏版本(lmp_serial.exe)。
点击搜索,输⼊cmd,选择“命令提⽰符”并打开。
在cmd窗⼝输⼊lmp_serial 回车通常会返回LAMMPS版本号,这样就可以进⾏简单调试了。
4.Ctrl+C 中断已经运⾏lmp,然后通过cd命令进⼊examples⽬录进⾏测试运⾏。
UPDATE:如果输⼊lmp_serial提⽰命令找不到,请将lmp_serial.exe的路径添加到环境变量PATH中。
LAMMPS系统入门
迹,从而判断台球是否能够进袋。
三维:考虑宇宙中只存在太阳和太阳系的八大行星。我们是否能够通过万有引力去预测所
有行星的轨迹。只是此时我们知道某个行星除了来自太阳的引力,还有来自其他行星的应
力。计算某个行星的受力时,要考虑该行星与其余所有天体之间的受力。
高分子势: all-atom, united-atom, bead-spring, breakable
水分子势: TIP3P, TIP4P, SPC, SPC/E and variants
石墨烯和同类物的层间势
金属有机框架势 (QuickFF, MO-FF)
隐式溶剂势: hydrodynamic lubrication, Debye
分子动力学基本原理
分子动力学实际上就是一只拉普拉斯兽。分子动力学的基本任务就是获取物体在任意时刻
组成原子的所有位置和动量然后利用统计力学知识理解物体的性质和行为。
掌握组成物体内部原子的行为就可解释和理解物体的性
质和行为。大量原子在一起表现出来的整体特性,而不
我将分子动力学研究科学问题分为三个部分:软件使用,分子动力学理论,科学问题发现。
只有用深厚的内功催动精妙的招式,才能打败可敬的对手,受到江湖传颂。
分子动力学基本原理
分子动力学的基础是牛顿力学,也即经典力学。经典力学中有三个主要内容:质点、力和
运动。牛顿第二定律是经典力学的核心。
有两个质点放置在光滑的地面上,我们要问的问题是在后续的时间中两个质点是怎么运动
极化模型: QEq, core/shell model, Drude dipole model
电荷平衡:QEq via dynamic, point, shielded, Slater methods
LAMMPS手册中文讲解
L A M M P S手册中文讲解 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】LAMMPS手册-中文解析一、简介本部分大至介绍了LAMMPS的一些功能和缺陷。
1.什么是LAMMPS?2.LAMMPS是一个经典的分子动力学代码,他可以模拟液体中的粒子,固体和汽体的系综。
他可以采用不同的力场和边界条件来模拟全原子,聚合物,生物,金属,粒状和粗料化体系。
LAMMPS可以计算的体系小至几个粒子,大到上百万甚至是上亿个粒子。
LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的计算效率,但是它是专门为并行计算机设计的。
他可以在任何一个按装了C++编译器和MPI的平台上运算,这其中当然包括分布式和共享式并行机和Beowulf型的集群机。
LAMMPS是一可以修改和扩展的计算程序,比如,可以加上一些新的力场,原子模型,边界条件和诊断功能等。
通常意义上来讲,LAMMPS是根据不同的边界条件和初始条件对通过短程和长程力相互作用的分子,原子和宏观粒子集合对它们的牛顿运动方程进行积分。
高效率计算的LAMMPS通过采用相邻清单来跟踪他们邻近的粒子。
这些清单是根据粒子间的短程互拆力的大小进行优化过的,目的是防止局部粒子密度过高。
在并行机上,LAMMPS采用的是空间分解技术来分配模拟的区域,把整个模拟空间分成较小的三维小空间,其中每一个小空间可以分配在一个处理器上。
各个处理器之间相互通信并且存储每一个小空间边界上的”ghost”原子的信息。
LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高。
3.L AMMPS的功能总体功能:可以串行和并行计算分布式MPI策略模拟空间的分解并行机制开源高移植性C++语言编写MPI和单处理器串行FFT的可选性(自定义)可以方便的为之扩展上新特征和功能只需一个输入脚本就可运行有定义和使用变量和方程完备语法规则在运行过程中循环的控制都有严格的规则只要一个输入脚本试就可以同时实现一个或多个模拟任务粒子和模拟的类型:(atomstyle命令)原子粗粒化粒子全原子聚合物,有机分子,蛋白质,DNA联合原子聚合物或有机分子金属粒子材料粗粒化介观模型延伸球形与椭圆形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:(命令:pairstyle,bondstyle,anglestyle,dihedralstyle,improperstyle,kspacestyle)对相互作用势:L-J,Buckingham,Morse,Yukawa,soft,class2(COMPASS),tabulated.带点对相互作用势:Coulombic,point-dipole.多体作用势:EAM,Finnis/SinclairEAM,modifiedEAM(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隐式溶剂势能:hydrodynamiclubrication,Debye长程库伦与分散:Ewald,PPPM,Ewald/N(针对长程L-J作用)可以有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场可以采用GPU加速的成对类型杂化势能函数:multiplepair,bond,angle,dihedral,improperpotentials(多对势能处于更高的优先级)原子创建:(命令: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格式数据的前处理与后处理:包里提供了一系列的前处理与后处理工具另外,可以使用独立发行的工具组,它可以进行LAMMPS模拟的设置,分析,作图和可视化工作。
(完整版)LAMMPS手册学习.doc
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 算例-回复题目:LAMMPS算例:从入门到精通LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)是一款用于分子动力学模拟的开源软件,广泛应用于材料科学、生物化学和凝聚态物理等领域。
本文将介绍LAMMPS算例的基本知识和使用方法,以帮助读者从入门到精通掌握LAMMPS。
第一步:了解LAMMPS的基本概念和原理首先,我们需要了解LAMMPS的基本概念和原理。
LAMMPS基于分子动力学方法,通过模拟粒子之间的相互作用,揭示物质的宏观性质。
它通过数值积分牛顿运动方程来模拟粒子运动,并通过Lennard-Jones势、弹性势、电磁势等相互作用势能来描述粒子之间的相互作用。
了解这些基本概念和原理是使用LAMMPS的首要步骤。
第二步:安装和配置LAMMPS接下来,我们需要安装和配置LAMMPS。
LAMMPS可以在不同的操作系统上运行,如Linux、Windows和MacOS。
你可以从LAMMPS官方网站(第三步:选择合适的计算模型和算例有了基本的LAMMPS知识和安装配置,我们可以开始选择合适的计算模型和算例了。
LAMMPS提供了丰富的计算模型和算例,涵盖了多个研究领域。
你可以从官方网站上的帮助文档中寻找与你研究课题相关的模型和算例,并根据自己的需要进行适当的修改和调整。
第四步:准备输入文件和参数设置在进行模拟之前,我们需要准备好输入文件和参数设置。
输入文件是描述系统结构和模拟参数的文本文件,类似于配置文件。
它包含了原子或分子的位置、速度、力场参数等信息。
你可以使用文本编辑器创建输入文件,并按照LAMMPS的语法规则进行编写。
另外,你还需要设置一些模拟参数,如时间步长、温度、压力等,以控制模拟的进行方式和结果。
第五步:运行模拟并分析结果当输入文件和参数设置准备好后,我们就可以运行模拟了。
在命令行窗口中输入"LAMMPS <输入文件名"命令,LAMMPS将自动读取输入文件并进行模拟计算。
lammps原子施加力
lammps原子施加力LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)是一种常用的分子动力学模拟软件,用于模拟原子和分子系统的运动。
在LAMMPS中,我们可以通过施加力来模拟不同原子之间的相互作用。
在LAMMPS中,原子间的相互作用可以通过势函数来描述。
常用的势函数包括Lennard-Jones势和Coulomb势。
Lennard-Jones势用于描述非极性原子对之间的相互作用,而Coulomb势则用于描述极性原子对之间的相互作用。
对于每个原子,LAMMPS都可以计算出其受到的力和势能。
这些力对于模拟系统的动力学行为非常重要。
根据牛顿第二定律,原子受到的合力将决定其加速度和速度的变化。
施加力的方式有很多种。
最常用的方法是通过在模拟中的输入文件中指定原子的初始速度。
LAMMPS可以根据指定的速度计算出相应的力。
这些力可以通过多个步骤计算得到,如计算相邻原子之间的相互作用和应用外部力场。
当原子受到作用力时,LAMMPS将根据模拟系统的物理特性来计算其运动轨迹。
除了施加力之外,LAMMPS还可以计算出原子受到的压力。
压力是一个描述系统平衡状态的重要参数。
通过计算原子受到的力和压力,LAMMPS可以帮助我们理解原子间的相互作用和系统的力学行为。
在实际使用中,施加力是模拟系统的重要方法之一。
通过控制施加的力,我们可以研究不同条件下的原子运动和相互作用。
这对于研究复杂的材料行为和物理现象非常有帮助。
总结起来,LAMMPS是一种常用的分子动力学模拟软件,可以通过施加力来模拟和控制原子之间的相互作用。
这些施加的力对于模拟系统的动力学行为和物理特性具有重要影响。
通过使用LAMMPS,我们可以研究原子间的相互作用和了解系统的力学行为。
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)就可以生成石墨烯,中间还可以修改各项参数,长,宽,层数都可以控制。
Lammps学习指南 小木虫
【转帖】Lammps学习指南 1作者: duxiao3150 收录日期: 2009-12-11 发布日期: 2009-12-11本文结构:0. 写在最开始的话1. 首先确定lammps是不是适合你2. 下载和编译3. 如何使用lammps进行计算4. 关于manual.pdf(20/JUL/07)的阅读建议5. Comannds 的简单讲解6. 解决问题的途径7. 写在最后面的话温馨提示:(1) 点击标题可直接到相关的“章节”.(2) 为避免混淆, 上面的各“章”,在本文中用“步骤2”、“步骤5”这样的词代指; 而文中其它地方出现的“章节”是指lammps手册中的章节.(3) 文中跟某些名词相关的网页已加注超链接, 直接点击可浏览该页面以获得更详尽的信息.===================================================================== =====0. 写在最开始的话从2007年5月初开始接触和学习lammps, 时至今日, 依然对lammps存有很多疑惑. 如同一个刚入门的工匠面对着一台功能强大的复杂机器, 不知所措. 虽然还有好多好多的东西要学习, 但是也已经了解了一些最最基本的东西了. 我可以去帮助那些刚刚入门的人, 正如我刚刚开始学习lammps时诸位热心网友对我的帮助. 现在, 我写一写自己知道的东西, 希望对lammps的新手有所帮助, 不当之处, 真诚地希望各位读者多多指正.我写的这点儿东西, 使用者仅限于使用lammps的新手, 而且里面只讲到了ubuntu下编译lammps的单机版, 没有涉及并行版的编译. 我希望这个“指南”会帮他们更快地了解和学习lammps. 如果你已经在使用lammps了, 我觉得这个“指南”是不会对你有什么帮助的. 不过, 对于高手来说, 如果你有时间, 我还是希望你能看完这篇, 因为我接触lammps和MD的时间都不长, 我怕我的某些错误会误导新手. 所以, 希望大家一起努力, 完善这个指南.对这个“指南”有任何的建议, 请联系我, 联系方式如下: QQ: 365449075 Email: wfc@另外, 我只把这篇文章放在这个由学校提供的个人网页空间. 之前QQ 空间的那篇文章, 因为对其内容改动较大, 故我已将其删除. 我并不反对转载, (先自我陶醉一下下, 可是会有吗? 呵呵)但是转载之前, 请注意:(1) 文章中的一些表述我尚不肯定正确与否. 所以转载之前, 请你负责任地认真读完这篇文章并确认你是否认可我的表述. 如果发现错误, 请及时联系我, 谢谢先了.(2) 我知道有些论坛的用户可以设置回复或者付出金币or积分等才能查看某些帖子, 我坚决反对这篇文章被这么做.(3) 本文没有所谓的版权, 完全是分享性质的. 转载的时候, 没有必要著上是我写的, 可是我不希望有一天看到这篇指南成了另外的一个名字的原创. 如果你发现文中的错误并做了修改(最好也通知我), 那样我们可以算是这篇文章的共同作者.(4) 严禁本文被用作其它用途.我还要再次重申, 我不想写成像教科书一样的东西. 我写这篇指南的意图也绝对不是“ 哦, 你是lammps新手吧, 那你按照我说的做吧. ”那我岂不成了教父了? 呵呵. 要知道, 这篇文章的作者只不过是一个3个月前才知道世上有lammps这款代码的家伙, 他根本就没有完全读完和读懂lammps手册, 他对MD的基本理论了解的是少之又少. 我只不过是想结合我学习lammps的过程, 写一下我的体会和建议, 供新手参考. 如果你觉得这个指南对你有用, 那固然很好; 但是如果你看后觉得我说的都是屁话, 那也很好, 你可以按照另外的思路去学习lammps, 同时, 你还可以按照我的联系方式大骂我一顿, 我也会洗耳恭听的.如果这篇文章真的对lammps的初学者有些许帮助, 那我将感到十分的欣慰. (返回本文目录)===================================================================== =====1. 首先确定lammps是不是适合你可以从以下两个网页找到答案:/features.html/non_features.html如果你觉得看英文很不爽, 这里有一个中文翻译----By hooge.lu我也简单说几句, 分子动力学要做的, 大部分lammps都可以做(呵呵, 这句话我是听别人说的). lammps源代码公开, 免费下载, 你可以根据自己的需要修改lammps代码, 重新编译. lammps可以在并行环境中运行, 这更能体现出它强大的计算优势. 它能模拟上百万的原子体系, 气态, 液态或者固态, 在各种系综下. lammps提供了各种势函数供你选择, 具体请到lammps官网查询.再说说lammps所谓的“缺点”吧.相比lammps的计算能力, 它提供给我们的前后处理的功能显得相对弱了一些. 对于一些复杂体系初始构型的建立, lammps表现得并不是很尽如人意. 所以lammps提供了一个read_data命令可以读入一个data文件, 这个文件包括体系中各个原子的xyz坐标等等相关参数. 对于这个文件中定义系统的部分,我有两个建议, 用其它的软件做好体系构型, 导出数据文件, 然后按照lammps规定的格式(参阅手册中read_data命令)修改; 或者你的计算体系构型中原子的排布有某种规律可循, 你就自己编程从而获得lammps需要的data文件.提醒一下, 上面提到的通过data文件的方式建立系统的初始构型, 是在你已掌握你的体系的相关参数的基础之上的, lammps只是规定了这个data文件的语法格式而已. 同时, lammps提供的各种势函数, 它也是提供了各种函数的表达式, 至于各个函数所需要的参数, lammps并不会告诉你应该填多少. 这些参数都需要你在用lammps计算之前就已经知道. 如何知道? 这个问题我就不能回答了, 一种办法是参阅相关的文献(这么说貌似很牵强哦).还有一个可能被新手抱怨的原因就是lammps没有图形界面. 这使得你无法直观地看到你模拟的系统, 相关的建议是采用其它的可视化软件, 如AtomEye, VMD, raster3d等等. 我用的是VMD, Linux版本和Windows版本都有.VMD 的简单使用:File -> New Molecule… Browse… then Load 读入 xyz 文件Graphics -> Representation…Create Rep 新建层(VMD中对同一个Rep中所有原子的大小颜色同时控制, 所以要对不同种类的原子分别设置显示效果, 需要新建几个Rep)Selections 结合Keywords和Value设置每个层中的原子. (SelectedAtoms中把all删除, 然后双击某个Keywords如type, 然后再在Value栏里双击某个种类, 之后Apply)Draw style中Coloring Method建议选择ColorID , 然后在后面选择颜色; Drawing Method建议选择Beads , 然后在Sphere Scale和Sphere Resolution中调整球的大小和清晰度计算结果的数据处理在lammps中也显得不是很方便, 你可能需要自己编程进一步处理. 至于一些数据曲线的作图, Windows下的Origin, Linux下的labplot足以应付这个问题了.以上我只是把features.html和non_features.html里面的内容结合我的理解简单地说了几句. 我建议你认真阅读这两个网页, 毕竟, 下面的几个步骤, 还有那阅读那让人痛苦的手册, 都是建立在lammps可以胜任你的计算要求的基础之上的. 如果lammps不适合你, 那就想其它的办法, 不要在看这篇文章的后续内容上浪费时间了. (返回本文目录)===================================================================== =====2. 下载和编译lammps是在linux环境下运行的. 所以, 首先你要有一个linux环境, 如果你已经在用linux了, 那当然再好不过了. (lammps也可以在Windows下编译, 但那不是我现在所能理解的范围. 关于这一点, 请查阅“材料科学论坛-分子动力学模拟版”的某个置顶帖后面的相关回帖, 但是我个人不推荐这么做. )如果你跟我一样, 听到lammps这个词的时候对linux一窍不通, 那么你有两个选择. 要么在你的Windows环境中虚拟一个linux系统, 我没有这么做过, 所以我不便说什么. 不过我建议你自己在网上搜索在Windows下安装虚拟机虚拟linux的方法, 我只是在ubuntu下虚拟过XP环境(只是用来QQ视频), 想来应该差不多的. 还有一个方法呢, 就是安装一个linux. 新手的话, 我个人推荐ubuntu, 对硬件支持较好, 上手很快. 请参考: ubuntu7.04(硬盘)安装与配置图文指南多罗嗦几句: 一开始用ubuntu, 我就深深的喜欢上它了, 现在, 我的机子上原来的Windows已经被我格掉了. 换一个操作系统, 刚开始会很不不习惯, 但是现在, 我可以在ubuntu下上网、写文档、看电影听音乐、聊QQ 、用MSN 、看网络电视、使用Matlab……这一切都是通过ubuntu完成的, 而非在VirtualBox虚拟的XP中做的. 还有最重要的一点, ubuntu中你所需要的绝大多数软件都可以用sudo apt-get install这个命令通过网络安装, 不会有Windows 里面烦死人的软件破解等等问题. 一段时间之后, 你就会觉得ubuntu.linux带给你的美妙的享受, 它的那种自由和分享的理念, 这, 绝对不是Windows可以给你的.在ubuntu中文论坛里, 你可以学习到很多关于ubuntu的知识, 解决你在使用ubuntu过程中可能会遇到的很多难题. 关于ubuntu的安装, 你也可以请查阅“初学者园地” 的帖子, 尤其是那几个置顶帖.好了, 如果你拥有了linux环境, 下面就开始我们体验lammps的历程.到这里下载lammps, 建议你下载LAMMPS upgrade. 需要说明的是, lammps更新很快, 几乎每天都有源代码的修改. 所以, 你有必要经常关注lammps官方网页.下载之后, 你会得到一个*.tar.gz的压缩文件包, 在linux的终端,用以下的命令解压.gunzip lammps*.tar.gztar xvf lammps*.tar之后, 你会得到一个名为lammps-*的文件夹(注意, 这里的*是通配符). 最新版本的lammps是用C++写的, 编译之前, 你的linux系统中需要有一个编译器. 抱歉地说, 我忘记ubuntu是否自带这个编译器了, 如果没有的话, 用sudo apt-get install build-essential这个命令安装, 这需要你的系统管理员帐户和密码.下面说ubuntu下编译单机版的lammps的过程(并行的编译我还没去学习, 如果需要, 建议你查阅这个帖子----By hooge.lu).补充说明一点:~lammps/src/MAKE目录下的makefile.serial首行注释为“# serial = RedHat Linux box, icc, no MPI, no FFTs”这表示默认的C++编译器为Intel 的icc, 如果你按照前述安装了build-essential, 需要你将该文件中以下几行中出现的两个icc改为gcc然后保存, 再进行编译.CC = iccCCFLAGS = -O -I../STUBS -DFFT_NONEDEPFLAGS = -MLINK = iccLINKFLAGS = -O -L../STUBSUSRLIB = -lmpiSYSLIB = -lstdc++ARCHIVE = arARFLAGS = -rcSIZE = size首先到~lammps/src/STUBS目录下, 输入make, 回车.然后返回到~lammps/src/目录下, 输入make serial, 回车.好了, 现在你会看到屏幕上的字幕流, 表示lammps正在被编译. 喝口茶, 等会儿, 剩下的事情ubuntu会帮你搞定. 如果成功编译, 在~lammps/src/目录下, 会生成了一个名为lmp_serial的可执行文件, 计算, 就是靠它了. (返回本文目录)作者:duxiao31503. 如何使用lammps进行计算先简要地说说lammps的运行过程:lammps本身没有图形界面, 模拟计算的过程都是在linux终端执行. 计算的时候, 需要用户写一个输入文件(input script), 可能还需要一个data 文件, 至于如何写输入文件, 我们稍后讨论.假设你已经写好了这个输入文件, 文件名为, 把这个 文件(如果有data文件的话, 连同data文件)和在步骤2中编译得到的lmp_serial放在同一个目录下, 如~/Desktop/compute/. 从终端进入到这个目录, 所需要的命令是:cd ~/Desktop/compute 然后, 在终端输入 ./lmp_serial < 回车. 你就会发现lammps开始计算了. 就这么简单.lammps的输出文件主要可以分为三种: 一是mmps, 这里面记录了整个计算过程屏幕上显示的所有信息, 更详细的请参照thermo、thermo_modify等命令; 另一类是与dump命令有关的输出文件, 可以输出应力、能量、原子位置、速度等等信息; 第三种是restart文件, 具体的信息请查阅write_restart命令.lammps新手一般会很快注意到下载的lammps解压之后的一个名为examples的子目录. 面对这里面的in文件中一行行看似无序的单词和数字的组合, 如何写in文件, 恐怕是新手们的最大疑问. 很多网友在一开始学习lammps 的时候, 总是问:“怎么写in文件?”, “examples目录中in文件里面的那些命令和数字是什么意思呀?”等等这些问题, 不是人家不回答, 而是实在不好回答, 无法回答. 其实你想想, 只要你会写某个MD模拟过程的in文件了, 那lammps就完全可以计算了, 那剩下的工作仅仅是数据的后处理. 如何写in文件这要你首先看懂lammps手册!!!下一章, 我们就讲讲lammps的manual.pdf的结构和一些对阅读这个手册的建议. (返回本文目录)===================================================================== =====4. 关于manual.pdf(20/JUL/07)的阅读建议该manual.pdf(在lammps-*/doc目录中)有454页之多, 如果你要完全看完, 是要话一段时间和精力的. 我刚开始学习的时候, 在群里问学习lammps 的方法, 有网友说:“RTFM!”我很好奇这四个字母是什么意思, 他解释说:“Read The Fucking Manual!”呵呵, 看来, 读manual很痛苦这并不是个别现象, 如果你一开始看manual觉得很郁闷, 千万不要灰心放弃, 一定要坚持下去.再者说, 对于学习任何事物的新手, 给了400多页的资料, 也绝对不应该一开始就从第一页一个字一个字地读到最后一页. 要学会把厚书读薄, 再把薄书读厚. 我大体上看了一下manual.pdf, 里面所有的内容在lammps的官网上都可以找到. 我个人很不欣赏manual.pdf中后面的命令编排方式, 而喜欢看lammps官方网页, 一目了然, 控制自如, 我个人觉得看manual.pdf会增加我的痛苦, 呵呵.上一段提到的“把厚手册读薄, 再把薄手册读厚. ”通过下面我的建议来体会这句话的含义. (注意, 仅仅是建议)(0)理解一点分子动力学的基本理论这段话是写给那些跟我一样的那些刚接触lammps的时刻也是刚接触MD 的时刻的新手的, 而大多数人应该不存在这个问题. MD作为一个庞大的理论体系, 你不可能短时间内就理解的很透彻, 但是, 像“MD基本方程、积分算法、周期性边界条件、系综、驰豫” 等等这些名词你应该大体知道是什么意思吧, 要不然的话, 看lammps手册的痛苦将无法用语言形容.我推荐给这样的新手一篇文献:文玉华, 朱如曾, 周富信, 王崇愚, 分子动力学模拟的主要技术, 力学进展 , 1(2003), P.65-73.当然, 我相信你也应该清楚, 如果你要用lammps做MD的话, 从上面的那篇文献所学到的知识远远不够, 请继续查阅和学习大量的MD书籍文献, 最好是看英文的. 说实话, 我们不得不承认大部分中文文献没什么意思.(1)通览一遍手册大体上翻翻muanual.pdf, 你就会发现, 除了两页的目录, 前面95页是叫做Documentation的一部分; 后面的是叫做Comannds的一部分, 有357页之多.Documentation部分共分为10章. 我们来分解一下这95页的内容.前面的19页, 也就是第一章Introduction和第二章Getting started. 部分内容步骤1和步骤2中都有所涉及了, 但愿我在前面两个步骤中的讲解多少能帮助你提高这部分的阅读速度. 但是, 毕竟也只是部分内容, 没有涉及到的部分里面也有一些很重要的内容, 但是我个人感觉可能有些也用不到, 可以有选择地看一下.第三章Comannds是第22页到第27页共6页的内容, 建议你快速扫一眼之后就去看下一章吧. 为了避免步骤4中的内容太多了, 我们将在步骤5中单独来详细讨论这一章.第四章How-to discussions, 里面的这14小节, 建议你仔细看一下, 对于不同的问题, 有几个小节讲述的内容还是很重要的. 其实这部分在manual.pdf中也就12页.针对第五章(3页)提到的Example problem, 顺便说一下, 在步骤2中你解压获得的lammps-*的文件夹, 里面有个examples子目录. 这个子目录里面是lammps提供的十几个例子, 从各个例子中的in文件, 你可以大体了解一下in文件的结构. 记得以前我跟一个师弟说, 如果你看着in文件, 能够从脑海里想象出来这个in文件运行之后的结果, 并且, 你想象的结果符合真实运行后的结果的话, 那说明这个in文件涉及的相关命令和参数你是真的理解了.第6、7、8三章的内容, 分别是2页、5页、12页, 根据你要模拟的系统中的具体问题, 有选择性的看一下.第9章Errors, 共33页. 这部分你根本没有必要现在看它. 运行lammps时可能遇到报错, 你可以到这里查, 不过呢, 不要奢望在这里查到很好的解决问题的办法.第10章, 就3页, 貌似没什么东西, 呵呵.Commands这部分呢, 是详细的讲述了lammps的各个命令的功能、语法格式、各参数的意义、使用注意事项、默认值等等内容. 该部分关于各个命令的详细介绍, 我建议你结合manual.pdf 的3.3和3.4两节来体会它, 顺便可以了解in文件的结构. 本文中的步骤5也会帮助你阅读这部分的. 每个命令的功能在第一段话中就已经说了个大概, 既然是先通览一遍, 那么只需要先看这一段就行了, 后面的相关参数的设置讲解, 暂时先不要理它.整个这个通览的过程不会花太长的时间, 2-3天应该可以完成. 之后, 你对lammps应该有了一个大致的了解(也就是把厚手册读薄), 这个了解应该比你最最开始看features.html和non_features.html两个网页要深刻得多, 我的意思是你现在应该大体上知道你的模拟过程会用到哪些命令了, 如果不能的话, 我建议你再重复这个过程, 同时结合examples中的算例以及下面的两个网页:/pictures.html,/movies.html.(2)仔细阅读你要进行的模拟所需要的命令lammps功能强大, 可以做各个方面的分子动力学模拟, 但是针对一个具体的MD模拟过程, 可能只需要用到其中的部分命令.通过对手册3.3和3.4节的学习, 已经对手册Commands这部分的通览, 你应该能知道哪些命令在你的这次模拟中是有用的. 然后, 你就可以逐字地仔细阅读那些命令了, 遇到MD原理相关的而你不懂的, 要认真去查阅相关资料弄懂(把薄手册读厚). 这个时候, 可不要再抱有任何通览阶段的心态, 如果你错过或是误解了一句话, 都可能对你的计算带来难以估计的影响. 因为对我们这些做计算机模拟的人来说, lammps就是一个黑盒子, 你给它in文件, lammps输出各种数据, 如果你对用到的命令都不熟悉, 如何分析模拟结果的合理与否呢? 不过也不要紧张, 下一章再简单讲一些Commands这部分, 以帮助你完成这个过程. (返回本文目录)===================================================================== =====5. Comannds 的简单讲解英文水平不高, 以下的东西我大概翻译了一下主要意思, 有的忽略没翻译, 所以你要认真阅读手册中的第三章. 以下章节命名规则按照lammps手册.mands这一章描述了lammps输入文件的格式和在定义lammps模拟所需要的命令.3.1 LAMMPS input script我们用lammps做分子动力学模拟, 需要一个输入文件. lammps在执行计算的时候, 从这个文本文件中逐行读入命令. 大多数情况, lammps输入文件中各个命令的顺序并不是很重要. 但是你要注意以下几点:(1) lammps并不是将你的输入文件全部读入之后才开始进行计算的, 或者说, 每条命令在它被读入之后就会起作用了. 注意, 下面两组命令的执行效果是不相同的.timestep 0.5run 100run 100和run 100timestep 0.5run 100(2) 有些命令只有在另一些命令已经被定义的情况下才有效. 例如如果你要设定一组原子的温度, 那么用group命令定义哪些原子属于这个组才行.(3) 还有一种情况就是: 命令B要用到命A设置的一些数值, 这样你也不能颠倒这两个命令的顺序.每个命令的详细介绍中的Restrictions部分会说明要使用该命令定义的时候哪些命令必须要被预先定义.如果你的输入文件书写的格式有问题, lammps在执行的时候会提示ERROR或者WARNING , 出现类似信息时, 你可以到手册的第九章中查询原因.3.2 Parsing rules输入文件中的每一非空行都被认为是一条命令. lammps中命令的书写是对大小写敏感的, 不过一般的命令和参数都是小写的, 大写字母用于极少数的情况.(1) 命令行后的 & 表示这一行跟下一行是同一条命令. 这一点跟FORTRAN很像.(2) 命令行最开始的 # 表示这一行在执行过程中被忽略, 你可以用它来写注释.(3) $ 是跟声明变量有关系的, 我暂时还没用到过, 具体请参阅variable命令的详细介绍.(4) 命令行被tabs, spaces间隔成各个“words”, 注意这里的“words”可以包含字母、数字、下划线、或标点符号.(5) 一行中第一个词是命令名, 后续的词是相关的参数.(6) 双引号内的文字空格被整体地当作一个参数, 其中的 # 或 $ 就没有前面说的作用了.3.3 Input script structurelammps的输入文件一般分为4个部分Initialization, Atom definition, Settings, Run a simulation后面的两个部分可以按照需要多次重复. Remember that almost all the commands need only be used if a non-default value is desired.(1) Initialization在你的模拟体系定义之前, 一些参数必须要被设置. 相关的命令有:units, dimension, newton, processors, boundary, atom_style,atom_modify.units: 选择单位系统, lammps提供了lj、real、metal三种单位系统dimension: 2d模拟还是3d模拟, 默认是3dboundary: 边界条件:周期性边界or自由边界atom_style: 定义你的模拟体系中的原子属性, 注意这个style要区分后面设置力场参数时命令里提到的atom type还有, 这些命令告诉lammps在你的模拟中使用何种力场: pair_style, bond_style, angle_style, dihedral_style, improper_style.(2) Atom definitionlammps提供3种方式定义原子:① 通过read_data或read_restart命令从data或restart文件读入, 这些文件可以包含分子拓扑结构信息.② 按照晶格的方式创建原子(不包含分子拓扑信息), 你会用到这几个命令: lattice, region, create_box, create_atoms.③ 已经设置好的原子可以用replicate命令复制以生成一个更大规模的模拟体系.(3)Settings原子和分子的拓扑信息定义好后, 你要制定一系列的设置: 力场系数、模拟参数、输出选项等等.力场系数可以通过这些命令定义: pair_coeff, bond_coeff, angle_coeff, dihedral_coeff, improper_coeff, kspace_style, dielectric,special_bonds. 注意, 其实力场系数也可以在data文件中制定, 详见read_data命令介绍.各种模拟参数由这些命令设置: neighbor, neigh_modify, group, timestep, reset_timestep, run_style, min_style, min_modify.我觉得fix命令是lammps中很重要的一个命令, 它包括很多子命令, 可以施加一系列的边界条件、时间积分、诊断选项等等.模拟过程中通过下面的命令制定lammps进行各种计算: compute, compute_modify, variable.输出选项由thermo, dump, restart命令设置.(4)Run a simulation使用run命令开始一个分子动力学模拟, 用minimize命令来实施能量最小化(molecular statics), 使用temper命令来进行paralleltempering(replica-exchange) simulation.3.4 Commands listed by category这一节分门别类地列出了lammps的所有命令. 注意有些命令的有些选项是特定的lammps package的一部分, 也就是说只有在编译lammps的时候包括了这些packages, 这些命令才能被使用. 默认情况下编译lammps并不包括所有的packages. 这些依赖关系在相关命令的详细介绍中Restrictions部分中列出了.Initialization: atom_modify, atom_style, boundary, dimension, newton, processors, unitsAtom definition: create_atoms, create_box, lattice, read_data, read_restart, region, replicateForce fields: angle_coeff, angle_style, bond_coeff, bond_style, dielectric, dihedral_coeff, dihedral_style, improper_coeff,improper_style, kspace_modify, kspace_style, pair_coeff, pair_modify, pair_style, pair_write, special_bondsSettings: communicate, dipole, group, mass, min_modify,min_style, neigh_modify, neighbor, reset_timestep, run_style, set, shape, timestep, velocityFixes: fix, fix_modify, unfixComputes: compute, compute_modify, uncomputeOutput: dump, dump_modify, restart, thermo, thermo_modify, thermo_style, undump, write_restartActions: delete_atoms, delete_bonds, displace_atoms,displace_box, minimize, run, temperMiscellaneous: clear, echo, if, include, jump, label, log, next, print, shell, variable (返回本文目录)===================================================================== =====6. 解决问题的途径关于使用lammps可能会遇到的一些问题, 下面是我遇到解决疑难的一些途径, 与大家共享, 欢迎补充.可以从这个网页看怎么加入lammps的邮件组, 有问题可以发邮件提问.lammps的主要作者: Steve Plimpton, 他的email是sjplimp@材料科学论坛-分子动力学模拟版不时也会有人讨论lammps.lammps分子动力学模拟学习互助交流, 这是一个关于lammps的专门论坛, 刚开张没多久, 现在人气还不是很旺, 希望大家多多去交流lammps学习的心得.SimuWorld另外, 我知道有两个和lammps相关的QQ群:37468072----lammps分子动力学19097619----材料研盟I分子动力学(这个群人数已达上限, 不太好加入) (返回本文目录)===================================================================== =====7. 写在最后面的话以上好多内容直接引自lammps官方网页, 那就按照它的规则, 在这里再次标注出其网址:/提醒:感谢lammps的作者们为我们无私的奉献了这么一款很好的代码, 如果你要发表的论文用到了lammps做计算, 请认真阅读下面的内容.What if I write a paper using LAMMPS results?Please cite the paper that describes LAMMPS and include a pointer to the LAMMPS WWW Site .Details are discussed in this section of the LAMMPS documentation.If you send me a citation for your paper, we'll include it on the Publications page of the LAMMPS WWW Site . Ditto for a picture or movie for the Images page.关于步骤5中lammps命令的讲解, 限于本人的水平, 不可能讲的很详细. 怎么说呢, 前几天在群中讨论呢, 打算以后组织一下全部翻译lammps的手册, 可是我这几天写这个“指南”, 心里又有了一些感触, 我不是很赞成翻译lammps手册了, 不是我偷懒或是逃避什么, 原因如下: 翻译lammps手册, 看似新手用起来很方便, 其实只是表面现象, 这培养了人的惰性. 我个人觉得, 不管你英文水平怎么样, 你都是应该去看英文手册的, lammps手册中的英文基本没有太复杂的句型, 可能有些比较专业的名词你没见过, 但是我想英文水平高一点的人看手册也要不停地查字典的. 还有就是, 翻译了手册, 你相信它的准确性吗? 我在大四上学期是学习Fluent的, 当时清洁能源网是组织人把Fluent 的帮助文档翻译完了的. 的确, 它帮助我很快的学习了Fluent的基本应用. 但是我不敢100%的相信他们的翻译, 我看的时候也是一边看中文一边对照英文的, 既然这样, 翻译的效果就大打折扣了. 如果你的英文水平不好, 看看lammps手册, 也算提高一下阅读能力吧, 毕竟我们做模拟的以后要看的文献绝大多数都是英文的, 而那些文献, 一般是不会有中文翻译的.上面所说的我不赞成lammps手册的翻译, 并不是说我以后就不为lammps的学习交流做什么了. 我的意思是, 没有必要逐字翻译的. 对于某些关键命令的讲解, 还是要翻译的. 还有就是针对各个命令, 写一些使用这个命令的体会, 如:可能会遇到什么问题, 是怎么解决的, 这个命令相关的MD原理的文献推荐等等. 我觉得把功夫下在这方面会比逐字翻译lammps手册要好些, 是吗? 呵呵, 总之, 通过大家的交流来更有效地提到大家对lammps的理解和应用能力是我们共同的目的, 大家多多讨论.整篇“指南”到目前为止, 只是写了一个大体的框架, 以后我会按照我的思路, 结合我继续学习lammps的体会, 继续丰富这篇“指南”的, 尤其是好好写好步骤5, 谢谢大家的关注. (返回本文目录)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
不管采用什么途径,只要data文件格式符合要求,lammps就可以读入 Materials studio结合msi2lmp写入data文件 在MS搭建好模型 在Modules中选择Discover模块,将Forcefield设置为cvff
Calculate之后将构型文件Export,保存为*.car *.cor类型
方程中包含了所有的原子核及电子的哈密度量和波函数
密度泛函理论:
H ( (r )) E ( (r ))
用电子密度代替电子坐标,减少自由的计算
分子动力学模拟 ? :解牛顿运动方程的过程
Fi (t ) a i (t ) 利用 mi ,先由各个原子的位置计算系统的势能,
得到各个原子所受的力及加速度,然后计算各原子在经过△T之后
不同的atom_style, data文件格式不尽相同
定义原子坐标的格式
atomic charge full hybrid atom-ID atom-type x y z atom-ID atom-type q x y z atom-ID molecule-ID atom-type q x y z atom-ID atom-type x y z sub-style1 sub-style2 ….
的位置及速度;由新的位置计算系统的势能,得到各原子的受力及
加速度。反复循环,就可以得到系统中原子的运动轨迹并输出相关
的热力学数据。
优势: 把整个原子作为一个质点进行模拟,减少了自由度的计算, 加大了可计算的体系的空间和时间尺度,简化数据处理和 分析。
二、Lammps软件的基本介绍
Lammps?
Large-scale Atomic/Molecular Massively Parallel Simulator
大规模原子/分子并行模拟器 简单的来说,Lammps就是一个可根植于Windows和Linux系统 的经典分子动力学代码;根据不同的边界条件和初始条件对相互 作用的分子,原子,宏观粒子集合进行牛顿运动方程积分,并输 出相关的热力学数据。
优点: 免费开源的代码;可以根据需要修改、扩展计算程序(C++) 可对固、液、气三种状态的物质进行模拟 能模拟多种模型体系(原子,聚合物,有机分子,粒子材料) 模拟体系可达上百万个粒子(计算资源) 方便的并行计算
(4)Run a simulation 使用run命令开始一个分子动力学模拟; 用minimize命令来实施能量最小化(molecular statics)
Initialization units Syntax: units style style = lj or real or metal or si or cgs or electron Examples: units lj units metal dimension Syntax: dimension N N = 2 or 3 Examples: dimension 3
In文件结构 一般分为4个部分:Initialization, Atom definition, Settings, Run a simulation
(1) Initialization
模拟体系之前, 一些参数必须要被设置. 相关的命令有:units, dimension, boundary, atom_style 等.
直接export保存为*.car *.cor类型 将保存的两个文件**.car和**.mdf 复制到msi2lmp的工作路径 在msi2lmp路径下执行 ./msi2lmp.exe ** -class I -frc cvff > data.**
settings
力场参数(势函数的调用) pair_style pair_coeff Examples: pair_style eam/alloy pair_coeff * * AlCu.eam.alloy Al Cu pair_style eam/alloy pair_coeff * * AlCu.eam.alloy Al Al Al Cu pair_style pair_coeff pair_style pair_coeff eam 1 1 Al.eam eam 2 2 Cu.eam pair_style eam/alloy pair_coeff * * AlCu.eam.alloy Cu Al
#关键字:定义原子质量 #定义第一种原子质量 #定义第二种原子质量 #关键字:定义原子坐标
1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 2 2 2 2 2
0.000000000 0.000000000 2.022364706 2.022364706 0.000000000 2.022364706 0.000000000 2.022364706 0.000000000 2.022364706
模拟流程:
三、Lammps模拟的相关命令
一般而言,一个Lammps工作目录需要包含以下几个文件;
La件(in文件)
势函数文件(…eam.alloy , …tersoff, …sw)
data文件(体系的初始构型)
MPI并行文件(多核运行计算)
脚本文件的内容及书写格式
boundary Fixed boundary (f)
Free boundary (s)
柔性边界 (m): 允许边界上的粒子有微小 移动以反映内层粒子的作用力施加到它 们身上的情况
Periodic boundary (p)
Syntax: boundary x y z x, y, z = p or s or f or m, one or two letters Examples: boundary p p f boundary p fs p boundary s f fm 边界条件不同,模拟所得到的结果会有所不同,应根据实际模拟的 问题和选用的系综来选取合适的边界条件
pair_style eam/alloy pair_coeff * * AlCu.eam.alloy Cu
neighbor neighbor cutoff distance = force cutoff + skin distance Syntax: neighbor skin style skin = extra distance beyond force cutoff (distance units) style = bin or nsq or multi Examples: neighbor 0.3 bin neighbor 2.0 nsq 三种算法(处理器分配的原子数) bin: N/P nsq: (N/P)^2 默认值 2.0 bin for units = real or metal, skin = 2.0 Angstroms
0.000000000 33.825999948 #原子坐标:原子编号 原子类型 x坐标 y坐标 z坐标 0.000000000 102.667499948 2.022364706 33.825999948 2.022364706 102.667499948 2.022364706 35.850749948 0.000000000 35.850749948 0.000000000 37.875499948 2.022364706 37.875499948 2.022364706 39.900249948 0.000000000 39.900249948
(3)settings 原子信息定义好后, 要定义一系列的设置: 力场系数、模拟参数、输出选项 等. 力场系数可以通过这些命令定义: pair_style , pair_coeff , bond_coeff , angle_coeff 等。 各种模拟参数由这些命令设置: neighbor, group, timestep, reset_timestep , run_style , min_style. fix命令是lammps中很重要的一个命令, 它包括很多子命令, 对体系施加 一系列的约束条件,选择系综等等. 设定 lammps进行各种计算: compute, variable. 输出选项由thermo, dump, restart命令设置.
外部搭建模型
LAMMPS 2013 data file for alcucouple 61968 atoms #总原子数 #注释行
2 atom types
#原子类型
#模拟盒子x方向尺寸 #模拟盒子y方向尺寸 #模拟盒子z方向尺寸
0.000000000 68.760400000 xlo xhi 0.000000000 68.760400000 ylo yhi 0.000000000 186.420900000 zlo zhi Masses 1 26.982000 2 63.546001 Atoms
atom_style Syntax: atom_style style args style = atomic or body or charge or dipole or electron or full or molecular or peri or sphere or tri or hybrid Examples: atom_style atomic atom_style full
bonds = # of bonds in system angles = # of angles in system dihedrals = # of dihedrals in system impropers = # of impropers in system bond types = # of bond types in system angle types = # of angle types in system dihedral types = # of dihedral types in system improper types = # of improper types in system