LAMMPS命令类别详解_第1页
LAMMPS命令类别详解_第2页
LAMMPS命令类别详解_第3页
LAMMPS命令类别详解_第4页
LAMMPS命令类别详解_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LAMMPS命令类别详解LAMMPS输入脚本通常有4个部分:Initialization;Systemdefinition;Simulationsettings;Runasimulation.Initialization:相关的命令有:units,dimension,newton,processors,boundary,atom_style,atom_modify.如果要读取的文件中出现了力场参数,这些命令将告诉LAMMPS正在使用哪种力场:pair_style,bond_style,angle_style,dihedral_style,improper_style.Systemdefinition:有三种方法来定义模拟单元,为力场信息预留空间,并在LAMMPS中填充原子。分别通过read_data或read_restart命令从(1)数据文件或(2)重启文件中读取它们。这些文件还可以包含分子拓扑信息。或者(3)创建一个模拟单元,用晶格上的原子填充它(没有分子拓扑),使用以下命令:lattice,region,create_box,create_atomsorread_dump.使用replicate命令,可以复制整个原子集以进行更大的模拟。Simulationsettings:一旦定义了原子和分子拓扑,就可以指定各种设置:力场系数、模拟参数、输出选项等等。力场系数由以下命令设置(它们也可以在读取文件中设置):pair_coeff,bond_coeff,angle_coeff,dihedral_coeff,improper_coeff,kspace_style,dielectric,special_bonds.各种模拟参数由以下命令设置:neighbor,neigh_modify,group,timestep,reset_timestep,run_style,min_style,min_modify.修复会强加各种边界条件、时间积分和特征选项。Fix命令有多种形式。可以使用compute、compute_modify和variable命令指定模拟期间执行的各种计算。输出选项由Thermo,Dump和Restart命令设置。Runasimulation:使用run命令运行分子动力学模拟。使用minimize命令来执行能量最小化(分子静力学)。可以使用temper命令运行并行回火(副本交换)模拟。Initialization1.1unitsunits关键字用来说明整个模拟体系所涉及到的物理量的单位制,后面的参数lj是在告诉LAMMPS所有物理量都采用无量纲的约化单位。LAMMPS还有很多种单位制可以选择,这需要根据实际体系来具体考虑,例如:unitssi;unitsmetal;unitslj;unitsreal;unitsstyle(style=ljorrealormetalorsiorcgsorelectronormicroornano)对于除lj以外的所有单位,LAMMPS使用来自的物理常数。对于以实际单位为千卡的定义,LAMMPS使用1卡路里=4.184J。对于lj,所有量都是无单位的。在不失一般性的前提下,LAMMPS设置基本量:质量,σ,ε,和玻尔兹曼常数kB=1。指定的质量,距离和能量是这些基本值的倍数。还给出了将减少或无单位数量与相同数量单位相联系的公式。因此,您可以使用质量&σ&ε值,然后将无单位LJ模拟的结果转换为物理量。1.2newton此命令可打开或关闭牛顿的第三定律以进行成对和键合交互。对于大多数问题,将牛顿的第三定律设置为“开”意味着在计算上节省了适度的时间,但通讯量却增加了两倍。是否更快,取决于问题的大小,强制截止长度,机器的计算/通信比率以及使用的处理器数量。newtonflag#flag=onoroff成对和键合相互作用都打开或关闭newtonflag1flag2#flag1=onoroff成对交互作用打开或关闭#flag2=onoroff键合相互作用打开或关闭Setupsimulationboxboundary在每个维度中为全局模拟框设置边界样式。单个字母将相同的样式分配给框的下表面和上表面。两个字母将第一种样式分配给下表面,将第二种样式分配给上表面。模拟框的初始大小由read_data,read_restart或create_box命令设置。对于样式p表示盒子是周期性的,因此粒子可以跨边界交互,并且它们可以退出盒子的一端并重新进入另一端。样式f,s和m表示盒子是非周期性的,因此粒子不会越过边界相互作用,也不会从盒子的一侧移动到另一侧。对于样式f,面的位置是固定的。如果一个原子移动到面外,它将在下一个发生重钻孔的时间步被删除。这通常会生成错误,除非您已将thermo_ModifyLost选项设置为允许丢失原子。对于样式s,面的位置设置为包含该维度中的原子(收缩包裹),无论它们移动多远。请注意,如果当前长方体尺寸与收缩包络长方体尺寸之间的差异很大,则在并行运行时,这可能会导致在运行开始时丢失原子。这是由于(全局)框尺寸的较大变化也导致各个子域大小的显著变化。如果这些变化比通信中断的距离更远,原子将会丢失。通过使用m样式边界,将初始框尺寸设置为更紧密地匹配收缩包装尺寸,可以最好地解决此问题。对于样式m,会发生收缩包装,但受数据或重新启动文件中指定的值或由CREATE_BOX命令设置的值的限制。例如,如果数据文件中上部z面的值为50.0,则即使所有原子的最大z范围变得小于50.0,该面也将始终定位在50.0或更高的位置。如果从空盒子开始模拟,或者希望在盒子的一侧留出空间(例如,让原子从曲面蒸发),这会很有用。注意:在模拟框由READ_DATA或CREATE_BOX命令或READ_RESTART命令定义后,不能使用此命令。有关如何在定义模拟框边界后更改其边界的信息,请参见CHANGE_BOX命令。对于二维模拟,z维必须是周期性的。boundaryxyzboundaryppfboundarypfspboundarysffmx,y,z=porsorform,oneortwoletterspisperiodic#周期性的fisnon-periodicandfixed#非定期和固定的sisnon-periodicandshrink-wrapped#非周期和收缩包装misnon-periodicandshrink-wrappedwithaminimumvalue#非周期的,并且使用最小值进行收缩包装boxcommand设置模拟框的属性。对于Triclinic(非正交)模拟框,TILT关键字允许使用任意倾斜因子创建模拟域,例如通过CREATE_BOX或READ_DATA命令。倾斜系数决定了三斜线盒的倾斜程度;有关LAMMPS中三斜线盒的讨论。LAMMPS通常要求倾斜因子不能使长方体倾斜超过平行长方体长度的一半,这是倾斜因子的第一个维度(x表示XZ)。一般地倾斜度设置为小(默认值),则如果创建的长方体超过此限制,则会生成错误。如果倾斜度设置为较大,则不会强制实施任何限制。您可以创建具有任何您希望的倾斜系数的长方体。请注意,如果模拟框具有较大的倾斜因子,则LAMMPS的运行效率会较低,因为获取处理器不规则子域周围的重影原子需要大量通信。对于倾斜度的极端值,LAMMPS也可能丢失原子并产生错误。boxtiltvalue#tiltvalue=smallorlargeboxtiltlarge/small由read_data或create_box命令或read_restart命令定义模拟框后,将无法使用此命令。change_boxcommand更改模拟框的体积和/或形状和/或边界条件。正交模拟框具有3个可调整大小的参数(x,y,z)。Triclinic(非正交)模拟盒具有6个可调整的大小/形状参数(x,y,z,xy,xz,yz)。这些命令中的任何一个或全部都可以通过此命令独立调整。因此,它可以用于扩展或收缩盒子,或向非正交盒子施加剪切应变。它也可以用来更改模拟框的边界条件,类似于boundary命令。change_boxgroup-IDparameterargs...keywordargs...group-ID=IDofgroupofatomsto(optionally)displaceparameter=xoryorzorxyorxzoryzorboundaryororthoortriclinicorsetorremapx,y,zargs=stylevalue(s)style=finalordeltaorscaleorvolumefinalvalues=lohilohi=boxboundariesafterdisplacement(distanceunits)deltavalues=dlodhidlodhi=changeinboxboundariesafterdisplacement(distanceunits)scalevalues=factorfactor=multiplicativefactorforchangeinboxlengthafterdisplacementvolumevalue=none=adjustthisdimtopreservevolumeofsystemxy,xz,yzargs=stylevaluestyle=finalordeltafinalvalue=tilttilt=tiltfactorafterdisplacement(distanceunits)deltavalue=dtiltdtilt=changeintiltfactorafterdisplacement(distanceunits)boundaryargs=xyzx,y,z=porsorform,oneortwoletterspisperiodic#周期性的fisnon-periodicandfixed#非定期和固定的sisnon-periodicandshrink-wrapped#非周期和收缩包装misnon-periodicandshrink-wrappedwithaminimumvalue#非周期的,并且使用最小值进行收缩包装orthoargs=none=changeboxtoorthogonaltriclinicargs=none=changeboxtotriclinicsetargs=none=storestateofcurrentboxremapargs=none=remapatomcoordsfromlastsavedstatetocurrentboxkeyword=unitsunitsvalue=latticeorboxlattice=distancesaredefinedinlatticeunitsbox=distancesaredefinedinsimulationboxunitsExamplechange_boxallxyfinal-2.0zfinal0.05.0boundaryppfremapunitsboxchange_boxallxscale1.1yvolumezvolumeremap初始模拟框的大小和形状由用于设置模拟的create_box或read_data或read_restart命令指定。尺寸和形状可以通过随后的运行来改变,例如通过使用fixnpt或fixtransform命令。create_box,读取数据和read_restart命令还确定模拟框是正交的还是三斜的,并且它们的文档页面解释了xy,xz,yz倾斜因子的含义。该命令中使用的关键字按指定顺序依次应用于模拟框及其中的原子。注意:这意味着您不能使用change_box命令来放大收缩包装的盒子,例如,通过create_atoms命令来为插入更多原子腾出空间,因为在change_box命令完成之前,模拟盒子将被重新收缩包装。相反,你可以这样做,假设模拟框是非周期性的,原子在所有维度上从0延伸到20:create_boxcommand此命令基于指定区域创建模拟框。必须首先使用region命令来定义几何域。create_boxNregion-IDkeywordvalue...N=要在此模拟中使用的atom类型region-ID=要用作模拟域的区域IDkeyword=bond/typesorangle/typesordihedral/typesorimproper/typesorextra/bond/per/atomorextra/angle/per/atomorextra/dihedral/per/atomorextra/improper/per/atombond/typesvalue=#ofbondtypesangle/typesvalue=#ofangletypesdihedral/typesvalue=#ofdihedraltypesimproper/typesvalue=#ofimpropertypesextra/bond/per/atomvalue=#ofbondsperatomextra/angle/per/atomvalue=#ofanglesperatomextra/dihedral/per/atomvalue=#ofdihedralsperatomextra/improper/per/atomvalue=#ofimpropersperatomextra/special/per/atomvalue=#ofspecialneighborsperatomExamplecreate_box2myboxcreate_box2myboxbond/types2extra/bond/per/atom1latticecommand#晶格命令定义一个供其他命令使用的晶格。在LAMMPS中,晶格只是空间中的一组点,由具有基本原子的晶胞确定,并在所有维度上无限复制。晶格命令的自变量可用于定义各种晶体学晶格。LAMMPS通过两种方式使用晶格。首先,create_atoms命令在模拟框内的晶格点上创建原子。请注意,create_atoms命令允许将不同的原子类型分配给晶格的不同基础原子。其次,晶格所隐含的x,y,z维度中的晶格间距可被其他命令用作距离单位(例如create_box,区域和速度),当基础问题几何是原子上的原子时,通常方便使用一个格子。晶格样式必须与模拟的尺寸一致-请参见标注命令。样式sc或bcc或fcc或hcp或diamond适用于3d问题。sq或sq2或hex样式适用于2d问题。样式自定义可用于2d或3d问题。晶格由一个晶胞,该晶胞内的一组基础原子以及一组将晶胞映射到模拟框中的转换参数(比例,原点,方向)组成。向量a1,a2,a3是单位晶胞的边缘向量。这是固态晶体学中“原始”向量的命名法,但是在LAMMPS中,它们确定的晶胞不必是最小体积的“原始”细胞。注意,在输入脚本中可以多次使用lattice命令。每次调用它时,都会重新定义晶格属性,并将其用于所有后续命令(使用晶格属性)。例如,晶格,区域和create_atoms命令序列可以重复多次以构建具有不同几何区域的多晶模型,该几何区域中填充了原子的晶格方向不同。样式为none的晶格不会定义单位像元和基集,因此无法与create_atoms命令一起使用。但是,它确实通过指定的比例参数定义了晶格间距。如上所述,x,y,z中的晶格间距可以被其他命令用作距离单位。不能为none样式指定其他关键字/值对。默认情况下,定义了“无晶格1.0”,这意味着晶格间距与units命令定义的一个距离单位相同。sc,fcc,bcc和Diamond样式的格是3d晶格,它们定义了边长=1.0的立方晶胞。这意味着a1=100,a2=010和a3=001。样式hcp具有a1=100,a2=0sqrt(3)0和a3=00sqrt(8/3)。在任何固态物理学课本中都描述了基本原子在晶胞内的位置。sc晶格在立方体的左下角具有1个基本原子。一个密件抄送晶格具有2个基本原子,一个在原子的角,一个在立方体的中心。一个fcc晶格具有4个基本原子,一个在角上,一个在立方面中心上为3。hcp晶格具有4个基本原子,两个在z=0平面中,两个在z=0.5平面中。钻石晶格具有8个基本原子。sq和sq2样式的格是2d晶格,它们定义边长=1.0的正方形单位像元。这意味着a1=100和a2=010。一个方格在正方形的左下角具有1个基本原子。sq2晶格具有2个基本原子,一个在原子的角上,另一个在正方形的中心。十六进制样式也是2d晶格,但单位晶格是矩形,a1=100和a2=0sqrt(3)0。它有2个基本原子,一个在原子的角上,一个在矩形的中心。自定义样式的晶格允许您指定a1,a2,a3以及要放入单位单元中的基本原子的列表。默认情况下,a1,a2和a3是3个正交单位向量(单位立方体的边)。但是您可以将它们指定为任意长度,并且彼此不正交,以便它们描述倾斜的平行六面体。通过base关键字,您可以一次添加一个原子到晶胞中。它的参数是小数坐标(0.0<=x,y,z<1.0)。因此,晶胞内基本原子的位置向量x是晶胞的3个边缘向量的线性组合,即x=bxa1+乘a2+bza3,其中bx,by,bz是为晶界指定的3个值基本关键字。Latticestylescalekeywordvalues...style=noneorscorbccorfccorhcpordiamondorsqorsq2orhexorcustomscale=scalefactorbetweenlatticeandsimulationboxscale=reduceddensityrho*(forLJunits)scale=以距离单位表示的晶格常数(forallotherunits)zeroormorekeyword/valuepairsmaybeappendedkeyword=originororientorspacingora1ora2ora3orbasisoriginvalues=xyzx,y,z=fractionsofaunitcell(0<=x,y,z<1)orientvalues=dimijkdim=xoryorzi,j,k=integerlatticedirectionsspacingvalues=dxdydzdx,dy,dz=latticespacingsinthex,y,zboxdirectionsa1,a2,a3values=xyzx,y,z=primitivevectorcomponentsthatdefineunitcellbasisvalues=xyzx,y,z=fractionalcoordsofabasisatom(0<=x,y,z<1)Examplelatticefcc3.52Latticehex0.85Latticesq0.8origin0.00.50.0orientx110orienty-110latticecustom3.52a11.00.00.0a20.51.00.0a30.00.00.5&basis0.00.00.0basis0.50.50.5Latticenoneregioncommand该命令定义空间的几何区域。各种其他命令使用区域。例如,可以通过create_atoms命令用原子填充该区域。或区域周围的边界框可用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论