lammps学习friction程序教程文件

合集下载

lammps20版使用手册

lammps20版使用手册

LAMMPS 20版:分子动力学模拟的全新体验LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)是一款开源的分子动力学模拟软件,广泛应用于材料科学、化学、生物学、地球物理学等多个领域。

随着科技的不断发展,LAMMPS也在不断更新迭代,最新版本为LAMMPS 20版。

我们将以LAMMPS 20版使用手册为中心,介绍LAMMPS 20版的新特性、应用场景以及使用技巧,带您一起探索分子动力学模拟的全新体验。

新特性:更高效、更精确LAMMPS 20版相较于旧版有了很多改进和升级。

LAMMPS 20版支持更多的硬件平台,包括GPU、MPI、OpenMP等,大大提高了计算效率。

LAMMPS 20版新增了一些功能模块,如新的分子力场、新的计算器、新的输出格式等,使得模拟更加精确、更加方便。

LAMMPS 20版还优化了一些算法和数据结构,如改进的Lennard-Jones势函数、新的动态网格算法等,使得模拟更加稳定、更加准确。

应用场景:多领域研究工具LAMMPS 20版作为一款通用的分子动力学模拟软件,被广泛应用于多个领域的研究中。

在材料科学领域,LAMMPS 20版可以用于模拟材料的物理性质,如弹性模量、热膨胀系数、热导率等。

在化学领域,LAMMPS 20版可以用于模拟化学反应的动力学过程,如溶剂化、化学反应速率等。

在生物学领域,LAMMPS 20版可以用于模拟蛋白质的结构和动力学性质,如蛋白质折叠、蛋白质-蛋白质相互作用等。

在地球物理学领域,LAMMPS 20版可以用于模拟地球内部的物理和化学过程,如岩石的形成、地震的发生等。

LAMMPS 20版是一款功能强大、通用性强的分子动力学模拟软件,适用于多个领域的研究。

使用技巧:从入门到精通LAMMPS 20版使用手册详细介绍了LAMMPS的安装、使用、参数设置等方面的内容,对于初学者来说是一个很好的入门指南。

lammps使用方法

lammps使用方法

lammps使用方法LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) is a widely used open-source molecular dynamics simulation software. To use LAMMPS, the first step is to download the software from the official website and install it on your computer. Then, you need to prepare input files that define the system you want to simulate, including the atoms, their interactions, and the simulation parameters. LAMMPS input files are typically written in a simple text format and can be created using a text editor. Once the input files are ready, you can run LAMMPS using the command line interface, specifying the input file as an argument. During the simulation, LAMMPS will output data files containing information about the system's evolution, which can be analyzed and visualized using various post-processing tools. Additionally, LAMMPS has a versatile and extensive documentation, including a user manual, tutorials, and examples, which can help users to understand and utilize the software effectively.中文翻译:LAMMPS (大规模原子/分子大规模并行模拟器)是一款广泛使用的开源分子动力学模拟软件。

LAMMPS手册-中文版讲解

LAMMPS手册-中文版讲解

LAMMPS‎手册-中文解析一、简介本部分大至介‎绍了LAMM‎PS的一些功‎能和缺陷。

1.什么是LAM‎M PS?LAMMPS‎是一个经典的‎分子动力学代‎码,他可以模拟液‎体中的粒子,固体和汽体的‎系综。

他可以采用不‎同的力场和边‎界条件来模拟‎全原子,聚合物,生物,金属,粒状和粗料化‎体系。

LAMMPS‎可以计算的体‎系小至几个粒‎子,大到上百万甚‎至是上亿个粒‎子。

LAMMPS‎可以在单个处‎理器的台式机‎和笔记本本上‎运行且有较高‎的计算效率,但是它是专门‎为并行计算机‎设计的。

他可以在任何‎一个按装了C‎++编译器和MP‎I的平台上运‎算,这其中当然包‎括分布式和共‎享式并行机和‎B e owul‎f型的集群机‎。

LAMMPS‎是一可以修改‎和扩展的计算‎程序,比如,可以加上一些‎新的力场,原子模型,边界条件和诊‎断功能等。

通常意义上来‎讲,LAMMPS‎是根据不同的‎边界条件和初‎始条件对通过‎短程和长程力‎相互作用的分‎子,原子和宏观粒‎子集合对它们‎的牛顿运动方‎程进行积分。

高效率计算的‎LAMMPS‎通过采用相邻‎清单来跟踪他‎们邻近的粒子‎。

这些清单是根‎据粒子间的短‎程互拆力的大‎小进行优化过‎的,目的是防止局‎部粒子密度过‎高。

