关于lammps学习的一点汇总_第1页
关于lammps学习的一点汇总_第2页
关于lammps学习的一点汇总_第3页
关于lammps学习的一点汇总_第4页
关于lammps学习的一点汇总_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

LAMMPS、VMD软件的学习汇报,一、分子动力学的简要介绍二、Lammps软件的基本介绍三、Lammps模拟的相关命令四、VMD可视化处理软件的基础使用,汇报内容,一、分子动力学模拟,第一原理计算:解薛定谔方程的过程电子结构方法:方程中包含了所有的原子核及电子的哈密度量和波函数密度泛函理论:用电子密度代替电子坐标,减少自由的计算,计算物理可分为两大类:计算求解和计算机模拟,利用,先由各个原子的位置计算系统的势能,得到各个原子所受的力及加速度,然后计算各原子在经过T之后的位置及速度;由新的位置计算系统的势能,得到各原子的受力及加速度。反复循环,就可以得到系统中原子的运动轨迹并输出相关的热力学数据。,分子动力学模拟?,:解牛顿运动方程的过程,优势:把整个原子作为一个质点进行模拟,减少了自由度的计算,加大了可计算的体系的空间和时间尺度,简化数据处理和分析。,二、Lammps软件的基本介绍,Lammps?,Large-scaleAtomic/MolecularMassivelyParallelSimulator大规模原子/分子并行模拟器,简单的来说,Lammps就是一个可根植于Windows和Linux系统的经典分子动力学代码;根据不同的边界条件和初始条件对相互作用的分子,原子,宏观粒子集合进行牛顿运动方程积分,并输出相关的热力学数据。,优点:免费开源的代码;可以根据需要修改、扩展计算程序(C+)可对固、液、气三种状态的物质进行模拟能模拟多种模型体系(原子,聚合物,有机分子,粒子材料)模拟体系可达上百万个粒子(计算资源)方便的并行计算,模拟流程:,三、Lammps模拟的相关命令,一般而言,一个Lammps工作目录需要包含以下几个文件;Lammps执行程序脚本文件(in文件)势函数文件(eam.alloy,tersoff,sw)data文件(体系的初始构型)MPI并行文件(多核运行计算),脚本文件的内容及书写格式,In文件结构一般分为4个部分:Initialization,Atomdefinition,Settings,Runasimulation(1)Initialization模拟体系之前,一些参数必须要被设置.相关的命令有:units,dimension,boundary,atom_style等.(2)Atomdefinitionlammps提供3种方式定义原子:按照晶格的方式创建原子,相关命令:lattice,region,create_box,create_atoms.通过read_data或read_restart命令从data或restart文件读入(可包含出原子坐标之外的一些信息)已经设置好的原子可以用replicate命令复制以生成一个更大规模的模拟体系.,(3)settings原子信息定义好后,要定义一系列的设置:力场系数、模拟参数、输出选项等.力场系数可以通过这些命令定义:pair_style,pair_coeff,bond_coeff,angle_coeff等。各种模拟参数由这些命令设置:neighbor,group,timestep,reset_timestep,run_style,min_style.fix命令是lammps中很重要的一个命令,它包括很多子命令,对体系施加一系列的约束条件,选择系综等等.设定lammps进行各种计算:compute,variable.输出选项由thermo,dump,restart命令设置.,(4)Runasimulation使用run命令开始一个分子动力学模拟;用minimize命令来实施能量最小化(molecularstatics),unitsSyntax:unitsstylestyle=ljorrealormetalorsiorcgsorelectronExamples:unitsljunitsmetaldimensionSyntax:dimensionNN=2or3Examples:dimension3atom_styleSyntax:atom_stylestyleargsstyle=atomicorbodyorchargeordipoleorelectronorfullormolecularorperiorsphereortriorhybridExamples:atom_styleatomicatom_stylefull,Initialization,boundary,Fixedboundary(f)Freeboundary(s)Periodicboundary(p),柔性边界(m):允许边界上的粒子有微小移动以反映内层粒子的作用力施加到它们身上的情况,Syntax:boundaryxyzx,y,z=porsorform,oneortwolettersExamples:boundaryppfboundarypfspboundarysffm边界条件不同,模拟所得到的结果会有所不同,应根据实际模拟的问题和选用的系综来选取合适的边界条件,Al块体结构latticefcc4.0495#定义晶格类型regionboxblock010010010#定义模拟盒子的大小create_box1box#创建模拟盒子create_atoms1box#在模拟盒子中创建原子,lammps内部搭建模型,NaCl结构latticecustom$xa11.00.00.0a20.01.00.0a30.00.01.0&basis0.00.00.0basis0.50.50.0basis0.50.00.5basis0.00.50.5&basis0.50.50.5basis0.00.00.5basis0.00.50.0basis0.50.00.0regionboxblock050505create_box2boxcreate_atoms2boxbasis11basis21basis31basis41&basis52basis62basis72basis82,Atomdefinition,LAMMPS2013datafileforalcucouple#注释行61968atoms#总原子数2atomtypes#原子类型0.00000000068.760400000 xloxhi#模拟盒子x方向尺寸0.00000000068.760400000yloyhi#模拟盒子y方向尺寸0.000000000186.420900000zlozhi#模拟盒子z方向尺寸Masses#关键字:定义原子质量126.982000#定义第一种原子质量263.546001#定义第二种原子质量Atoms#关键字:定义原子坐标110.0000000000.00000000033.825999948#原子坐标:原子编号原子类型x坐标y坐标z坐标210.0000000000.000000000102.667499948312.0223647062.02236470633.825999948412.0223647062.022364706102.667499948510.0000000002.02236470635.850749948622.0223647060.00000000035.850749948720.0000000000.00000000037.875499948822.0223647062.02236470637.875499948920.0000000002.02236470639.9002499481022.0223647060.00000000039.900249948,外部搭建模型,不同的atom_style,data文件格式不尽相同,定义原子坐标的格式atomicatom-IDatom-typexyzchargeatom-IDatom-typeqxyzfullatom-IDmolecule-IDatom-typeqxyzhybridatom-IDatom-typexyzsub-style1sub-style2.,bonds=#ofbondsinsystemangles=#ofanglesinsystemdihedrals=#ofdihedralsinsystemimpropers=#ofimpropersinsystembondtypes=#ofbondtypesinsystemangletypes=#ofangletypesinsystemdihedraltypes=#ofdihedraltypesinsystemimpropertypes=#ofimpropertypesinsystem,不管采用什么途径,只要data文件格式符合要求,lammps就可以读入,Materialsstudio结合msi2lmp写入data文件,在MS搭建好模型在Modules中选择Discover模块,将Forcefield设置为cvffCalculate之后将构型文件Export,保存为*.car*.cor类型直接export保存为*.car*.cor类型将保存的两个文件*.car和*.mdf复制到msi2lmp的工作路径在msi2lmp路径下执行./msi2lmp.exe*-classI-frccvffdata.*,settings,力场参数(势函数的调用),pair_stylepair_coeff,Examples:pair_styleeam/alloypair_coeff*AlCu.eam.alloyAlCu,pair_styleeam/alloypair_coeff*AlCu.eam.alloyAlAlAlCu,pair_styleeam/alloypair_coeff*AlCu.eam.alloyCuAl,pair_styleeampair_coeff11Al.eampair_styleeampair_coeff22Cu.eam,pair_styleeam/alloypair_coeff*AlCu.eam.alloyCu,neighborneighborcutoffdistance=forcecutoff+skindistance,Syntax:neighborskinstyleskin=extradistancebeyondforcecutoff(distanceunits)style=binornsqormultiExamples:neighbor0.3binneighbor2.0nsq三种算法(处理器分配的原子数)bin:N/Pnsq:(N/P)2默认值2.0binforunits=realormetal,skin=2.0Angstroms,region,group,regionboxblockINFINFINFINFINFINFunitsboxregionalblockINFINFINFINFINF102.6674999480unitsboxregionwallalblockINFINFINFINFINF3.454749948unitsboxregioncublockINFINFINFINF105.4974998710INFunitsboxregionwallcublockINFINFINFINF161.5253498710INFunitsboxgroupAltype1groupCutype2groupboxregionboxgroupalregionalgroupcuregioncugroupwallalregionwallalgroupwallcuregionwallcugroupwallunionwallalwallcugroupmobilesubtractboxwallgroupmobilealsubtractalwallalgroupmobilecusubtractcuwallcu,timestep,rest_timesteptimestep0.002reset_timestep0minimize,min_stylemin_stylecgminimize1.0e-41.0e-61001000,create类型:为group中的原子用随机的方法产生一个满足指定温度的速度set类型:用于给group中的所有原子赋予一个特定值的速度scale类型:先计算当前的group原子的温度,然后再标度速度到指定的温度。ramp类型:从vlo-vhi的均匀速度梯度,用于vx,vy,vz维度zero类型:线动量和角动量置为0,velocitySyntax:velocitygroup-IDstyleargskeywordargs.group-ID=IDofgroupofatomswhosevelocitywillbechangedstyle=createorsetorscaleorramporzero以某种style设定或改变指定的group的速度对于某一类型,有对应的arguments和可选的keyword/value参数,velocityallcreate3004928459rotnodistgaussianvelocitywallalset0.00.00.0unitsboxvelocitywallcusetNULLNULL0.0unitsboxvelocityallzerolinearvelocityflowrampvx0.05.0y525,fixSyntax:fixIDgroup-IDstyleargsID=user-assignednameforthefixgroup-ID=IDofthegroupofatomstoapplythefixtostyle=oneofalonglistofpossiblestylenamesargs=argumentsusedbyaparticularstyle,style,fixnve,nvt,npt,nve:微正则系综,模拟过程中体系原子数,体积,总能量保持不变(孤立系统)。通过对速度的标度来对能量进行调整nvt:正则系综,原子数,体积,温度保持不变。保持温度不的方法是让系统与虚拟的热浴处于热平衡npt:等温等压系综,原子数,压强,温度保持不变。温度的恒定与nvt一样,压强的恒定通过调整体积来实现,fix1allnvefix2allnvttemp1003000.2drag1.0fix3allnpttemp3001000.2iso1.01.02drag1.0fix4allnpttemp3001000.2aniso1.01.02drag1.0fix5allnpttemp2005000.2x1.01.02y1.01.02z1001002couplenonedrag1.0fix6allnpttemp2005000.2z1.01002couplenonedrag1.0fix7allnpttemp2005000.2x1.01.02y1.01.02z1.01002couplexydrag1.0,iso1.01.02等同于x1.01.02y1.01.02z1.01.02couplexyzaniso1.01.02等同于x1.01.02y1.01.02z1.01.02couplenone,fixnpt对于边界条件的要求:控制压强的方向必须是周期性边界examples:boundaryppsfix1allnpttemp3003000.2z1.01.02drag1.0fix2allnpttemp3003000.2x1.01.02y1.01.02drag1.0,fixtemp/berendsenfixpress/berendsenfixtemp/rescalefix1alltemp/berendsen300.0300.0100.0fix1allpress/berendseniso0.00.01000.0fix3boundarytemp/rescale11.01.50.051.0,只调整原子的数度,不更新原子的位置(没有时间积分)所以需要结合nve使用,press/berendsen可结合nvt使用,FixsetforceSyntax:fixIDgroup-IDsetforcefxfyfzkeywordvalue.fix1wallalsetforce0.00.00.0fix2wallcusetforceNULNUL0.0与velocity结合使用固定原子,fixmomentum通过调整原子的速度,将体系的线动量和角动量归0fix1allmomentum100linear111angular,compute,Syntax:computeIDgroup-IDstyleargs,Lammps有两种类型的compute命令计算globalvaluecompute4allpe计算per-atomvaluescompute3boundarype/atom,数据文件输出,全局热力学数据的输出log.lammpsthermo_style,thermo_stylecustomsteptemppresspxxpeetotalvollxenthalpyc_3c_32f_31v_3,原子轨迹文件的输出dumpdump1allcustom100all.lammpstrjidtypexyzxsyszsc_3c_2f_2,断点数据的输出write_restartwrite_restart10ns.restartread_restart10ns.restart,fixave/time时间平均fix1allave/time10051000c_31c_32c_23fileresult.txt,数据处理的相关命令,fixave/spatial空间平均fix1allave/spatial10051000z0.02.0density/numberunitsboxaveonefileal.txt,computereduce矢量转化为标量compute1allproperty/atomsvxfxcompute2allreducesumc_11c_12compute3allreduceavec_11c_12这样就可以直接在thermo_style中输出c_31和c_32或者用fixave/time输出,Variable变量的使用,Variable的巧妙使

温馨提示

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

评论

0/150

提交评论