LAMMPS、VMD软件的学习汇报一、分子动力学的简要介绍二、Lammps软件的基本介绍三、Lammps模拟的相关命令四、VMD可视化处理软件的基础使用汇报内容一、分子动力学模拟第一原理计算:解薛定谔方程的过程电子结构方法:方程中包含了所有的原子核及电子的哈密度量和波函数密度泛函理论:用电子密度代替电子坐标,减少自由的计算)()r(rEH))(())((rErH计算物理可分为两大类:计算求解和计算机模拟利用,先由各个原子的位置计算系统的势能,得到各个原子所受的力及加速度,然后计算各原子在经过△T之后的位置及速度;由新的位置计算系统的势能,得到各原子的受力及加速度。反复循环,就可以得到系统中原子的运动轨迹并输出相关的热力学数据。分子动力学模拟?:解牛顿运动方程的过程iiimtFt)()(a优势:把整个原子作为一个质点进行模拟,减少了自由度的计算,加大了可计算的体系的空间和时间尺度,简化数据处理和分析。二、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_stylefullInitializationboundaryFixedboundary(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&basis52basis62basis72basis82AtomdefinitionLAMMPS2013datafileforalcucouple#注释行61968atoms#总原子数2atomtypes#原子类型0.00000000068.760400000xloxhi#模拟盒子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_coeffExamples:pair_styleeam/alloypair_coeff**AlCu.eam.alloyAlCupair_styleeam/alloypair_coeff**AlCu.eam.alloyAlAlAlCupair_styleeam/alloypair_coeff**AlCu.eam.alloyCuAlpair_styleeampair_coeff11Al.eampair_styleeampair_coeff22Cu.eampair_styleeam/alloypair_coeff**AlCu.eam.alloyCuneighborneighborcutoffdistance=forcecutoff+skindistanceSyntax:neighborskinstyleskin=extradistancebeyondforcecutoff(distanceunits)style=binornsqormultiExamples:neighbor0.3binneighbor2.0nsq三种算法(处理器分配的原子数)bin:N/Pnsq:(N/P)^2默认值2.0binforunits=realormetal,skin=2.0Angstromsregion,groupregionboxblockINFINFINFINFINFINFunitsboxregionalblockINFINFINFINFINF102.6674999480unitsboxregionwallalblockINFINFINFINFINF3.454749948unitsboxregioncublockINFINFINFINF105.4974998710INFunitsboxregionwallcublockINFINFINFINF161.5253498710INFunitsboxgroupAltype1groupCutype2groupboxregionboxgroupalregionalgroupcuregioncugroupwallalregionwallalgroupwallcuregionwallcugroupwallunionwallalwallcugroupmobilesubtractboxwallgroupmobilealsubtractalwallalgroupmobilecusubtractcuwallcutimestep,rest_timesteptimestep0.002reset_timestep0minimize,min_stylemin_stylecgminim