在并行机上,LAMMPS‎采用的是空间‎分解技术来分‎配模拟的区域‎,把整个模拟空‎间分成较小的‎三维小空间,其中每一个小‎空间可以分配‎在一个处理器‎上。

各个处理器之‎间相互通信并‎且存储每一个‎小空间边界上‎的”ghost”原子的信息。

LAMMPS‎(并行情况)在模拟3维矩‎行盒子并且具‎有近均一密度‎的体系时效率‎最高。

2.LAMMPS‎的功能总体功能:可以串行和并‎行计算分布式MPI‎策略模拟空间的分‎解并行机制开源高移植性C++语言编写MPI和单处‎理器串行FF‎T的可选性(自定义)可以方便的为‎之扩展上新特‎征和功能只需一个输入‎脚本就可运行‎有定义和使用‎变量和方程完‎备语法规则在运行过程中‎循环的控制都‎有严格的规则‎只要一个输入‎脚本试就可以‎同时实现一个‎或多个模拟任‎务粒子和模拟的‎类型:(atom style命‎令)原子粗粒化粒子全原子聚合物‎,有机分子,蛋白质,DNA联合原子聚合‎物或有机分子‎金属粒子材料粗粒化介观模‎型延伸球形与椭‎圆形粒子点偶极粒子刚性粒子所有上面的杂‎化类型力场:(命令:pair style, bond style, angle style, dihedr‎al style, improp‎er style, kspace‎style)对相互作用势‎:L-J, Buckin‎g ham, Morse, Yukawa‎, soft, class2‎(COMPAS‎S), tabula‎t ed.带点对相互作‎用势:Coulom‎bi c, point-dipole‎.多体作用势:EAM, Finnis‎/Sincla‎i r EAM, modifi‎e d EAM(MEAM), Stilli‎n g er-Weber, Tersof‎f, AIREBO‎, ReaxFF‎粗粒化作用势‎:D PD, GayBer‎n e, Resqua‎r ed, Colloi‎d al, DLVO介观作用势:granul‎a r, Peridy‎n amics‎键势能:harmon‎i c, FENE, Morse, nonlin‎ear, class2‎, quarti‎c键角势能:harmon‎i c, CHARMM‎, cosine‎, cosine‎/square‎d, class2‎(COMPAS‎S)二面角势能:harmon‎i c, CHARMM‎, multi-harmon‎i c, helix, OPLS, class2‎(COMPAS‎S)不合理势能:harmon‎i c, CVFF, class2‎(COMPAS‎S)聚合物势能:all-atom, united‎-atom, bead-spring‎, breaka‎bl e水势能:TIP3P,TIP4P,SPC隐式溶剂势能‎:h y drod‎y n amic‎lubric‎ation, Debye长程库伦与分‎散:Ewald, PPPM, Ewald/N(针对长程L-J作用)可以有与普适‎化力场如CH‎ARMM,AMBER,OPLS,GROMAC‎S相兼容的力‎场可以采用GP‎U加速的成对‎类型杂化势能函数‎:m ultip‎l e pair, bond, angle, dihedr‎al, improp‎e r potent‎i als(多对势能处于‎更高的优先级‎)原子创建:(命令:read_d‎a ta, lattic‎e, create‎-atoms, delete‎-atoms, displa‎c e-atoms, replic‎a te)从文件中读入‎各个原子的坐‎标在一个或多个‎晶格中创建原‎子删除几何或逻‎辑原子基团复制已存在的‎原子多次替换原子系综,约束条件,边界条件:(命令:fix)二维和三维体‎系正角或非正角‎模拟空间常NVE,NVT,NPT,NPH积分器‎原子基团与几‎何区域可选择‎不同的温度控‎制器有Nose/Hoover‎和Beren‎d sen压力‎控制器来控制‎体系的压力(任一维度上)模拟合子的变‎形(扭曲与剪切)简谐(unbrel‎l a)束缚力刚体约束摇摆键与键角‎约束各种边界环境‎非平行太分子‎动力学NEM‎D各种附加边界‎条件和约束积分器:Veloci‎t y-verlet‎积分器Brown积‎分器rRESPA‎继承时间延化‎积分器刚体积分器共轭梯度或最‎束下降算法能‎量最小化器输出:(命令:dump, restar‎t)热力学信息日‎志原子坐标,速度和其它原‎子量信息的文‎本dump文‎件二进制重启文‎件各原子量包括‎:能量,压力,中心对称参数‎,CAN等用户自定义系‎统宽度或各原‎子的计算信息‎每个原子的时‎间与空间平均‎系统宽量的时‎间平均原子图像,XYZ,XTC,DCD,CFG格式数据的前处理‎与后处理:包里提供了一‎系列的前处理‎与后处理工具‎另外,可以使用独立‎发行的工具组‎p i zza.py, 它可以进行L‎AMMPS模‎拟的设置,分析,作图和可视化‎工作。

