lammps学习friction程序_精品文档Word文档格式.docx
《lammps学习friction程序_精品文档Word文档格式.docx》由会员分享,可在线阅读,更多相关《lammps学习friction程序_精品文档Word文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
#边界条件boundaryxyz
x,y,z=porsorform,oneortwoletters
pisperiodic
fisnon-periodicandfixed
sisnon-periodicandshrink-wrapped
misnon-periodicandshrink-wrappedwithaminimumvalue
s为收缩边界(自由边界),用于有限尺寸的维度,随原子移动而改变,原子不会跑出边界;
f为固定边界,同样用于有限尺寸的维度,模拟时原子可能跑出边界,跑出则程序终止;
p为周期边界,原子可以周期穿过盒子边界。
m为柔性边界,允许边界上的粒子有微小移动以反映内层原子的作用力施加到它们身上的情况。
atom_style atomic
#atomic原子模式(用于粗粒液体,固体和金属的模拟)。
Definewhatstyleofatomstouseinasimulation定义模拟体系中的原子属性。
用比需要的范围大的类型。
neighbor 0.3bin
#建近邻表参数(r+rc),rc为力的截断距离,缓冲距离r=0.3sigma(σ),bin表示为近邻表类型。
所有截止距离等于它的力的截断距离加上缓冲距离的原子对都被存储在列表里。
其值的选择取决于单位制。
Syntax:
neighborskinstyle
Thiscommandsetsparametersthataffectthebuildingofpairwiseneighborlists.
skin=extradistancebeyondforcecutoff(distanceunits)
style=binornsqormulti
neigh_modifydelay5
#间隔5载荷步重新形成近邻表
#creategeometry
#创建初始几何构形
lattice hex0.9
#定义晶格类型(二维hex)和Lennard-Jones折算密度0.9
region boxblock050022-0.250.25
#定义模拟盒子(区域)的大小,在空间x[0,50],y[0,22],z[-0.25,0.25]的范围内创建区域。
create_box 4box
#在上述空间内创建一个具有四种原子类型的模拟盒子(原子位置初始化)
mass 11.0#第一种原子类型质量为1g/mol
mass 21.0#第二种原子类型质量为1g/mol
mass 31.0#第三种原子类型质量为1g/mol
mass 41.0#第四种原子类型质量为1g/mol
#atomregions
regionlo-fixedblockINFINFINF1.1INFINF
#定义了一个叫lo-fixed的区域{x[-inf,+inf],y[-inf,1.1],z[-inf,+inf]}
regionlo-slabblockINFINFINF7INFINF
regionabove-loblockINFINFINF7INFINFsideout
#sideout表示与所给坐标相反的一边
regionhi-fixedblockINFINF20.9INFINFINF
regionhi-slabblockINFINF15INFINFINF
regionbelow-hiblockINFINF15INFINFINFsideout
region lo-asperitysphere32708
#定义了一个叫lo-asperity([æ
ˈspɛrɪti]粗糙)的球形区域,球心(32,7,0),球的半径8
region hi-asperitysphere181508
region lo-half-sphereintersect2lo-asperityabove-lo
#定义lo-asperity和above-lo两个区域的相交区域为lo-half-sphere区域
region hi-half-sphereintersect2hi-asperitybelow-hi
#create2surfaceswithasperities
#创建两个粗糙表面
create_atoms 1regionlo-slab
#在lo-slab区域里创建第1种原子
create_atoms 1regionhi-slab
create_atoms 2regionlo-half-sphere
create_atoms 3regionhi-half-sphere
#LJpotentials#LJ势函数
pair_style lj/cut2.5#定义势函数是lj势,截断半径为2.5
pair_coeff **1.01.02.5#指定lj势参数ɛσcutoff
#definegroups#定义组,便于加载
group loregionlo-slab#定义lo-slab区域里的原子组叫lo组
group lotype2#并不能改变原子类型,仅仅是将第2种原子定义入lo组
group hiregionhi-slab
group hitype3
group lo-fixedregionlo-fixed
group hi-fixedregionhi-fixed
group boundaryunionlo-fixedhi-fixed
#定义总边界组lo-fixed+hi-fixed=boundary
group mobilesubtractallboundary#定义可动原子组mobile=all-boundary
set grouplo-fixedtype4#指定grouplo-fixed为第四种原子类型
set grouphi-fixedtype4#指定grouphi-fixed为第四种原子类型
#initialvelocities#设定初始速度
computenewmobiletemp/partial010
#定义温度的计算(可动区域内统计平均),用户为计算取的名字new(ID),group-ID,mobile原子组,temp/partiale(style)XYZ的对应位置0或1表示排除或包含这个方向
Defineacomputationthatcalculatesthetemperatureofagroupofatoms,afterexcludingoneormorevelocitycomponents.Acomputeofthisstylecanbeusedbyanycommandthatcomputesatemperature,e.g.
thermo_modify,fixtemp/rescale,fixnpt,etc.
ThetemperatureiscalculatedbytheformulaKE=dim/2NkT,whereKE=totalkineticenergyofthegroupofatoms(sumof1/2mv^2),dim=dimensionalityofthesimulation,N=numberofatomsinthegroup,k=Boltzmannconstant,andT=temperature.ThecalculationofKEexcludesthex,y,orzdimensionsifxflag,yflag,orzflag=0.Thedimparameterisadjustedtogivethecorrectnumberofdegreesoffreedom.
velocity mobilecreate0.1482748tempnew
#格式:
velocitygroup-IDstyleargskeywordvalue...
mobile(groupID)按指定的温度(0.1)计算方法,初始化原子的速度。
Thecreatestylegeneratesanensembleofvelocitiesusingarandomnumbergeneratorwiththespecifiedseedasthespecifiedtemperature.
create风格使用一个随机数发生器与指定的种子产生一个整体的速度作为指定的温度。
Createargs=tempseed
temp=temperaturevalue(temperatureunits)0.1
seed=random#seed(positiveinteger)482748
tempvalue=temperaturecomputeIDtempnew
velocity hiset1.00.00.0sumyes
#velocitygroup-IDstyleargskeywordvalue
hi原子组x方向的速度为1.0,set(style),setargs=vxvyvz
vx,vy,vz=velocityvalueorNULL(velocityunits)
anyofvx,vy,vzvanbeavariable(seebelow)
sum(keyword)其值为yes或者no(Thesumkeywordisusedbyallstyles,exceptzero.Thenewvelocitieswillbeaddedtotheexistingonesif
sum=yes,orwillreplacethemifsum=no).
#fixes
#fix指令的用途是对一组原子进行定义,可以用于更新原子的位置、速度、控制温度、加常力、施加边界条件等。
当两个或更多fix在同一过程中作用时,根据程序中的先后顺序执行fix指令。
fix 1allnve#nve微正则系综的时间积分算法,N分子数,V体积,E能量
fix 2boundarysetforce0.00.00.0
#2(fixID),边界上XYZ方向力条件,边界不加力0。
NULL表示指针为空的宏,0是没有任何特殊含义的值。
也就是说,理论上来讲NULL可以是任意数值,虽然目前所有编译器都将