
lammps输入文件命令中文详解.doc
31页作者:御剑江湖 收录日期:2011-03-31 发布日期:2011-03-24Comma nds描述了 lammps输入文件的格式和在定义 lammps模拟所需要的命令.1.1 LAMMPS in put script我们用lammps做分子动力学模拟,需要一个输入文件.lammps在执行计算的时 候,从这个文本文件中逐行读入命令 .大多数情况,lammps输入文件中各个命令的顺序并不是很重要•但是你要注意以下几点:(1) lammps并不是将你的输入文件全部读入之后才开始进行计算的 ,或者说,每条命令在它被读入之后就会起作用了 .注意,下面两组命令的执行效果是不相同的timestep 0.5run 100run 100和run 100timestep 0.5 run 100(2) 有些命令只有在另一些命令已经被定义的情况下才有效 .例如如果你要设定一组原子的温度,那么用group命令定义哪些原子属于这个组才行 .(3) 还有一种情况就是:命令B要用到命 A设置的一些数值,这样你也不能颠倒 这两个命令的顺序.每个命令的详细介绍中的 Restrictions部分会说明要使用该命令定义的时候哪些命令必须要被预先定义.如果你的输入文件书写的格式有问题 ,lammps在执行的时候会提示 ERROR或者WARNING ,出现类似信息时,你可以到手册的第九章中查询原因 .1.2 Parsi ng rules输入文件中的每一非空行都被认为是一条命令 .lammps中命令的书写是对大小写敏感的,不过一般的命令和参数都是小写的 ,大写字母用于极少数的情况.(1) 命令行后的 &表示这一行跟下一行是同一条命令 .这一点跟 FORTRAN 很像.(2) 命令行最开始的 #表示这一行在执行过程中被忽略,你可以用它来写注释•(3) $是跟声明变量有关系的,我暂时还没用到过,具体请参阅variable命令的 详细介绍.(4) 命令行被tabs, spaces间隔成各个 words ”,注意这里的 words "可以包含字母、数字、下划线、或标点符号 .(5) 一行中第一个词是命令名,后续的词是相关的参数.(6) 双引号内的文字空格被整体地当作一个参数 ,其中的#或$就没有前面说的作用了 .1.3 In put script structurelammps 的输入文件一般分为 4 个部分 In itializatio n, Atom defi ni tio n, Sett in gs, Runa simulatio n后面的两个部分可以按照需要多次重复 .Remember that almost all the comma nds n eed only be used if a non-default value is desired.(1) In itializatio n在你的模拟体系定义之前,一些参数必 须要被设置•相关的命 令有:units, dime nsion, n ewt on, processors, boun dary, atom_style, atom_modify.units:选择单位系统,lammps提供了 lj、real、metal三种单位系统dimension: 2d 模拟还是3d模拟,默认是3dboundary:边界条件:周期性边界 or自由边界atom_style:定义你的模拟体系中的原子属性 ,注意这个style要区分后面设置力场参数时命令里提到的 atom type还有,这些命令告诉 lammps在你的模拟中使用何种力场 :pair_style, bond_style,an gle_style, dihedral_style, improper_style.(2) Atom defin itionlammps提供3种方式定义原子:① 通过read_data 或read_restart命令从data或restart文件读入,这些文件可以包含分子拓扑结构信息② 按照晶格的方式创建原子(不包含分子拓扑信息),你会用到这几个命令:lattice, regi on, create_box, create_atoms.③ 已经设置好的原子可以用 replicate命令复制以生成一个更大规模的模拟体系 .⑶ Setti ngs原子和分子的拓扑信息定义好后 ,你要制定一系列的设置:力场系数、模拟参数、输出选项等等.力场系数可以通过这些命令定义 :pair_coeff, bond_coeff, angle_coeff, dihedral_coeff,improper_coeff, kspace_style, dielectric, special_b on ds. 注意,其实力场系数也可以在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) simulatio n.1.4 Comma nds listed by category这一节分门别类地列出了 lammps的所有命令.注意有些命令的有些选项是特定的lammps package 的一部分,也就是说只有在编译 lammps的时候包括了这些 packages, 这 些命令才能被使用.默认情况下编译lammps并不包括所有的 packages.这些依赖关系在相关命令的详细介绍中 Restrictions部分中列出了 .In itializati on: atom_modify, atom_style, boun dary, dime nsion, n ewt on,processors, un itsAtom defi niti on: create_atoms, create_box, lattice, read_data, read_restart, regi on, replicateForce fields: an gle_coeff, an gle_style, bon d_coeff, bon d_style, dielectric, dihedral_coeff, dihedral_style, improper_coeff, improper_style, kspace_modify, kspace_style, pair_coeff, pair_modify, pair_style, pair_write, special_b ondsSett in gs: com mun icate, dipole, group, mass, min _modify, min _style,n eigh_modify, n eighbor, reset_timestep, run _style, set, shape, timestep, velocityFixes: fix, fix_modify, unfixComputes: compute, compute_modify, un computeOutput: dump, dump_modify, restart, thermo, thermo_modify, thermo_style, un dump, write_restartActions: delete_atoms, delete_b on ds, displace_atoms, displace_box, mini mize,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计算出所需的存储空间,运行中每隔几个时步显示一次热力学状态,直至输出最终状态该部分显示了几个大类的计算时间Loop time of 49.002 on 2 procs for 2004 atomsPair time (%) = 35.0495 (71.5267)Bond time (%) = 0.092046 (0.187841)Kspce time (%) = 6.42073 (13.103)Neigh time (%) = 2.73485 (5.5811)Comm time (%) = 1.50291 (3.06703)Outpt time (%) = 0.013799 (0.0281601)Other time (%) = 2.13669 (4.36041)Nlocal: 1002 ave, 1015 max, 989 min 每个处理器中特定原子的数目Histogram: 1 0 0 0 0 0 0 0 0 1Nghost: 8720 ave, 8724 max, 8716 minHistogram: 1 0 0 0 0 0 0 0 0 1Neighs: 354141 ave, 361422 max, 346860 minHistogram: 1 0 0 0 0 0 0 0 0 1Total # of n eighbors = 708282Ave n eighs/atom = 353.434Ave special neighs/atom = 2.34032Number of ren eighbori ngs = 42Dan gerous ren eighbori ngs = 2当运用了能量最小化命令进行能量最小化时,还将出现如下所示语句:Mini mizatio n stats:E in itial, next-to- last, final =- 0.895962 - 2.94193 -2.94342 (显示初终能量以及next-to-last 循环的能量)Gradient 2 -norm init/final= 1920.78 20.9992 (给出能量梯度,即所有原子的受力)Gradient inf - norm init/final= 304.283 9.61216 2-form 是力向量的长度,inf-form 是最大构成?Iterati ons = 36 循环次数。












