文档介绍:该【lammp中文手册 】是由【wawa】上传分享,文档一共【27】页,该文档可以免费在线阅读,需要了解更多关于【lammp中文手册 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。lammps简要运用说明李小椿北京航空航天高校物理科学与核能工程学院******@163更新于:2010年2月1日星期一书目lammps简要运用说明 1LAMMPS介绍 4文件 41. 系统初始化 4unitslj/real/metal/si/cgs 4atom_styleangle/atomic/bond/charge/dipole/dpd/ellipsoid/full/granular/molecular/hybrid 5atom_modifymap/first 5dimensionN,N=2/3 5boundaryxyz,default=boundaryppp 5newtonflag/flag1flag2 5communicatesingle/multigroup/cutoff 5processorsPxPyPz 62. 创建模拟晶胞 6latticenone/sc/bcc/fcc/hcp/diamond/sq/sq2/hex/customscalekeywordvalues 6regionIDstyleblock/cylinder/prism/sphere/union/intersectargskeywordvalue 6groupIDregion/type/id/molecule/subtract/union/intersect 6create_boxNregion?ID 7create_atomstypebox/region/singleargskeywordvalues 7delete_atomsgroup/region/overlap/porosityargs 7read_restartfile/read_datefile 7setatom/group/regionIDkeywordvalues 8displace_atomsgroup?IDmove/ramp/randomargskeywordvalue 8displace_boxgroup?IDparameterargs...keywordvalue… 9change_boxortho/triclinic 9replicatenxnynz 93. 设置 9massIvalue 9velocitygroup?IDcreate/set/scale/ramp/zeroargskeywordvalue 9timestepdt 10reset_timestepN 10neighborskinbin/nsq/multi 10neigh_modifykeywordvalues 104. 输出 10dumpIDgroup?IDbond/dcd/xtc/xyz/customNfileargs 10dump_modifydump?IDformat/scale/image/flush/unwrap/every/precision/region/threshvalues 11undumpdump?ID 11thermo_styleone/multi/custom(args) 11thermo_modifylost/norm/flush/line/format/temp/pressvalue 12thermoN 12printstring 12restartNroot 13write_restartfile 13echonone/screen/log/both 13logfilename 135. FIX 13fixIDgroup?IDstyleargs 13系综相关 15力和速度的限制 15计算特定量 16模拟晶胞的限制 18模拟过程的限制 18unfixfix-id 196. COMPUTE 19computeIDgroup?IDstyleargs 19computeIDgroup?IDackland/atom 19computeIDgroup?IDcentro/atom 19computeIDgroup?IDcoord/atomcutoff 20computeIDgroup?IDdamage/atom 20computeIDgroup?IDdisplace/atomfix?ID 20computeIDgroup?IDgroup/groupgroup2?ID 20computeIDgroup?IDke 20computeIDgroup?IDke/atom 20computeIDgroup?IDpe(keyword=pair/bond/angle/dihedral/improper/kspace) 20computeIDgroup?IDpe/atom(keyword=pair/bond/angle/dihedral/improper) 20computeIDgroup?IDpressuretemp?IDkeyword=ke/pair/bond/angle/dihedral/improper/kspace/fix 20computeIDgroup?IDreducemode=sum/min/maxinput1input2… 20computeIDgroup?IDstress/atom(keyword=ke/pair/bond/angle/dihedral/improper/kspace/fix) 21pute?IDkeywordvalue 21computeIDgroup?IDtemp 21computeIDgroup? 21computeIDgroup?IDtemp/deform 21computeIDgroup?IDtemp/partialxflagyflagzflag 21computeIDgroup?IDtemp/rampvdimvlovhidimclochikeywordvalue 21computeIDgroup?IDtemp/regionregion?ID 21pute-ID 217. 势函数 21pair_style 21pair_styletersoff 22kspace_style 23kspace_modify 23pair_writeitypejtypeNr/rsq/bitmapinnerouterfilekeywordQiQj 238. 运行 24runNupto/start/stop/pre/post/everyvalues 24run_styleverlet/respa(args) 24minimizeetolftolmaxitermaxeval 24min_stylecg/sd (default=) 24temper 24clear 249. 其他 25variablenamedelete/index/loop/world/universe/uloop/equal/atom 25nextvariables 26jumpfilelabel 26labelstring 26mand2 26includefilename 27shellcd/mkdir/mv/rm/rmdir 2710. 模拟方法论 27缺陷的生成 27晶格常数 27迁移 27表面 28立方晶系弹性常数 28LAMMPS介绍LAMMPS=Large-scaleAtomic/MolecularMassivelyParallelSimulator.://?SandiaNationalLaboratories吩咐行选项:-infile输入文件;-logfile输出文件;-screenfile屏幕输出文件;-echostyle,输入文件内容是否输出到输出文件和屏幕,style=none/screen/log/both(default=log)。特点:免费,C++,并行,集成大量势函数并行:mpirun-nolocal-machinefilenode-np$ncpu/opt/lammps/lmp_mpi-inin-&串行:/opt/lammps/lmp<:/opt/lammps/lmp--inin文件in.*文件:输入文件,限制整个计算过程。每一非空行都被认为是一条吩咐(大小写敏感,极少有吩咐或参数大写的)。读入一行执行一行,有些吩咐在其他吩咐后有效,有些吩咐要用到其他吩咐的输出,in文件中各吩咐的依次可能会对计算产生影响,但大部分状况下不会有影响。每行后的“&”表示续行(类似fortran)。“#”表示注释(类似bash)。每行吩咐中的不同字段由空格或者制表符分隔开来,每个字段可以由字母、数字、下划线、或标点符号构成。每行吩咐中第一个字段表示吩咐名,之后的字段都是相关的参数。提示:留意单位。吩咐运用时肯定肯定要留意他们的默认设置,否则错了你都找不到北。许多吩咐都是在须要修改默认值的状况下才特殊设置的。:记录了整个计算过程屏幕上显示的全部信息。dump文件:输出应力、能量、原子位置、速度等,由dump吩咐限制输出文件。restart文件:断点续算文件,由write_restart吩咐限制。系统初始化unitslj/real/metal/si/cgsdefault=unitsljunits定义单位系统,该吩咐定义了input里全部变量的单位。UnitsRealMetalSicgslj质量g/molg/molKgGmassorm距离AngAngmcmsigma,wherex*=x/sigma时间fsPssStau,wheretau=t*=t(epsilon/m/sigma^2)^1/2能量Kc/moleVJergsepsilon,whereE*=E/epsilon速度Aug/fsAug/psm/scm/ssigma/tau,wherev*=vtau/sigma力Kc/mol/AugeV/AugNdynesepsilon/sigma,wheref*=fsigma/epsilon温度KKKKreducedLJtemperature,whereT*=TKb/epsilon压力atmBarPadyne/cm^2;-6barsreducedLJpressure,P*=Psigma^3/epsilon粘度PoisePoisePa*sPoisereducedLJviscosity,eta*=etasigma^3/epsilon/tau电荷multipleofelectroncharge(+)multipleofelectroncharge(+)CstatcoulombsoresureducedLJcharge,whereq*=q/(4piperm0sigmaepsilon)^1/2偶极子charge*Augcharge*AugC*mstatcoul?cm=10^18debyereducedLJdipole,momentwhere*mu=mu/(4piperm0sigma^3epsilon)^1/2电场强度V/AugV/AugV/mstatvolt/cmordyne/esuforce/charge,whereE*=E(4piperm0sigmaepsilon)^1/2sigma/epsilon1Aug=1e-10m=1e-8cm1ps=1e-12s,1fs=1e-15s,1ps=1000fs1eV=,1ev=-23Kc,1eV=-19J,1eV=-12erg,1mol==,1erg=1e-7J,1Kc=,1Kc=,1Kc===101325Pa,1bar=100000Paatom_styleangle/atomic/bond/charge/dipole/dpd/ellipsoid/full/granular/molecular/hybriddefault=atom_styleatomic定义运用什么样的原子类型,确定了原子的属性,该吩咐应当在其他吩咐前。style=angle/atomic/bond/charge/dipole/dpd/ellipsoid/full/granular/molecular/hybridatom_modifymap/first定义并行计算如何求最近邻atom_modifymaparray/hashmap定义了并行计算求最近邻的方法,array表示每个CPU都储存领域列表,hash表示每个CPU只储存在安排在本CPU的领域列表,array更快,但是体系特殊大的时候会消耗更多系统内存。atom_modifyfirstgroupID允许某一组原子在领域列表是作为第一个原子。dimensionN,N=2/3default=dimension3设置模拟的维度,进行2维模拟前要先运用该吩咐设置模拟盒子。该吩咐应在创建晶胞前。boundaryxyz,default=boundarypppboundaryppfboundarypfspboundarysffm设置晶胞在3个方向的边界条件,该吩咐应在创建晶胞前。x/y/z=p/s/f/m/2个字母组合,2个字母组合表示第一个字母安排给下表面,其次个字母安排给上表面。p必需应用到上下两个表面。p=周期性f=不是周期性,固定的,假如原子走出表面,可能丢失;sisnon?periodicandshrink?wrappedmisnon?periodicandshrink?wrappedwithaminimumvalue。newtonflag/flag1flag2Default=newtononflag=onoroffforbothpairwiseandbondedinteractionsflag1=onoroffforpairwiseinteractionsflag2=onoroffforbondedinteractionsmandturnsNewton'。,Py,Pz=#ofprocessorsineachdimensionofa3dgrid创建模拟晶胞latticenone/sc/bcc/fcc/hcp/diamond/sq/sq2/hex/?,sc/bcc/fcc/hcp/diamond为三维点阵,sq/sq2/hex为二维点阵。scale=晶格常数(非LJunit)&&reduceddensityrho*(forLJunits)。同时,该吩咐将变更系统长度单位为三个方向的基矢长度,特殊留意。origin:定义点阵的起点。将点阵平移x,y,z个晶格常数。0<x,y,z<1orientdimijk:将点阵旋转,dim为xyz,ijk为晶向指数,留意旋转后的三个基矢必需还是正交的。切符合右手规则。spacingdxdydz:分别定义在xyz三个方向的间隔。custom:自定义晶胞基矢和间隔。basisxyz:fractionalcoordsofabasisatomregionIDstyleblock/cylinder/prism/sphere/union/intersectargskeywordvalueregion1block??**********regionoutsideunion4side1side2side3side4定义一个空间区域。blockxloxhiyloyhizlozhi:正交区域。cylinderdimc1c2radiuslohi:定义圆柱,dim=xyz,c1,c2为圆柱轴在其它方向坐标,radius为半径,lo,hi为圆柱在轴向范围。prismxloxhiyloyhizlozhixyxzyz:棱柱体,xy=y在x方向倾斜量,xz,yz类似。spherexyzradius(半径):球面unionNreg?ID1reg?ID2:多个区域的并集,N为数目intersectNreg?ID1reg?ID2:多个区域的交集,N为数目sideout=定义的区域为描述的几何空间之外。默认为sidein。unitslattice以晶格常数为单位(默认),unitsbox表示以units定义的标准距离单位定义区域。特殊留意这个问题。EDGE=当前模拟盒子定义的边界;INF=无限大。groupIDregion/type/id/molecule/subtract/union/intersectgroupedgeregionregstrip groupwatertype34!类型为3、4groupsubid<=150 !id小于150 grouppolyAmolecule50250!分子序号在50-250间(含)。groupboundarysubtractalla2a3 !a1-a2-a2groupboundaryunionlowerupper!lower+uppergroupboundaryintersectupperflow!:一次性操作,以后原子跑出区域依旧属于这个组。type/id/molecule:支持列表,逻辑符号(>=,==,!=),between,比如50250表示50-250subtracttwoormoregroupIDs:第一个组减去后面的组uniononeormoregroupIDs:并集intersecttwoormoregroupIDs:交集all这个组已经提前定义好了,包含全部的原子。包括all在内总共不能超过32个组。create_boxNregion?IDcreate_box2boxN=#ofatomtypestouseinthissimulation原子种类region?ID=IDofregiontouseassimulationdomain在区域中创建一个模拟box,含N种原子,运用前应当先定义一个区域create_atomstypebox/region/singleargskeywordvaluescreate_atoms1boxcreate_atoms3regionregspherebasis23create_atoms3single005unitsboxcreate_atoms1box:在模拟盒子中产生原子种类为1的原子,必需先有create_box定义模拟box。lattice也应先定义。region:在区域内创建原子。:增加单个原子,原子种类为1,,可以用于产生间隙原子。basis:给单胞内原子指定不同原子类型,参见lattice的custom选项。unitslattice以晶格常数为单位(默认),unitsbox表示以units定义的标准距离单位定义区域。特殊留意这个问题。;.:删除组中原子regionID:删除区域中原子overlapcutoffgid1gid2:cutoff为两个原子间最近距离,必需一个原子在一个组,另一个在另外一个组,这样属于第一个组的原子将会被删除。两个组可以是一样的名字,比如all。由于算法问题,不同CPU可能删除原子数可能不一样,当可以保证最终没有距离在cutoff内的原子对。porosityregion?IDfractionseed:特定比例的原子讲被删除,fraction为比例,seed为随机数seed。同样不同CPU结果可能不一样。删除组groupid中的原子,删除区域regionid中的原子,可以产生一系列空位指定位置产生一个空位:,详细坐标格式可以参照examplePositiondataforSilicon-Carbonsystem 1400 atoms 1 atomtypes 1 0 0 02 1 03 1 0 04 1 0setatom/group/regionIDkeywordvaluessetgroupsolventtype2setgroupsolventtype/。type/fraction:按比例设置指定的原子到新的type。setkeywordstypeatom-type:设置原子种类。type/fractiontypefractionseed:按比例设置指定的原子到新的种类。type=新原子种类,fraction=比例molmolecule-ID:设置分子种类。x,y,zvalue=原子坐标(长度单位)vx,vy,vzvalue=速度重量(速度单位)chargeatomic-charge=设置电荷(chargeunits)dipolevalues=xyz,x,y,z=orientationofdipolemomentvectordipole/randomvalue=seedquatvalues=abctheta,a,b,c=unitvectortorotateparticlearoundviaright?handrule,theta=rotationangleindegreesquat/randomvalue=seeddiametervalue=particlediameter(distanceunits)densityvalue=particledensity(mass/distance^3units)volumevalue=particlevolume(distance^3units)imagenxnynz:定义原子安排到那个镜像。nx,ny,nz=whichperiodicimageofthesimulationboxtheatomisinbondvalue=bondtypeforallbondsbetweenselectedatomsanglevalue=angletypeforallanglesbetweenselectedatomsdihedralvalue=dihedraltypeforalldihedralsbetweenselectedatomsimpropervalue=impropertypeforallimpropersbetweenselectedatomsdisplace_atomsgroup?IDmove/ramp/randomargskeywordvaluedisplace_atomstopmove0?---?IDstyleargs:移动一组原子。movedelxdelydelz:在xyz三个方向移动的距离。randomdxdydzseed:随机移动原子rampddimdlodhidimclochi:ddim=xyz,dim=xyz,在ddim方向移动原子,移动范围为dlo-dhi,移动距离依据原子在dim方向的坐标大小来确定,小于cho移动dlo,大于chi移动dhi。displace_boxgroup?IDparameterargs...keywordvalue…displace_boxallxyfinal??IDparameter变更模拟盒子的形态、体积change_boxortho/triclinicchange_boxortho把模拟晶胞从三斜转换为正交晶胞change_boxtriclinic把模拟晶胞从正交转换为三斜晶胞lammps默认是正交晶胞replicatenxnynznx,ny,nz=replicationfactorsineachdimension,整数。复制现有的模拟晶胞。原子属性也同时复制。1表示不变。**。Mass也可以由read_data吩咐从data文件读入。pair_eam在eam势文件里设置了原子质量。原子种类描述方法:**nm*m*n起先模拟前必需先定义原子质量。velocitygroup?IDcreate/set/scale/ramp/?IDcreate/set/scale/ramp/zerocreatetempseed:随机产生指定温度的速度。setvxvyvz:把这个group的速度设置成vx,vy,vz。scaletemp:标度到指定温度。NULL为不变。rampvx/vy/vzvlovhix/y/zclochi:产生速度梯度。zerolinear/angular:linear=总线速度为零,angular=总角速度为零。distuniform/gaussion:create速度分布是匀称分布还是高斯分布,默认匀称分布。sumyes/no:新速度是叠加到之前的速度。否=替换之前的速度。(notzero)momyes/no:forcreate,产生的总线速度=0rotyes/no:forcreate,产生的总角速度=0pute-id:指定计算温度方法。(forcreate/scale)loopall/local/geom:定义并行计算中原子速度产生方法。unitsbox/lattice:forset/ramp,运用说明坐标,box为肯定坐标,lattice为点阵坐标。default:dist=uniform;