lammps各种命令讲解

lammps各种命令讲解

作者: 御剑江湖收录日期: 2011-03-31 发布日期: 2011-03-24 Commands描述了lammps输入文件的格式和在定义lammps模拟所需要的命令.1.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 , 出现类似信息时, 你可以到手册的第九章中查询原因.1.2 Parsing rules输入文件中的每一非空行都被认为是一条命令. lammps中命令的书写是对大小写敏感的, 不过一般的命令和参数都是小写的, 大写字母用于极少数的情况.(1) 命令行后的& 表示这一行跟下一行是同一条命令. 这一点跟FORTRAN很像.(2) 命令行最开始的# 表示这一行在执行过程中被忽略, 你可以用它来写注释.(3) $ 是跟声明变量有关系的, 我暂时还没用到过, 具体请参阅variable命令的详细介绍.(4) 命令行被tabs, spaces间隔成各个“words”, 注意这里的“words”可以包含字母、数字、下划线、或标点符号.(5) 一行中第一个词是命令名, 后续的词是相关的参数.(6) 双引号内的文字空格被整体地当作一个参数, 其中的# 或$ 就没有前面说的作用了.1.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命令来进行parallel tempering(replica-exchange) simulation.1.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作者:御剑江湖一、各种文件的介绍:1 in file:建立该文件以便程序的写入2 log file:写入状态信息(if the switch is used?)3 screen file 决定结果的是否进行屏幕输出4 var name file 定义一个变量,name指变量名,可为字母也可为字符串,形式$x / $ {abc}二、屏幕输出:结果显示在屏幕上,同时在log file 中。

lammps学习指南(可编辑修改word版)

lammps学习指南(可编辑修改word版)

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使用手册一、简介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学习L-J势函数涉及各物理量单位体制.doc

lammps学习L-J势函数涉及各物理量单位体制.doc

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的量纲分析才正确。

lammps20版使用手册

lammps20版使用手册

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学习的一点汇总

(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
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
Atom definition lammps内部搭建模型 Al块体结构 lattice fcc 4.0495 #定义晶格类型 region box block 0 10 0 10 0 10 #定义模拟盒子的大小 create_box 1 box #创建模拟盒子 create_atoms 1 box #在模拟盒子中创建原子 NaCl结构 lattice custom $x a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 & basis 0.0 0.0 0.0 basis 0.5 0.5 0.0 basis 0.5 0.0 0.5 basis 0.0 0.5 0.5 & basis 0.5 0.5 0.5 basis 0.0 0.0 0.5 basis 0.0 0.5 0.0 basis 0.5 0.0 0.0 region box block 0 5 0 5 0 5 create_box 2 box create_atoms 2 box basis 1 1 basis 2 1 basis 3 1 basis 4 1 & basis 5 2 basis 6 2 basis 7 2 basis 8 2

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手册学习.doc

(完整版)LAMMPS手册学习.doc

(完整版)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教程
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手册-中文版讲解

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学习friction程序

lammps学习friction程序

#文件结构#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运行流程 -回复

lammps运行流程 -回复

lammps运行流程-回复LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) 是一款用于模拟原子分子系统的分子动力学软件。

它是由美国能源部劳伦斯伯克利国家实验室开发的,已经成为原子模拟领域的标准工具之一。

本文将介绍LAMMPS的运行流程,并详细解释每个步骤的具体内容。

LAMMPS的运行流程可以分为以下几个步骤:1. 准备输入文件运行LAMMPS之前,需要准备一个输入文件。

输入文件是一个文本文件,其中包含了模拟所需的参数、控制命令、分子结构信息等。

LAMMPS的输入文件采用一种灵活的格式,可以根据用户的需求进行配置。

2. 运行LAMMPS一旦准备好输入文件,就可以通过命令行运行LAMMPS。

在运行LAMMPS之前,需要确保计算机上已经安装了LAMMPS软件。

用户可以使用以下命令来启动LAMMPS:lammps -in input_file其中,input_file是用户准备的输入文件的路径和文件名。

3. 初始化计算当LAMMPS开始运行时,首先会读取输入文件并初始化计算。

在初始化阶段,LAMMPS会解析输入文件中的参数和命令,并根据这些信息来设置相应的计算条件。

4. 加载分子结构在初始化完成后,LAMMPS会加载分子结构。

用户可以通过在输入文件中指定分子结构的方式来定义模拟系统的初始状态。

