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 步模拟。

  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指令的用途是对一组原子进行定义,可以用于更新原子的位置、速度、控制温度、加常力、施加边界条件等。

相关文档
最新文档