LAMMPS支持多种方式来描述分子结构,比如通过坐标文件、拓扑文件等。

5. 定义力场在加载分子结构之后,LAMMPS需要根据用户的选择来定义力场。

一个力场是一个数学模型,用于描述原子之间的相互作用。

用户可以在输入文件中选择不同的力场来模拟不同类型的分子系统。

6. 定义计算参数在定义力场之后,用户需要设置一些计算参数。

例如,用户可以通过输入文件来定义温度、压力、时间步长等参数。

这些参数将影响到模拟的结果。

7. 进行模拟计算一旦定义了力场和计算参数,LAMMPS就可以开始进行模拟计算了。

(完整word版)lammps初学者in文件中文解析

(完整word版)lammps初学者in文件中文解析

Lammps初学者——in文件中文解析(1)初始化Units:Units命令是用来设定模拟的原子类型。

Units style(lammps现在提供的有style=LJ、real、metal、si、cgs、electron)LJ是硬球模型Real是真实的原子模型Metal是金属原子模型Si是硅(半导体)原子模型CgsElectron是电子模型Dimension:Dimension命令是用来定义模拟的维度,默认情况为三维。

Dimension N (N=2,3)Boundary:Boundary命令是用来设定模拟的边界条件。

Boundary x y z (x,y,z=p,s,f,m四种类型中的一种或者两种)P是周期性边界条件S是自由边界条件(但是具有收缩性)F是固定边界条件M是具有最小值的自由边界条件(但是具有收缩性)Atom-style:Atom-style定义了模拟体系中的原子属性。

Delete-atoms:Pair-style:Pair-style定义了相互作用力场类型,即势函数。

(2)原子定义1、Read-data/read-restart:Read-data或read-restart为从data或restart文件中读取内容来定义原子。

2、Lattice:lattice是用来原子类型构建模型晶格结构。

Lattice style scale keyword values...Style表示点阵类型,点阵类型有none、sc、bcc、fcc、hcp、diamond、sq、sq2、hex、custom。

Scale表示构建的点阵类型的单位长度Keyword表示后面可以追加0个或者多个关键字,关键字有origin、orient、spacing、a1、a2、a3、basis。

各关键字意思为:Region:Create-box:Create-box命令用于在region box命令指定的区域内创建一个模拟的盒子。

lammps运行流程 -回复

lammps运行流程 -回复

lammps运行流程-回复LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) 是一种用于分子动力学模拟的开源软件。

它被广泛应用于研究各种物质的力学、热力学和动力学性质,包括固体、液体和气体等。

本文将介绍LAMMPS 的运行流程,并逐步回答有关该软件的基本问题。

第一步:准备输入文件LAMMPS 的运行需要一个输入文件,其中包含需要模拟的系统的描述信息、模拟的时间步长、所使用的力场等。

通常,输入文件以纯文本形式保存,并使用特定的命令语法。

准备输入文件时,可以使用文本编辑器(例如Notepad++或Vim)或LAMMPS提供的输入脚本选择器等工具。

第二步:编辑输入文件输入文件的编辑是使用LAMMPS 进行模拟的关键步骤之一。

在输入文件中,您需要定义模拟系统的原子类型、原子坐标和力场参数等。

此外,您还需要设置模拟所需要的时间步长(timestep)、总模拟时间(run)以及所采用的算法和模拟方法等。

输入文件的编辑需要根据您的研究目的和系统类型进行相应调整。

第三步:运行LAMMPS在输入文件准备好之后,可以通过命令行界面或脚本运行LAMMPS。

在命令行界面中,输入以下命令以运行LAMMPS:bashlmp_serial < input_file其中,`lmp_serial` 是用于串行模式的LAMMPS 可执行文件的名称,`input_file` 是您准备的输入文件名。

此外,根据您的需求和系统的性质,还可以考虑使用并行模式或在HPC 系统上运行LAMMPS。

第四步:运行模拟一旦LAMMPS 开始运行,模拟就会按照输入文件中定义的参数逐步进行。

每个时间步长中,LAMMPS 会根据原子间相互作用力场计算每个原子的受力,并据此更新原子的位置和速度。

LAMMPS 可以模拟多种物理效应,包括体系的温度、压力以及动态性质等。

第五步:分析和后处理模拟完成后,您可以通过LAMMPS 提供的工具和命令来分析和可视化模拟结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#文件结构#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 if sum = yes, or will replace them if sum = no).# fixes#fix指令的用途是对一组原子进行定义,可以用于更新原子的位置、速度、控制温度、加常力、施加边界条件等。

相关文档
最新文档