lammps初学者in文件中文解析.doc

合集下载

LAMMPS in文件注意事项及详细解释

LAMMPS in文件注意事项及详细解释

LAMMPS in文件注意事项及详细解释lammps做分子动力学模拟时,需要一个输入文件(input script),也就是in文件,以及关于体系的原子坐标之类的信息的文件(data file)。

lammps在执行计算的时候,从这个in文件中读入命令,所以对LAMMPS的使用最主要的就是对in文件的编写和使用。

下面介绍一些关于in文件的事项:1.每一非空行都被认为是一条命令(大小写敏感,但极少有命令或参数大写的)。

2.in文件中各命令的顺序可能会对计算产生影响,但大部分情况下不会有影响。

3.每行后的“&” 表示续行(类似fortran)。

4.“#”表示注释(类似bash)。

5.每行命令中的不同字段由空格或者制表符分隔开来,每个字段可以由字母、数字、下划线、或标点符号构成。

6.每行命令中第一个字段表示命令名,之后的字段都是相关的参数。

7.很多命令都是在需要修改默认值的情况下才特别设置的。

in文件整体来看分为4个部分1.Initialization这一部分包含了关于计算体系最基本的信息,例如:units: 单位系统(units style),lammps现在提供包括lj、real、metal、si和cgs几种单位系统。

dimension: 定义了两维或者三维模拟(默认是三维)。

boundary: 定义了分子动力学体系使用的边界条件,例如周期性边界条件或者自由边界条件等。

atom_style: 定义模拟体系中的原子属性,这一命令与力场设置的参数中的原子类型(atom type)不同。

pair_style: 相互作用力场类型,例如范德化势或者硬球势等。

bond_style: 键合相互作用势类型。

angle_style: 键角作用势类型。

dihedral_style: 二面角作用势类型。

improper_style: 混合作用势类型。

其他还有一些参数设置,例如newton, processors,boundary, atom_modify等。

lammps输入文件命令中文详解

lammps输入文件命令中文详解

作者: 御剑江湖收录日期: 2011-03-31 发布日期: 2011-03-24Commands描述了lammps输入文件的格式和在定义lammps模拟所需要的命令.1.1 LAMMPS input script我们用lammps做分子动力学模拟, 需要一个输入文件. lammps在执行计算的时候, 从这个文本文件中逐行读入命令. 大多数情况, lammps输入文件中各个命令的顺序并不是很重要. 但是你要注意以下几点:(1) lammps并不是将你的输入文件全部读入之后才开始进行计算的, 或者说, 每条命令在它被读入之后就会起作用了. 注意, 下面两组命令的执行效果是不相同的.timestep 0.5run 100run 100和run 100timestep 0.5run 100(2) 有些命令只有在另一些命令已经被定义的情况下才有效. 例如如果你要设定一组原子的温度, 那么用group命令定义哪些原子属于这个组才行.(3) 还有一种情况就是: 命令B要用到命A 设置的一些数值, 这样你也不能颠倒这两个命令的顺序.每个命令的详细介绍中的Restrictions部分会说明要使用该命令定义的时候哪些命令必须要被预先定义.如果你的输入文件书写的格式有问题,lammps在执行的时候会提示ERROR或者WARNING , 出现类似信息时, 你可以到手册的第九章中查询原因.1.2 Parsing rules输入文件中的每一非空行都被认为是一条命令. lammps中命令的书写是对大小写敏感的, 不过一般的命令和参数都是小写的, 大写字母用于极少数的情况.(1) 命令行后的& 表示这一行跟下一行是同一条命令. 这一点跟FORTRAN很像.(2) 命令行最开始的# 表示这一行在执行过程中被忽略, 你可以用它来写注释.(3) $ 是跟声明变量有关系的, 我暂时还没用到过, 具体请参阅variable命令的详细介绍.(4) 命令行被tabs, spaces间隔成各个“words”, 注意这里的“words”可以包含字母、数字、下划线、或标点符号.(5) 一行中第一个词是命令名, 后续的词是相关的参数.(6) 双引号内的文字空格被整体地当作一个参数, 其中的# 或$ 就没有前面说的作用了.1.3 Input script structurelammps的输入文件一般分为4个部分Initialization, Atom definition, Settings, Run a simulation后面的两个部分可以按照需要多次重复. Remember that almost all the commands need only be used if a non-default value is desired.(1) Initialization在你的模拟体系定义之前, 一些参数必须要被设置. 相关的命令有:units, dimension, newton, processors, boundary, atom_style, atom_modify.units: 选择单位系统, lammps提供了lj、real、metal三种单位系统dimension: 2d模拟还是3d模拟, 默认是3dboundary: 边界条件:周期性边界or自由边界atom_style: 定义你的模拟体系中的原子属性, 注意这个style要区分后面设置力场参数时命令里提到的atom type还有, 这些命令告诉lammps在你的模拟中使用何种力场: pair_style, bond_style, angle_style,dihedral_style, improper_style.(2) Atom definitionlammps提供3种方式定义原子:①通过read_data或read_restart命令从data或restart文件读入, 这些文件可以包含分子拓扑结构信息.②按照晶格的方式创建原子(不包含分子拓扑信息), 你会用到这几个命令: lattice, region, create_box, create_atoms.③已经设置好的原子可以用replicate命令复制以生成一个更大规模的模拟体系.(3)Settings原子和分子的拓扑信息定义好后, 你要制定一系列的设置: 力场系数、模拟参数、输出选项等等.力场系数可以通过这些命令定义: pair_coeff, bond_coeff, angle_coeff, dihedral_coeff, improper_coeff, kspace_style, dielectric, special_bonds. 注意, 其实力场系数也可以在data 文件中制定, 详见read_data命令介绍.各种模拟参数由这些命令设置: neighbor, neigh_modify, group, timestep, reset_timestep,run_style, min_style, min_modify.我觉得fix命令是lammps中很重要的一个命令, 它包括很多子命令, 可以施加一系列的边界条件、时间积分、诊断选项等等.模拟过程中通过下面的命令制定lammps进行各种计算: compute, compute_modify, variable.输出选项由thermo, dump, restart命令设置.(4)Run a simulation使用run命令开始一个分子动力学模拟, 用minimize命令来实施能量最小化(molecular statics),使用temper命令来进行parallel tempering(replica-exchange) simulation.1.4 Commands listed by category这一节分门别类地列出了lammps的所有命令. 注意有些命令的有些选项是特定的lammps package的一部分, 也就是说只有在编译lammps的时候包括了这些packages, 这些命令才能被使用. 默认情况下编译lammps并不包括所有的packages. 这些依赖关系在相关命令的详细介绍中Restrictions部分中列出了.Initialization: atom_modify, atom_style,boundary, dimension, newton, processors, unitsAtom definition: create_atoms, create_box, lattice, read_data, read_restart, region, replicateForce fields: angle_coeff, angle_style, bond_coeff, bond_style, dielectric, dihedral_coeff, dihedral_style, improper_coeff, improper_style, kspace_modify, kspace_style, pair_coeff, pair_modify, pair_style, pair_write, special_bondsSettings: communicate, dipole, group, mass, min_modify, min_style, neigh_modify, neighbor, reset_timestep, run_style, set, shape, timestep, velocityFixes: fix, fix_modify, unfixComputes: compute, compute_modify, uncomputeOutput: dump, dump_modify, restart, thermo, thermo_modify, thermo_style, undump, write_restartActions: delete_atoms, delete_bonds, displace_atoms, displace_box, minimize, run, temperMiscellaneous: clear, echo, if, include,jump, label, log, next, print, shell, variable作者:御剑江湖一、各种文件的介绍:1 in file:建立该文件以便程序的写入2 log file:写入状态信息(if the switch is used?)3 screen file 决定结果的是否进行屏幕输出4 var name file 定义一个变量,name指变量名,可为字母也可为字符串,形式$x / $ {abc}二、屏幕输出:结果显示在屏幕上,同时在log file 中。

lammps的in文件详解

lammps的in文件详解

lammps的in文件详解例一unitmetal#单位为lammp中的metel类型boundaryppp#周期性边界条件atom_tyleatomic#原子模式latticefcc3.61#Cu的晶格常数3.61regionbo某block040404#某,y,z各方向上的晶胞重复单元数,也即区域大小create_bo某1bo某#将上述区域指定为模拟的盒子create_atom1bo某#将原子按晶格填满盒子pair_tyleeam#选取Cu的EAM 势作为模型pair_coeff某某Cu_u3.eam#EAM势文件名称run0#运行0步,仅为启动lammp的热力学数据计算variableEequalpe#定义变量E为系统总势能variableNequalatom#定义变量N为系统总原子数print\打印信息create_atom1ingle2.452.052.05#在该位置插入一个原子min_tyled#能量最小化模式,dminimize1.0e-121.0e-1210001000#能量最小化参数,指数越大最小化程度越深print\run1000#运行1000步print\fi某1allnvt1000.0001100drag0.2#nvt系综,温度由100K到0.0001Krun1000#运行1000步dump1allcutom1dump.atomid某yzc_3c_4c_5#将信息写入dump.atommin_tyledminimize1.0e-121.0e-121000010000#再次能量最小化print\打印信息~例二boundaryp#边界条件,拉伸方向是周期性,其余是自由边界;如果是薄膜拉伸则是两个周期性,块体则是三个周期性unitmetal#单位制定义为metalatom_tyleatomic#原子类型自动neighbor2.0bin#截断半径相关的东西neigh_modifydelay1checkye#邻近原子列表更新速度#creategeometrylatticefcc3.61#定义晶胞为fcc,晶格常数3.61Aregionbo某block0300303#定义一个长方体区域叫bo某,长30,宽和高是3create_bo某1bo某#创建了这样一个bo某create_atom1bo某#在bo 某里创建了一种原子ma163.546#定义这种原子的质量是63.546#potentialpair_tyleeam#定义势函数是EAMpair_coef某某Cu_u3.eam#势所需要的参数在此文件里#definegroupregion1blockINF1INFINFINFINF#定义了一个叫1的区域groupleftregion1#定义此区域里的原子叫leftregion2block29INFINFINFINFINF#定义了一个叫2的区域grouprightregion2#定义此区域里的原子叫rightgroupboundaryunionleftright#定义left+right=boundarygroupmobileubtractallleft#定义mobile=all-left#initialvelocitievelocityleftet0.00.00.0#设置原子初速度为0variablepre某equalc_p[1]#定义变量pre某=c_p[1],c_p[1]的意思是p里第一个值variablepreyequalc_p[2]#定义变量prey=c_p[2],c_p[2]的意思是p 里第二个值variableprezequalc_p[3]#定义变量prez=c_p[3],c_p[3]的意思是p 里第三个值thermo_tylecutomteptempetotalprev_pre某v_preyv_prezvoldump1allatom1000dump.tenile#输出结果到dump.tenileminimize1.0e-61.0e-610001000#驰豫fi某1leftetforce0.0NULLNULL#固定左边的原子fi某2allnpt1.01.01.0anio0.00.0NULLNULLNULLNULL10.0drag1.0 thermo1000#每1000步输出一次结果run10000#运行10000步unfi某2fi某3allnvefi某4alltemp/recale1001.01.051.0fi某5alldeform1000某erate0.002unitbo某#设置沿某方向拉伸,应变率为0.002(1/p)variabletreaequalc_trea/vol#定义变量trea=trea/vol,vol是体积thermo_tylecutomteptempetotalprev_treav_trebv_trecvolrun3000 00。

LAMMPS手册-中文版讲解

LAMMPS手册-中文版讲解

LAMMPS手册-中文解析一、简介本部分大至介绍了LAMMPS的一些功能和缺陷。

1.什么是LAMMPS?LAMMPS是一个经典的分子动力学代码,他可以模拟液体中的粒子,固体和汽体的系综。

他可以采用不同的力场和边界条件来模拟全原子,聚合物,生物,金属,粒状和粗料化体系。

LAMMPS可以计算的体系小至几个粒子,大到上百万甚至是上亿个粒子。

LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的计算效率,但是它是专门为并行计算机设计的。

他可以在任何一个按装了C++编译器和MPI的平台上运算,这其中当然包括分布式和共享式并行机和Beowulf型的集群机。

LAMMPS是一可以修改和扩展的计算程序,比如,可以加上一些新的力场,原子模型,边界条件和诊断功能等。

通常意义上来讲,LAMMPS是根据不同的边界条件和初始条件对通过短程和长程力相互作用的分子,原子和宏观粒子集合对它们的牛顿运动方程进行积分。

高效率计算的LAMMPS通过采用相邻清单来跟踪他们邻近的粒子。

这些清单是根据粒子间的短程互拆力的大小进行优化过的,目的是防止局部粒子密度过高。

在并行机上,LAMMPS采用的是空间分解技术来分配模拟的区域,把整个模拟空间分成较小的三维小空间,其中每一个小空间可以分配在一个处理器上。

各个处理器之间相互通信并且存储每一个小空间边界上的”ghost”原子的信息。

LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高。

2.LAMMPS的功能总体功能:可以串行和并行计算分布式MPI策略模拟空间的分解并行机制开源高移植性C++语言编写MPI和单处理器串行FFT的可选性(自定义)可以方便的为之扩展上新特征和功能只需一个输入脚本就可运行有定义和使用变量和方程完备语法规则在运行过程中循环的控制都有严格的规则只要一个输入脚本试就可以同时实现一个或多个模拟任务粒子和模拟的类型:(atom style命令)原子粗粒化粒子全原子聚合物,有机分子,蛋白质,DNA联合原子聚合物或有机分子金属粒子材料粗粒化介观模型延伸球形与椭圆形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:(命令:pair style, bond style, angle style, dihedral style, improper style, kspace style)对相互作用势:L-J, Buckingham, Morse, Yukawa, soft, class2(COMPASS), tabulated.带点对相互作用势:Coulombic, point-dipole.多体作用势:EAM, Finnis/Sinclair EAM, modified EAM(MEAM), Stillinger-Weber, Tersoff, AIREBO, ReaxFF粗粒化作用势:DPD, GayBerne, Resquared, Colloidal, DLVO介观作用势:granular, Peridynamics键势能:harmonic, FENE, Morse, nonlinear, class2, quartic键角势能:harmonic, CHARMM, cosine, cosine/squared, class2(COMPASS)二面角势能:harmonic, CHARMM, multi-harmonic, helix, OPLS, class2(COMPASS) 不合理势能:harmonic, CVFF, class2(COMPASS)聚合物势能:all-atom, united-atom, bead-spring, breakable水势能:TIP3P,TIP4P,SPC隐式溶剂势能:hydrodynamic lubrication, Debye长程库伦与分散:Ewald, PPPM, Ewald/N(针对长程L-J作用)可以有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场可以采用GPU加速的成对类型杂化势能函数:multiple pair, bond, angle, dihedral, improper potentials(多对势能处于更高的优先级)原子创建:(命令:read_data, lattice, create-atoms, delete-atoms, displace-atoms, replicate)从文件中读入各个原子的坐标在一个或多个晶格中创建原子删除几何或逻辑原子基团复制已存在的原子多次替换原子系综,约束条件,边界条件:(命令:fix)二维和三维体系正角或非正角模拟空间常NVE,NVT,NPT,NPH积分器原子基团与几何区域可选择不同的温度控制器有Nose/Hoover和Berendsen压力控制器来控制体系的压力(任一维度上)模拟合子的变形(扭曲与剪切)简谐(unbrella)束缚力刚体约束摇摆键与键角约束各种边界环境非平行太分子动力学NEMD各种附加边界条件和约束积分器:Velocity-verlet积分器Brown积分器rRESPA继承时间延化积分器刚体积分器共轭梯度或最束下降算法能量最小化器输出:(命令:dump, restart)热力学信息日志原子坐标,速度和其它原子量信息的文本dump文件二进制重启文件各原子量包括:能量,压力,中心对称参数,CAN等用户自定义系统宽度或各原子的计算信息每个原子的时间与空间平均系统宽量的时间平均原子图像,XYZ,XTC,DCD,CFG格式数据的前处理与后处理:包里提供了一系列的前处理与后处理工具另外,可以使用独立发行的工具组pizza.py, 它可以进行LAMMPS模拟的设置,分析,作图和可视化工作。

LAMMPS_in文件注意事项及详细解释

LAMMPS_in文件注意事项及详细解释

LAMMPS in文件注意事项及详细解释lammps做分子动力学模拟时,需要一个输入文件(input script),也就是in文件,以及关于体系的原子坐标之类的信息的文件(data file)。

lammps在执行计算的时候,从这个in文件中读入命令,所以对LAMMPS的使用最主要的就是对in文件的编写和使用。

下面介绍一些关于in文件的事项:每一非空行都被认为是一条命令(大小写敏感,但极少有命令或参数大写的)。

in文件中各命令的顺序可能会对计算产生影响,但大部分情况下不会有影响。

每行后的“&”表示续行(类似fortran)。

“#”表示注释(类似bash)。

每行命令中的不同字段由空格或者制表符分隔开来,每个字段可以由字母、数字、下划线、或标点符号构成。

每行命令中第一个字段表示命令名,之后的字段都是相关的参数。

很多命令都是在需要修改默认值的情况下才特别设置的。

in文件整体来看分为4个部分Initialization这一部分包含了关于计算体系最基本的信息,例如:units: 单位系统(units style),lammps现在提供包括lj、real、metal、si和cgs几种单位系统。

dimension: 定义了两维或者三维模拟(默认是三维)。

boundary: 定义了分子动力学体系使用的边界条件,例如周期性边界条件或者自由边界条件等。

atom_style: 定义模拟体系中的原子属性,这一命令与力场设置的参数中的原子类型(atom type)不同。

pair_style: 相互作用力场类型,例如范德化势或者硬球势等。

bond_style: 键合相互作用势类型。

angle_style: 键角作用势类型。

dihedral_style: 二面角作用势类型。

improper_style: 混合作用势类型。

其他还有一些参数设置,例如newton, processors,boundary, atom_modify等。

LAMMPS手册-中文版讲解

LAMMPS手册-中文版讲解

LAMMPS手册-中文解析【2 】一、简介本部分大至介绍了LAMMPS的一些功效和缺点.1.什么是LAMMPS?LAMMPS是一个经典的分子动力学代码,他可以模仿液体中的粒子,固体和汽体的系综.他可以采用不同的力场和边界前提来模仿全原子,聚合物,生物,金属,粒状和粗料化体系.LAMMPS可以盘算的体系小至几个粒子,大到上百万甚至是上亿个粒子.LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的盘算效力,但是它是专门为并行盘算机设计的.他可以在任何一个按装了C++编译器和MPI的平台上运算,这个中当然包括散布式和共享式并行机和Beowulf型的集群机.LAMMPS是一可以修正和扩大的盘算程序,比如,可以加上一些新的力场,原子模子,边界前提和诊断功效等.平日意义上来讲,LAMMPS是依据不同的边界前提和初始前提对经由过程短程和长程力互相感化的分子,原子和宏不雅粒子聚集对它们的牛顿活动方程进行积分.高效力盘算的LAMMPS经由过程采用相邻清单来跟踪他们临近的粒子.这些清单是依据粒子间的短程互拆力的大小进行优化过的,目标是防止局部粒子密渡过高.在并行机上,LAMMPS采用的是空间分化技巧来分派模仿的区域,把全部模仿空间分成较小的三维小空间,个中每一个小空间可以分派在一个处理器上.各个处理器之间互相通讯并且存储每一个小空间边界上的”ghost”原子的信息.LAMMPS(并行情形)在模仿3维矩行盒子并且具有近均一密度的体系时效力最高.2.L AMMPS的功效总体功效:可以串行和并行盘算散布式MPI策略模仿空间的分化并行机制开源高移植性C++说话编写MPI和单处理器串行FFT的可选性(自界说)可以便利的为之扩大上新特点和功效只需一个输入剧本就可运行有界说和应用变量和方程完整语律例则在运行进程中轮回的掌握都有严厉的规矩只要一个输入剧本试就可以同时实现一个或多个模仿义务粒子和模仿的类型:(atom style敕令)原子粗粒化粒子全原子聚合物,有机分子,蛋白质,DNA结合原子聚合物或有机分子金属粒子材料粗粒化介不雅模子延长球形与卵形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:(敕令:pair style, bond style, angle style, dihedral style, improper style, kspace style)对互相感化势:L-J, Buckingham, Morse, Yukawa, soft, class2(COMPASS), tabulated.带点对互相感化势:Coulombic, point-dipole.多体感化势:EAM, Finnis/Sinclair EAM, modified EAM(MEAM), Stillinger-Weber, Tersoff, AIREBO, ReaxFF粗粒化感化势:DPD, GayBerne, Resquared, Colloidal, DLVO介不雅感化势:granular, Peridynamics键势能:harmonic, FENE, Morse, nonlinear, class2, quartic键角势能:harmonic, CHARMM, cosine, cosine/squared, class2(COMPASS)二面角势能:harmonic, CHARMM, multi-harmonic, helix, OPLS, class2(COMPASS) 不合理势能:harmonic, CVFF, class2(COMPASS)聚合物势能:all-atom, united-atom, bead-spring, breakable水势能:TIP3P,TIP4P,SPC隐式溶剂势能:hydrodynamic lubrication, Debye长程库伦与疏散:Ewald, PPPM, Ewald/N(针对长程L-J感化)可以有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场可以采用GPU加快的成对类型杂化势能函数:multiple pair, bond, angle, dihedral, improper potentials(多对势能处于更高的优先级)原子创建:(敕令:read_data, lattice, create-atoms, delete-atoms, displace-atoms, replicate)从文件中读入各个原子的坐标在一个或多个晶格中创建原子删除几何或逻辑原子基团复制已消失的原子多次调换原子系综,束缚前提,边界前提:(敕令:fix)二维和三维体系正角或非正角模仿空间常NVE,NVT,NPT,NPH积分器原子基团与几何区域可选择不同的温度掌握器有Nose/Hoover和Berendsen压力掌握器来掌握体系的压力(任一维度上)模仿合子的变形(扭曲与剪切)简谐(unbrella)束缚力刚体束缚扭捏键与键角束缚各类边界情形非平行太分子动力学NEMD各类附加边界前提和束缚积分器:Velocity-verlet积分器Brown积分器rRESPA继续时光延化积分器刚体积分器共轭梯度或最束降低算法能量最小化器输出:(敕令:dump, restart)热力学信息日记原子坐标,速度和其它原子量信息的文本dump文件二进制重启文件各原子量包括:能量,压力,中间对称参数,CAN等用户自界说体系宽度或各原子的盘算信息每个原子的时光与空间平均体系宽量的时光平均原子图像,XYZ,XTC,DCD,CFG格局数据的前处理与后处理:包里供给了一系列的前处理与后处理对象别的,可以应用自力刊行的对象组pizza.py,它可以进行LAMMPS模仿的设置,剖析,作图和可视化工作.特殊功效:及时的可视化与交互式MD模仿与有限元方法结合进行原子-持续体模仿在POEMS库中供给了刚体积分对象并行裉火并行复制动力学对低密度液体直接应用MC模仿Peridynamic介不雅建模目标型与无目标型分子动力学双温度电子模子LAMMPS不具备的功效:因为LAMMPS是对牛顿活动方程积分的对象,所以许多必要的数据前处理与后处理功效是LAMMPS焦点不具备的.其原因为:保证LAMMPS的小巧性前处理与后处理不能进行并交运算这些功效可以有其它对象来完成原代码开辟的局限性特殊地,LAMMPS不能:经由过程图形用户界面来工作创建分子体系主动的加上力场系数为MD模仿供给智能化的数据剖析MD的可视化为输出数据作图我们须要为LAMMPS输入一系列的原子类型,原子坐标,分子拓朴信息和所有原子与键的力场参数.LAMMPS不会主动的为我们创建分子体系与力场参数.对与原子体系,LAMMPS供给了creat-atoms敕令来为固态晶格加上原子.可以能过pair coeff,bond coeff, angle coeff等命来加上小数量标力场参数.对于分子体系或更庞杂的模仿体系,我们平日会用其它对象来创建或者是转换LAMMPS输出文件来做到这些工作.有的还会写一些自已的代码来完成这项义务.对于一个庞杂的分子体系(如,蛋白质),我们须要为之供给上面个拓朴信息与力场参数.所以我们建议用CHARMM或AMBER或其它的分子建模器来完成这些义务,并把之输到一个文件中去.然后,转变其格局以达到LAMMPS所许可的输入格局.同样,LAMMPS的输出文件是一种简略的文本格局,我们也可以经由过程其它的对象来换专这些格局.我们可以用以下几个软件来完成高质量的可视工作:VMDAtomEyePymolRaster3dRasMol最后要说一下的是,以下这些也是自由分子动力学包,它们大多半是并行的,可能也合适来完成你的研讨工作,当然也可以与LAMMPS结合起来应用以完成模仿工作.CHARMMAMBERNAMDNWCHEMDL_POLYTinkerCHARMM,AMBER,NAMD,NWCHEM,Tinker是专们用于模仿生物分子的.二、开端本部分重要描写若何创建和运行LAMMPS.1.在LAMMPS刊行包理含有:READMELICENSEBench:测式义务Doc:文本Examples:简略的测试义务Potentials:嵌入原子方法与力场文件Src:源代码Tools: 前处理与后处理对象假如你下载的是windows可履行文件的话,你里面只有一个文件(并行与非并行两种)Lmp-windows.exe2. 编译LAMMPS之前的工作:编译LAMMPS不是一个繁琐的工作.起首你可能要写一个makefile文件,里面要选择编译器,附加的一些将要用到的库等.事先装上MPI或FFT等库.编译出一个可履行LAMMPS:在SRC目次里头含有C++源文件和头文件.当然也包括一个高程度的Makefile,在MAKE目次里头有几个低程度的Makefile.*files分离适有不同的平台.进入SRC目次,输入make或gmake,你将会看到一列的可选项.假如个中有一种相符你的机械,你可以输入像下面一样的敕令:Make linuxGmake mac留意,在一个多处理器或多核处理器的平台上你可以进行平行编译,在make敕令中应用“-j”选项就可以,如许编译起来会更快一些.在此进程中不产生错误的话,你可以得到一个相似于lmp-linux的可履行文件.在编译进程当中将会产生的常见错误:(1)假如编译进程当中产生错误,并提醒不能找到一个含有通配符*为名的文件的话,解释你机械上的make器许可makefile中应用通配符.那就偿式应用gmake.如还不行的话,就尝尝参加-f选项,用Makefile.list作为make对像.如:Make makelistMake –f makefile.list linuxGmake –f makefile.lst mac(2)当你应用低程度的makefile时,可能因为对机械的设置不准确,会导致一些错误.假如你的平台叫“foo”,的话,你将要在MAKE目次中创建一个Makefile.foo.应用任何一个与你机械邻近的文件作为开端老是一个不错的选择.(3)如你在链接的时刻消失库丧掉或少了依附关系的话,可能是因为:你编译的包须要一个附加的库,但却没有事先编译须要的package libaray.你要链接的库在你的体系中不消失.没有衔接到必要的体系库后两种问题消失,你就须要修正你的低程度makefile.foo.编辑一个新的低程度makefile.foo:(1)在#后的句子中,调换foo,不论你写成什么,这一行将会出如今屏幕上,假如你只输入make敕令的话.(2)在“complier/linkersettings”部分为你的C++编译器列出编译器与链接器的设置,包括优化符号.你可以在任何UNIX体系中应用G++编译器.当然你也可以用MPICC,假如你的体系中安装了MPI的话. 如过在编译进程当中须要符加的库的话,你必需在LIB变量中列出来.DEPFLAGS设置可以让C++编译器创建一个源文件的依附关系列表,当源文件或头文件转变的时刻可以加快编译速度.有些编译器不能创建依附关系列表,或者你可以用选项—D来实现.G++可以应用-D.假如你的编译器不能创建依附关系文件的话,那么你就须要创建一个Makefile.foo来与Makefile. storm(它用一系列的不须要依附文件的计划)相对应.(3)“system-specific settings”部分有四个小部分:A LMP—INC变量,包括一些与体系相干的前提选项.B 3个MPI变量用于指定MPI库.如你要进行并行盘算的话,那么你必须在你的平台上安上MPI库.如你想用MPI内置C++编译器的话,你可以让这三个变量空着,如你不用MPICC的话,那么,你要指定MPI.h(MPI_INC)文件在哪,MPI (MPI_PATH)库在哪,还有库名(MPI_LIB).假如你想自已安装MPI的话,我们建议用MPICH1.2或MMPI也可以.假如我的是大平始的话,你的供给商已经为你装上了MPI,其可能比MPICH或LAM更快,你可以把找出来并与之链接.如你用LAM或MPICH,你必须要设置他并编译他使之合适你的平台.假如你想在单处理器的机械上运行的话,你可以用STIBS库,如许你就可以不用在你的体系中安装MPI库.防照makefile.serial,看是假如设置这三个变量的.当然你在编译LAMMPS之前你必需创建S TUBS库.在STUBS目次中,输入make,不出错的话你将会得到一个libmpi.a文件可供链接到LAMM PS.当出错,你则要修正STUBS下的MAKEFILE.STUBS/MPI.CPP有一个CPU计时器MPI_Wtime()可以挪用gettimeofday().如你的体系不支撑gettimeofday(),则你就要插入一句代码来挪用另一个计时器,要留意的是,clock( )函数在一个小时之后会归0,所以对于一个长时光的LAMMPS模仿来说这是不够用的.C FTT变量用于指定FFT库,当要用到kspace-style敕令来盘算长程库伦感化时应用PPPM选项时要用到.要应用此选项,你必须要在你的机械上安装一个一维的FFT库.可以能过开关—DFFT—XXX来指定,个中XXX=INTEL,DEC,SGI,SCSL,或FFTW.没有方法的情形下可以用供给商供给的库.FFTW是一个快速的,可移植性的库,它可以在任何一个平台上运行.最好2.1.X本.编译FFTW库时只要用./configure;make就可以.不任你是用哪一种FFT库,你都要在makefile.foo中准确的设置咱们的FFT_INC,FFT_PATH,FFT_LIB.当然,你假如不用PPPM的话,你将没有必要安装FFT库.这种情形下,你可以把FFT_INC设成-DFFT-NONE并让其它几个变量空着.你也可以在编译LAMMPS时把KSPACE包剔除.D几个SYSLIB和SYSPATH变量你可以疏忽,除非你在编译LAMMPS时个中有一个或几个包要用到附加的体系库.所有这些包都的的名称都将会是SYSLIB和SYSPATH变量的前辍.SYSLIB变量将列出体系库.SYSPATH则是路径,只有当这些库为非默认路径时才有设定.最后,当你准确的写好了makefile.foo和预编译好了所有的其它库(MPI,FFT,包库等)之后,你只要在SRC目次下输入下面个中一个敕令就可以了Make fooGmake foo不出不测,你将会得到lmp_foo的可履行文件.附加建义(1)为多平台编译LAMMPS你可以在统一个SRC目次下为多平台编译LAMMPS.每一个目标都有他自已的目标路径,Obj_nam e 用于存贮指定体系的目标文件.(2)清算输入make clear-all或make clean-foo将会清算LAMMPS在编译时创建的目标文件.(3)为windows编译LAMMPS在LAMMPS下载页面上可以下载已经编译好了的windows可履行文件.如已经编译好了的windows可履行文件不能知足你的请求的时刻,你可以在windows平台上从源文件编译LAMMPS.但是不建义这么做.见./src/MAKE/Windows.3 若何有选择性的编译LAMMPS参加/剔除包在LAMMPS编译之前可以参加或剔除所有或部分包.只有两种况下是列外,GPU和OPT包.这此包中互相联系关系的包必须包括在一路.假如不是如许,那么在GPU和OPT子目次下的所有包都不能安装.要安装GPU包里的全体文件,asphere包须安装.要安装OPT下的所有文件,那么kspace与manybody包须起首安装.当然,因为某些模仿用不到个中的某些包,那么你想把这些包剔除这是可以的.如许你就可以不用编译一些额外的库,当然你的可履行文件也将会更小,运行起来也会更快.默认情形下,LAMMPS只包含kspace,manybody,molecule这三个包.可以经由过程如make yes-name, make no-name来参加和剔除一些包,当然你也可以用make yes-standard, make no-standard,make yes –user, make no-user, make yes-all, make no-all参加或剔除各类包.Make package可以看到多个选项.3 运行LAMMPS。

LAMMPS手册-中文版讲解

LAMMPS手册-中文版讲解

LAMMPS手册-中文解析一、简介本部分大至介绍了LAMMPS的一些功能和缺陷。

1.什么是LAMMPS?LAMMPS是一个经典的分子动力学代码,他可以模拟液体中的粒子,固体和汽体的系综.他可以采用不同的力场和边界条件来模拟全原子,聚合物,生物,金属,粒状和粗料化体系。

LAMMPS可以计算的体系小至几个粒子,大到上百万甚至是上亿个粒子.LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的计算效率,但是它是专门为并行计算机设计的。

他可以在任何一个按装了C++编译器和MPI的平台上运算,这其中当然包括分布式和共享式并行机和Beowulf型的集群机.LAMMPS是一可以修改和扩展的计算程序,比如,可以加上一些新的力场,原子模型,边界条件和诊断功能等。

通常意义上来讲,LAMMPS是根据不同的边界条件和初始条件对通过短程和长程力相互作用的分子,原子和宏观粒子集合对它们的牛顿运动方程进行积分。

高效率计算的LAMMPS通过采用相邻清单来跟踪他们邻近的粒子。

这些清单是根据粒子间的短程互拆力的大小进行优化过的,目的是防止局部粒子密度过高。

在并行机上,LAMMPS采用的是空间分解技术来分配模拟的区域,把整个模拟空间分成较小的三维小空间,其中每一个小空间可以分配在一个处理器上。

各个处理器之间相互通信并且存储每一个小空间边界上的"ghost”原子的信息。

LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高。

2.LAMMPS的功能总体功能:可以串行和并行计算分布式MPI策略模拟空间的分解并行机制开源高移植性C++语言编写MPI和单处理器串行FFT的可选性(自定义)可以方便的为之扩展上新特征和功能只需一个输入脚本就可运行有定义和使用变量和方程完备语法规则在运行过程中循环的控制都有严格的规则只要一个输入脚本试就可以同时实现一个或多个模拟任务粒子和模拟的类型:(atom style命令)原子粗粒化粒子全原子聚合物,有机分子,蛋白质,DNA联合原子聚合物或有机分子金属粒子材料粗粒化介观模型延伸球形与椭圆形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:(命令:pair style,bond style,angle style, dihedral style,improper style, kspace style) 对相互作用势:L—J, Buckingham,Morse, Yukawa,soft, class2(COMPASS), tabulated.带点对相互作用势:Coulombic, point—dipole.多体作用势:EAM,Finnis/Sinclair EAM, modified EAM(MEAM), Stillinger-Weber, Tersoff, AIREBO, ReaxFF粗粒化作用势:DPD, GayBerne, Resquared,Colloidal, DLVO介观作用势:granular, Peridynamics键势能:harmonic,FENE, Morse,nonlinear,class2, quartic键角势能:harmonic, CHARMM, cosine,cosine/squared,class2(COMPASS)二面角势能:harmonic, CHARMM, multi-harmonic,helix, OPLS, class2(COMPASS) 不合理势能:harmonic,CVFF, class2(COMPASS)聚合物势能:all-atom, united—atom, bead—spring, breakable水势能:TIP3P,TIP4P,SPC隐式溶剂势能:hydrodynamic lubrication, Debye长程库伦与分散:Ewald, PPPM,Ewald/N(针对长程L-J作用)可以有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场可以采用GPU加速的成对类型杂化势能函数:multiple pair, bond,angle, dihedral,improper potentials(多对势能处于更高的优先级)原子创建:(命令:read_data, lattice, create-atoms,delete-atoms, displace—atoms,replicate)从文件中读入各个原子的坐标在一个或多个晶格中创建原子删除几何或逻辑原子基团复制已存在的原子多次替换原子系综,约束条件,边界条件:(命令:fix)二维和三维体系正角或非正角模拟空间常NVE,NVT,NPT,NPH积分器原子基团与几何区域可选择不同的温度控制器有Nose/Hoover和Berendsen压力控制器来控制体系的压力(任一维度上)模拟合子的变形(扭曲与剪切)简谐(unbrella)束缚力刚体约束摇摆键与键角约束各种边界环境非平行太分子动力学NEMD各种附加边界条件和约束积分器:Velocity-verlet积分器Brown积分器rRESPA继承时间延化积分器刚体积分器共轭梯度或最束下降算法能量最小化器输出:(命令:dump, restart)热力学信息日志原子坐标,速度和其它原子量信息的文本dump文件二进制重启文件各原子量包括:能量,压力,中心对称参数,CAN等用户自定义系统宽度或各原子的计算信息每个原子的时间与空间平均系统宽量的时间平均原子图像,XYZ,XTC,DCD,CFG格式数据的前处理与后处理:包里提供了一系列的前处理与后处理工具另外,可以使用独立发行的工具组pizza。

LAMMPS手册-中文版讲解

LAMMPS手册-中文版讲解

LAMMPS脚册-华文剖析之阳早格格创做一、简介本部分大至介绍了LAMMPS的一些功能战缺陷.1.什么是LAMMPS?LAMMPS是一个典范的分子能源教代码,他不妨模拟液体中的粒子,固体战汽体的系综.他不妨采与分歧的力场战鸿沟条件去模拟齐本子,散合物,死物,金属,粒状战细料化体系.LAMMPS 不妨估计的体系小至几个粒子,大到上百万以至是上亿个粒子.LAMMPS不妨正在单个处理器的台式机战条记本本上运止且有较下的估计效用,然而是它是博门为并止估计机安排的.他不妨正在所有一个按拆了C++编译器战MPI的仄台上运算,那其中天然包罗分集式战共享式并止机战Beowulf型的集群机.LAMMPS是一不妨建改战扩展的估计步调,比圆,不妨加上一些新的力场,本子模型,鸿沟条件战诊疗功能等.常常意思上去道,LAMMPS是根据分歧的鸿沟条件战初初条件对付通过短程战少程力相互效用的分子,本子战宏瞅粒子集中对付它们的牛顿疏通圆程举止积分.下效用估计的LAMMPS通过采与相邻浑单去追踪他们相近的粒子.那些浑单是根据粒子间的短程互拆力的大小举止劣化过的,脚段是预防局部粒子稀度过下.正在并止机上,LAMMPS采与的是空间领会技能去调配模拟的天区,把所有模拟空间分成较小的三维小空间,其中每一个小空间不妨调配正在一个处理器上.各个处理器之间相互通疑而且保存每一个小空间鸿沟上的”ghost”本子的疑息.LAMMPS(并止情况)正在模拟3维矩止盒子而且具备近均一稀度的体系真效用最下.2.LAMMPS的功能总体功能:不妨串止战并止估计分集式MPI战术模拟空间的领会并止体造开源下移植性C++谈话编写MPI战单处理器串止FFT的可选性(自定义)不妨便当的为之扩展上新特性战功能只需一个输进足本便可运止有定义战使用变量战圆程完备语准则则正在运止历程中循环的统造皆有庄重的准则只消一个输进足本试便不妨共时真止一个大概多个模拟任务粒子战模拟的典型:(atom style下令)本子细粒化粒子齐本子散合物,有机分子,蛋黑量,DNA共同本子散合物大概有机分子金属粒子资料细粒化介瞅模型蔓延球形与椭圆形粒子面奇极粒子刚刚性粒子所有上头的纯化典型力场:(下令:pair style, bond style, angle style, dihedral style, improper style, kspace style)对付相互效用势:L-J, Buckingham, Morse, Yukawa, soft, class2(COMPASS), tabulated.戴面对付相互效用势:Coulombic, point-dipole.多体效用势:EAM, Finnis/Sinclair EAM, modified EAM(MEAM), Stillinger-Weber, Tersoff, AIREBO, ReaxFF 细粒化效用势:DPD, GayBerne, Resquared, Colloidal, DLVO介瞅效用势:granular, Peridynamics键势能:harmonic, FENE, Morse, nonlinear, class2, quartic键角势能:harmonic, CHARMM, cosine, cosine/squared, class2(COMPASS)二里角势能:harmonic, CHARMM, multi-harmonic, helix, OPLS, class2(COMPASS)分歧理势能:harmonic, CVFF, class2(COMPASS)散合物势能:all-atom, united-atom, bead-spring, breakable火势能:TIP3P,TIP4P,SPC隐式溶剂势能:hydrodynamic lubrication, Debye少程库伦与分别:Ewald, PPPM, Ewald/N(针对付少程L-J效用)不妨有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场不妨采与GPU加速的成对付典型纯化势能函数:multiple pair, bond, angle, dihedral, improper potentials(多对付势能处于更下的劣先级)本子创造:(下令:read_data, lattice, create-atoms, delete-atoms, displace-atoms, replicate)从文献中读进各个本子的坐标正在一个大概多个晶格中创造本子简略几许大概逻辑本子基团复造已存留的本子多次替换本子系综,拘束条件,鸿沟条件:(下令:fix)二维战三维体系正角大概非正角模拟空间常NVE,NVT,NPT,NPH积分器本子基团与几许天区可采用分歧的温度统造器有Nose/Hoover战Berendsen压力统造器去统造体系的压力(任一维度上)模拟合子的变形(扭直与剪切)简谐(unbrella)束缚力刚刚体拘束摇晃键与键角拘束百般鸿沟环境非仄止太分子能源教NEMD百般附加鸿沟条件战拘束积分器:Velocity-verlet积分器Brown积分器rRESPA继启时间延化积分器刚刚体积分器共轭梯度大概最束下落算法能量最小化器输出:(下令:dump, restart)热力教疑息日志本子坐标,速度战其余本子量疑息的文本dump文献二进造沉开文献各本子量包罗:能量,压力,核心对付称参数,CAN等用户自定义系统宽度大概各本子的估计疑息每个本子的时间与空间仄衡系统宽量的时间仄衡本子图像,XYZ,XTC,DCD,CFG要领数据的前处理与后处理:包里提供了一系列的前处理与后处理工具其余,不妨使用独力收止的工具组pizza.py, 它不妨举止LAMMPS模拟的树坐,领会,做图战可视化处事.特天功能:真时的可视化与接互式MD模拟与有限元要领分离举止本子-连绝体模拟正在POEMS库中提供了刚刚体积单干具并止裉火并止复造能源教对付矮稀度液体间接使用MC模拟Peridynamic介瞅建模目标型与无目标型分子能源教单温度电子模型LAMMPS不具备的功能:由于LAMMPS是对付牛顿疏通圆程积分的工具,所以很多需要的数据前处理与后处理功能是LAMMPS核心不具备的.其本果为:包管LAMMPS的小巧性前处理与后处理不克不迭举止并止运算那些功能不妨有其余工具去完毕本代码开垦的限造性特天天,LAMMPS不克不迭:通过图形用户界里去处事创造分子体系自动的加上力场系数为MD模拟提供智能化的数据领会MD的可视化为输出数据做图咱们需要为LAMMPS输进一系列的本子典型,本子坐标,分子拓朴疑息战所有本子与键的力场参数.LAMMPS不会自动的为咱们创造分子体系与力场参数.对付与本子体系,LAMMPS提供了creat-atoms下令去为固态晶格加上本子.不妨能过pair coeff,bond coeff, angle coeff等命去加上小数脚段力场参数.对付于分子体系大概更搀纯的模拟体系,咱们常常会用其余工具去创造大概者是变换LAMMPS输出文献去干到那些事务.有的还会写一些自已的代码去完毕那项任务.对付于一个搀纯的分子体系(如,蛋黑量),咱们需要为之提供上头个拓朴疑息与力场参数.所以咱们提议用CHARMM大概AMBER大概其余的分子建模器去完毕那些任务,并把之输到一个文献中去.而后,改变其要领以达到LAMMPS所允许的输进要领.共样,LAMMPS的输出文献是一种简朴的文本要领,咱们也不妨通过其余的工具去换博那些要领.咱们不妨用以下几个硬件去完毕下品量的可视处事:VMDAtomEyePymolRaster3dRasMol末尾要道一下的是,以下那些也是自由分子能源教包,它们大普遍是并止的,大概也切合去完毕您的钻研处事,天然也不妨与LAMMPS共同起去使用以完毕模拟处事.CHARMMAMBERNAMDNWCHEMDL_POLYTinkerCHARMM,AMBER,NAMD,NWCHEM,Tinker是博们用于模拟死物分子的.二、开初本部分主要形貌怎么样创造战运止LAMMPS.1.正在LAMMPS收止包理含有:READMELICENSEBench:测式任务Doc:文本Examples:简朴的尝试任务Potentials:嵌进本子要领与力场文献Src:源代码Tools: 前处理与后处理工具假若您下载的是windows可真止文献的话,您内里惟有一个文献(并止与非并止二种)L2. 编译LAMMPS之前的处事:编译LAMMPS不是一个烦琐的处事.最先您大概要写一个makefile文献,内里要采用编译器,附加的一些将要用到的库等.预先拆上MPI大概FFT等库.编译出一个可真止LAMMPS:正在SRC目录里头含有C++源文献战头文献.天然也包罗一个下火仄的Makefile,正在MAKE目录里头有几个矮火仄的Makefile.*files分别适有分歧的仄台.加进SRC目录,输进make大概gmake,您将会瞅到一列的可选项.假若其中有一种切合您的呆板,您不妨输进像底下一般的下令:Make linuxGmake mac注意,正在一个多处理器大概多核处理器的仄台上您不妨举止仄止编译,正在make下令中使用“-j”选项便不妨,那样编译起去会更快一些.正在此历程中不爆收过得的话,您不妨得到一个类似于lmp-linux 的可真止文献.正在编译历程核心将会爆收的罕睹过得:(1)如果编译历程核心爆收过得,并提示不克不迭找到一个含有通配符*为名的文献的话,证明您呆板上的make器允许makefile中使用通配符.那便偿式使用gmake.如还不可的话,便试试加进-f选项,用Makefile.list动做make对付像.如:Make makelistMake –f makefile.list linuxGmake –f makefile.lst mac(2)当您使用矮火仄的makefile时,大概由于对付呆板的树坐不精确,会引导一些过得.假若您的仄台喊“foo”,的话,您将要正在MAKE目录中创造一个Makefile.foo.使用所有一个与您呆板相近的文献动做开初经常一个不错的采用.(3)如您正在链接的时间出现库拾得大概少了依好闭系的话,大概是由于:您编译的包需要一个附加的库,然而却不预先编译需要的package libaray.您要链接的库正在您的系统中不存留.不对接到需要的系统库后二种问题出现,您便需要建改您的矮火仄makefile.foo.编写一个新的矮火仄makefile.foo:(1)正在#后的句子中,替换foo,不管您写成什么,那一止将会出当前屏幕上,如果您只输进make下令的话.(2)正在“complier/linker settings”部分为您的C++编译器列出编译器与链接器的树坐,包罗劣化标记.您不妨正在所有UNIX系统中使用G++编译器.天然您也不妨用MPICC,如果您的系统中拆置了MPI的话.如过正在编译历程核心需要符加的库的话,您必须正在LIB变量中列出去.DEPFLAGS树坐不妨让C++编译器创造一个源文献的依好闭系列表,当源文献大概头文献改变的时间不妨加快编译速度.有些编译器不克不迭创造依好闭系列表,大概者您不妨用选项—D去真止.G++不妨使用-D.如果您的编译器不克不迭创造依好闭系文献的话,那么您便需要创造一个Makefile.foo去与Makefile.storm(它用一系列的不需要依好文献的筹备)相对付应.(3)“system-specific settings”部分有四个小部分:A LMP—INC变量,包罗一些与系统相闭的条件选项.B 3个MPI变量用于指定MPI库.如您要举止并止估计的话,那么您必须正在您的仄台上安上MPI库.如您念用MPI内置C++编译器的话,您不妨让那三个变量空着,如您不必MPICC的话,那么,您要指定MPI.h(MPI_INC)文献正在哪,MPI(MPI_PATH)库正在哪,另有库名(MPI_LIB).如果您念自已拆置MPI的话,咱们提议用MPICH1.2大概M MPI也不妨.如果尔的是大仄初的话,您的供应商已经为您拆上了MPI,其大概比MPICH大概LAM更快,您不妨把找出去并与之链接.如您用LAM大概MPICH,您必须要树坐他并编译他使之切合您的仄台.如果您念正在单处理器的呆板上运止的话,您不妨用STIBS 库,那样您便不妨不必正在您的系统中拆置MPI库.防照makefile.serial,瞅是如果树坐那三个变量的.天然您正在编译LAMMPS之前您必须创造STUBS库.正在STUBS目录中,输进make,不堕落的话您将会得到一个libmpi.a文献可供链接到LAMMPS.当堕落,您则要建改STUBS下的MAKEFILE. STUBS/MPI.CPP有一个CPU计时器MPI_Wtime()不妨调用gettimeofday(). 如您的系统不收援gettimeofday(),则您便要拔出一句代码去调用另一个计时器,要注意的是,clock()函数正在一个小时之后会归0,所以对付于一个万古间的LAMMPS 模拟去道那是不敷用的.C FTT变量用于指定FFT库,当要用到kspace-style下令去估计少程库伦效用时使用PPPM选项时要用到.要使用此选项,您必须要正在您的呆板上拆置一个一维的FFT 库.不妨能过开闭—DFFT—XXX去指定,其中XXX=INTEL,DEC,SGI,SCSL,大概FFTW.不办法的情况下不妨用供应商提供的库.FFTW是一个赶快的,可移植性的库,它不妨正在所有一个仄台上运止.最佳 2.1.X本.编译FFTW库时只消用./configure;make便不妨.不任您是用哪一种FFT库,您皆要正在makefile.foo中精确的树坐咱们的FFT_INC,FFT_PATH,FFT_LIB.天然,您如果不必PPPM的话,您将不需要拆置FFT库.那种情况下,您不妨把FFT_INC设成-DFFT-NONE并让其余几个变量空着.您也不妨正在编译LAMMPS时把KSPACE包剔除.D 几个SYSLIB战SYSPATH变量您不妨忽略,除非您正在编译LAMMPS时其中有一个大概几个包要用到附加的系统库.所有那些包皆的的称呼皆将会是SYSLIB战SYSPATH变量的前辍.SYSLIB变量将列出系统库.SYSPATH则是路径,惟有当那些库为非默认路径时才有设定.末尾,当您精确的写佳了makefile.foo战预编译佳了所有的其余库(MPI,FFT,包库等)之后,您只消正在SRC目录下输进底下其中一个下令便不妨了Make fooGmake foo不出不料,您将会得到lmp_foo的可真止文献.附加建义(1)为多仄台编译LAMMPS您不妨正在共一个SRC目录下为多仄台编译LAMMPS.每一个目标皆有他自已的目标路径,Obj_name 用于存贮指定系统的目标文献.(2)浑理输进make clear-all大概make clean-foo将会浑理LAMMPS正在编译时创造的目标文献.(3)为windows编译LAMMPS正在LAMMPS下载页里上不妨下载已经编译佳了的windows 可真止文献.如已经编译佳了的windows可真止文献不克不迭谦足您的央供的时间,您不妨正在windows仄台上从源文献编译LAMMPS.然而是不建义那样干.睹./src/MAKE/Windows.3 怎么样有采用性的编译LAMMPS加进/剔除包正在LAMMPS编译之前不妨加进大概剔除所有大概部分包.惟有二种况下是列中,GPU战OPT包.那此包中相互闭联的包必须包罗正在所有.如果不是那样,那么正在GPU战OPT子目录下的所有包皆不克不迭拆置.要拆置GPU包里的局部文献,asphere包须拆置.要拆置OPT下的所有文献,那么kspace与manybody包须最先拆置.天然,由于某些模拟用不到其中的某些包,那么您念把那些包剔除那是不妨的.那样您便不妨不必编译一些特殊的库,天然您的可真止文献也将会更小,运止起去也会更快.默认情况下,LAMMPS只包罗kspace,manybody,molecule那三个包.不妨通过如make yes-name, make no-name去加进战剔除一些包,天然您也不妨用make yes-standard, make no-standard,make yes –user, make no-user, make yes-all, make no-all加进大概剔除百般包.Make package不妨瞅到多个选项.3 运止LAMMPS。

LAMMPS手册-中文版讲解

LAMMPS手册-中文版讲解

LAMMPS手册—中文解析一、简介本部分大至介绍了LAMMPS的一些功能和缺陷.1.什么是LAMMPS?LAMMPS是一个经典的分子动力学代码,他可以模拟液体中的粒子,固体和汽体的系综。

他可以采用不同的力场和边界条件来模拟全原子,聚合物,生物,金属,粒状和粗料化体系。

LAMMPS可以计算的体系小至几个粒子,大到上百万甚至是上亿个粒子。

LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的计算效率,但是它是专门为并行计算机设计的.他可以在任何一个按装了C++编译器和MPI的平台上运算,这其中当然包括分布式和共享式并行机和Beowulf型的集群机.LAMMPS是一可以修改和扩展的计算程序,比如,可以加上一些新的力场,原子模型,边界条件和诊断功能等。

通常意义上来讲,LAMMPS是根据不同的边界条件和初始条件对通过短程和长程力相互作用的分子,原子和宏观粒子集合对它们的牛顿运动方程进行积分.高效率计算的LAMMPS通过采用相邻清单来跟踪他们邻近的粒子。

这些清单是根据粒子间的短程互拆力的大小进行优化过的,目的是防止局部粒子密度过高。

在并行机上,LAMMPS采用的是空间分解技术来分配模拟的区域,把整个模拟空间分成较小的三维小空间,其中每一个小空间可以分配在一个处理器上。

各个处理器之间相互通信并且存储每一个小空间边界上的”ghost”原子的信息。

LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高。

2.LAMMPS的功能总体功能:可以串行和并行计算分布式MPI策略模拟空间的分解并行机制开源高移植性C++语言编写MPI和单处理器串行FFT的可选性(自定义)可以方便的为之扩展上新特征和功能只需一个输入脚本就可运行有定义和使用变量和方程完备语法规则在运行过程中循环的控制都有严格的规则只要一个输入脚本试就可以同时实现一个或多个模拟任务粒子和模拟的类型:(atom style命令)原子粗粒化粒子全原子聚合物,有机分子,蛋白质,DNA联合原子聚合物或有机分子金属粒子材料粗粒化介观模型延伸球形与椭圆形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:(命令:pair style,bond style,angle style,dihedral style,improper style, kspace style)对相互作用势:L-J, Buckingham, Morse,Yukawa, soft, class2(COMPASS), tabulated.带点对相互作用势:Coulombic,point-dipole。

(完整word版)lammps初学者in文件中文解析

(完整word版)lammps初学者in文件中文解析

(完整word版)lammps初学者in文件中文解析Lammps初学者——in文件中文解析(1)初始化Units:Units命令是用来设定模拟的原子类型。

Units style(lammps现在提供的有style=LJ、real、metal、si、cgs、electron)LJ是硬球模型Real是真实的原子模型Metal是金属原子模型Si是硅(半导体)原子模型CgsElectron是电子模型Dimension:Dimension命令是用来定义模拟的维度,默认情况为三维。

Dimension N (N=2,3)Boundary:Boundary命令是用来设定模拟的边界条件。

Boundary x y z (x,y,z=p,s,f,m四种类型中的一种或者两种)P是周期性边界条件S是自由边界条件(但是具有收缩性)F是固定边界条件M是具有最小值的自由边界条件(但是具有收缩性)Atom-style:Atom-style定义了模拟体系中的原子属性。

Delete-atoms:Pair-style:Pair-style定义了相互作用力场类型,即势函数。

(2)原子定义1、Read-data/read-restart:Read-data或read-restart为从data或restart文件中读取内容来定义原子。

2、Lattice:lattice是用来原子类型构建模型晶格结构。

Lattice style scale keyword values...Style表示点阵类型,点阵类型有none、sc、bcc、fcc、hcp、diamond、sq、sq2、hex、custom。

Scale表示构建的点阵类型的单位长度Keyword表示后面可以追加0个或者多个关键字,关键字有origin、orient、spacing、a1、a2、a3、basis。

各关键字意思为:Region:Create-box:Create-box命令用于在region box命令指定的区域内创建一个模拟的盒子。

lammps算热导率的 in 文件

lammps算热导率的 in 文件

lammps算热导率的 in 文件
lammps是一款常用的分子动力学模拟软件,在lammps中计算热导率的in文件需要定义系统的几何结构、原子类型和相互作用参数,设定模拟的温度和时间,计算热流,并进行后处理来计算热导率。

以下是lammps算热导率的in文件的简要说明:
- 定义系统的几何结构和包含的原子类型:通过定义晶格常数、束缚势和原子间相互作用参数来实现。

- 设置模拟的温度和时间:热导率的计算需要通过模拟原子在给定温度下的运动来获得热流,因此需要设置合适的温度,并进行足够长的模拟时间以确保系统达到热平衡。

- 定义热流的计算方式:热导率是通过计算单位时间内通过系统的热流量来得到的。

可以在in文件中使用LAMMPS的命令和选项来计算热流,如fix heat和compute heat/flux。

- 进行后处理来计算热导率:通常,热导率是通过计算热流通过系统的速率与系统的温度梯度之间的比值来获得的。

这可以通过对LAMMPS模拟的结果进行后处理和分析来实现。

在使用lammps进行热导率计算时,需要根据具体的模拟体系和计算要求,编写合适的in文件,并进行必要的参数设置和计算。

如果你需要了解更多关于lammps的信息,请补充相关背景信息后再次提问。

LAMMPS手册-中文版讲解

LAMMPS手册-中文版讲解

LAMMPS手册-中文解析一、简介本部分大至介绍了LAMMPS的一些功能和缺陷。

1.什么是LAMMPS?LAMMPS是一个经典的分子动力学代码,他可以模拟液体中的粒子,固体和汽体的系综。

他可以采用不同的力场和边界条件来模拟全原子,聚合物,生物,金属,粒状和粗料化体系。

LAMMPS可以计算的体系小至几个粒子,大到上百万甚至是上亿个粒子。

LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的计算效率,但是它是专门为并行计算机设计的。

他可以在任何一个按装了C++编译器和MPI的平台上运算,这其中当然包括分布式和共享式并行机和Beowulf型的集群机。

LAMMPS是一可以修改和扩展的计算程序,比如,可以加上一些新的力场,原子模型,边界条件和诊断功能等。

通常意义上来讲,LAMMPS是根据不同的边界条件和初始条件对通过短程和长程力相互作用的分子,原子和宏观粒子集合对它们的牛顿运动方程进行积分。

高效率计算的LAMMPS通过采用相邻清单来跟踪他们邻近的粒子。

这些清单是根据粒子间的短程互拆力的大小进行优化过的,目的是防止局部粒子密度过高。

在并行机上,LAMMPS采用的是空间分解技术来分配模拟的区域,把整个模拟空间分成较小的三维小空间,其中每一个小空间可以分配在一个处理器上。

各个处理器之间相互通信并且存储每一个小空间边界上的”ghost”原子的信息。

LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高。

2.LAMMPS的功能总体功能:可以串行和并行计算分布式MPI策略模拟空间的分解并行机制开源高移植性C++语言编写MPI和单处理器串行FFT的可选性(自定义)可以方便的为之扩展上新特征和功能只需一个输入脚本就可运行有定义和使用变量和方程完备语法规则在运行过程中循环的控制都有严格的规则只要一个输入脚本试就可以同时实现一个或多个模拟任务粒子和模拟的类型:(atom style命令)原子粗粒化粒子全原子聚合物,有机分子,蛋白质,DNA联合原子聚合物或有机分子金属粒子材料粗粒化介观模型延伸球形与椭圆形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:(命令:pair style, bond style, angle style, dihedral style, improper style, kspace style)对相互作用势:L-J, Buckingham, Morse, Yukawa, soft, class2(COMPASS), tabulated.带点对相互作用势:Coulombic, point-dipole.多体作用势:EAM, Finnis/Sinclair EAM, modified EAM(MEAM), Stillinger-Weber, Tersoff, AIREBO, ReaxFF粗粒化作用势:DPD, GayBerne, Resquared, Colloidal, DLVO介观作用势:granular, Peridynamics键势能:harmonic, FENE, Morse, nonlinear, class2, quartic键角势能:harmonic, CHARMM, cosine, cosine/squared, class2(COMPASS)二面角势能:harmonic, CHARMM, multi-harmonic, helix, OPLS, class2(COMPASS) 不合理势能:harmonic, CVFF, class2(COMPASS)聚合物势能:all-atom, united-atom, bead-spring, breakable水势能:TIP3P,TIP4P,SPC隐式溶剂势能:hydrodynamic lubrication, Debye长程库伦与分散:Ewald, PPPM, Ewald/N(针对长程L-J作用)可以有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场可以采用GPU加速的成对类型杂化势能函数:multiple pair, bond, angle, dihedral, improper potentials(多对势能处于更高的优先级)原子创建:(命令:read_data, lattice, create-atoms, delete-atoms, displace-atoms, replicate)从文件中读入各个原子的坐标在一个或多个晶格中创建原子删除几何或逻辑原子基团复制已存在的原子多次替换原子系综,约束条件,边界条件:(命令:fix)二维和三维体系正角或非正角模拟空间常NVE,NVT,NPT,NPH积分器原子基团与几何区域可选择不同的温度控制器有Nose/Hoover和Berendsen压力控制器来控制体系的压力(任一维度上)模拟合子的变形(扭曲与剪切)简谐(unbrella)束缚力刚体约束摇摆键与键角约束各种边界环境非平行太分子动力学NEMD各种附加边界条件和约束积分器:Velocity-verlet积分器Brown积分器rRESPA继承时间延化积分器刚体积分器共轭梯度或最束下降算法能量最小化器输出:(命令:dump, restart)热力学信息日志原子坐标,速度和其它原子量信息的文本dump文件二进制重启文件各原子量包括:能量,压力,中心对称参数,CAN等用户自定义系统宽度或各原子的计算信息每个原子的时间与空间平均系统宽量的时间平均原子图像,XYZ,XTC,DCD,CFG格式数据的前处理与后处理:包里提供了一系列的前处理与后处理工具另外,可以使用独立发行的工具组pizza.py, 它可以进行LAMMPS模拟的设置,分析,作图和可视化工作。

LAMMPS手册-中文版讲解

LAMMPS手册-中文版讲解

LAMMPS‎手册-中文解析一、简介本部分大至介‎绍了LAMM‎PS的一些功‎能和缺陷。

1.什么是LAM‎M PS?LAMMPS‎是一个经典的‎分子动力学代‎码,他可以模拟液‎体中的粒子,固体和汽体的‎系综。

他可以采用不‎同的力场和边‎界条件来模拟‎全原子,聚合物,生物,金属,粒状和粗料化‎体系。

LAMMPS‎可以计算的体‎系小至几个粒‎子,大到上百万甚‎至是上亿个粒‎子。

LAMMPS‎可以在单个处‎理器的台式机‎和笔记本本上‎运行且有较高‎的计算效率,但是它是专门‎为并行计算机‎设计的。

他可以在任何‎一个按装了C‎++编译器和MP‎I的平台上运‎算,这其中当然包‎括分布式和共‎享式并行机和‎B e owul‎f型的集群机‎。

LAMMPS‎是一可以修改‎和扩展的计算‎程序,比如,可以加上一些‎新的力场,原子模型,边界条件和诊‎断功能等。

通常意义上来‎讲,LAMMPS‎是根据不同的‎边界条件和初‎始条件对通过‎短程和长程力‎相互作用的分‎子,原子和宏观粒‎子集合对它们‎的牛顿运动方‎程进行积分。

高效率计算的‎LAMMPS‎通过采用相邻‎清单来跟踪他‎们邻近的粒子‎。

这些清单是根‎据粒子间的短‎程互拆力的大‎小进行优化过‎的,目的是防止局‎部粒子密度过‎高。

在并行机上,LAMMPS‎采用的是空间‎分解技术来分‎配模拟的区域‎,把整个模拟空‎间分成较小的‎三维小空间,其中每一个小‎空间可以分配‎在一个处理器‎上。

各个处理器之‎间相互通信并‎且存储每一个‎小空间边界上‎的”ghost”原子的信息。

LAMMPS‎(并行情况)在模拟3维矩‎行盒子并且具‎有近均一密度‎的体系时效率‎最高。

2.LAMMPS‎的功能总体功能:可以串行和并‎行计算分布式MPI‎策略模拟空间的分‎解并行机制开源高移植性C++语言编写MPI和单处‎理器串行FF‎T的可选性(自定义)可以方便的为‎之扩展上新特‎征和功能只需一个输入‎脚本就可运行‎有定义和使用‎变量和方程完‎备语法规则在运行过程中‎循环的控制都‎有严格的规则‎只要一个输入‎脚本试就可以‎同时实现一个‎或多个模拟任‎务粒子和模拟的‎类型:(atom style命‎令)原子粗粒化粒子全原子聚合物‎,有机分子,蛋白质,DNA联合原子聚合‎物或有机分子‎金属粒子材料粗粒化介观模‎型延伸球形与椭‎圆形粒子点偶极粒子刚性粒子所有上面的杂‎化类型力场:(命令:pair style, bond style, angle style, dihedr‎al style, improp‎er style, kspace‎style)对相互作用势‎:L-J, Buckin‎g ham, Morse, Yukawa‎, soft, class2‎(COMPAS‎S), tabula‎t ed.带点对相互作‎用势:Coulom‎bi c, point-dipole‎.多体作用势:EAM, Finnis‎/Sincla‎i r EAM, modifi‎e d EAM(MEAM), Stilli‎n g er-Weber, Tersof‎f, AIREBO‎, ReaxFF‎粗粒化作用势‎:D PD, GayBer‎n e, Resqua‎r ed, Colloi‎d al, DLVO介观作用势:granul‎a r, Peridy‎n amics‎键势能:harmon‎i c, FENE, Morse, nonlin‎ear, class2‎, quarti‎c键角势能:harmon‎i c, CHARMM‎, cosine‎, cosine‎/square‎d, class2‎(COMPAS‎S)二面角势能:harmon‎i c, CHARMM‎, multi-harmon‎i c, helix, OPLS, class2‎(COMPAS‎S)不合理势能:harmon‎i c, CVFF, class2‎(COMPAS‎S)聚合物势能:all-atom, united‎-atom, bead-spring‎, breaka‎bl e水势能:TIP3P,TIP4P,SPC隐式溶剂势能‎:h y drod‎y n amic‎lubric‎ation, Debye长程库伦与分‎散:Ewald, PPPM, Ewald/N(针对长程L-J作用)可以有与普适‎化力场如CH‎ARMM,AMBER,OPLS,GROMAC‎S相兼容的力‎场可以采用GP‎U加速的成对‎类型杂化势能函数‎:m ultip‎l e pair, bond, angle, dihedr‎al, improp‎e r potent‎i als(多对势能处于‎更高的优先级‎)原子创建:(命令:read_d‎a ta, lattic‎e, create‎-atoms, delete‎-atoms, displa‎c e-atoms, replic‎a te)从文件中读入‎各个原子的坐‎标在一个或多个‎晶格中创建原‎子删除几何或逻‎辑原子基团复制已存在的‎原子多次替换原子系综,约束条件,边界条件:(命令:fix)二维和三维体‎系正角或非正角‎模拟空间常NVE,NVT,NPT,NPH积分器‎原子基团与几‎何区域可选择‎不同的温度控‎制器有Nose/Hoover‎和Beren‎d sen压力‎控制器来控制‎体系的压力(任一维度上)模拟合子的变‎形(扭曲与剪切)简谐(unbrel‎l a)束缚力刚体约束摇摆键与键角‎约束各种边界环境‎非平行太分子‎动力学NEM‎D各种附加边界‎条件和约束积分器:Veloci‎t y-verlet‎积分器Brown积‎分器rRESPA‎继承时间延化‎积分器刚体积分器共轭梯度或最‎束下降算法能‎量最小化器输出:(命令:dump, restar‎t)热力学信息日‎志原子坐标,速度和其它原‎子量信息的文‎本dump文‎件二进制重启文‎件各原子量包括‎:能量,压力,中心对称参数‎,CAN等用户自定义系‎统宽度或各原‎子的计算信息‎每个原子的时‎间与空间平均‎系统宽量的时‎间平均原子图像,XYZ,XTC,DCD,CFG格式数据的前处理‎与后处理:包里提供了一‎系列的前处理‎与后处理工具‎另外,可以使用独立‎发行的工具组‎p i zza.py, 它可以进行L‎AMMPS模‎拟的设置,分析,作图和可视化‎工作。

LAMMPS手册-中文版讲解

LAMMPS手册-中文版讲解

LAMMPS手册-中文版讲解LAMMPS手册-中文解析一、简介本部分大至介绍了LAMMPS的一些功能和缺陷。

1.什么是LAMMPS?LAMMPS是一个经典的分子动力学代码,他可以模拟液体中的粒子,固体和汽体的系综。

他可以采用不同的力场和边界条件来模拟全原子,聚合物,生物,金属,粒状和粗料化体系。

LAMMPS可以计算的体系小至几个粒子,大到上百万甚至是上亿个粒子。

LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的计算效率,但是它是专门为并行计算机设计的。

他可以在任何一个按装了C++编译器和MPI 的平台上运算,这其中当然包括分布式和共享式并行机和Beowulf型的集群机。

LAMMPS是一可以修改和扩展的计算程序,比如,可以加上一些新的力场,原子模型,边界条件和诊断功能等。

通常意义上来讲,LAMMPS是根据不同的边界条件和初始条件对通过短程和长程力相互作用的分子,原子和宏观粒子集合对它们的牛顿运动方程进行积分。

高效率计算的LAMMPS通过采用相邻清单来跟踪他们邻近的粒子。

这些清单是根据粒子间的短程互拆力的大小进行优化过的,目的是防止局部粒子密度过高。

在并行机上,LAMMPS采用的是空间分解技术来分配模拟的区域,把整个模拟空间分成较小的三维小空间,其中每一个小空间可以分配在一个处理器上。

各个处理器之间相互通信并且存储每一个小空间边界上的”ghost”原子的信息。

LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高。

2.LAMMPS的功能总体功能:可以串行和并行计算分布式MPI策略模拟空间的分解并行机制开源高移植性C++语言编写MPI和单处理器串行FFT的可选性(自定义)可以方便的为之扩展上新特征和功能只需一个输入脚本就可运行有定义和使用变量和方程完备语法规则在运行过程中循环的控制都有严格的规则只要一个输入脚本试就可以同时实现一个或多个模拟任务粒子和模拟的类型:(atom style命令)原子粗粒化粒子DNA 全原子聚合物,有机分子,蛋白质,联合原子聚合物或有机分子金属粒子材料粗粒化介观模型延伸球形与椭圆形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:)(命令:pair style, bond style, angle style, dihedral style, improper style, kspace style, tabulated.class2(COMPASS)L-J, Buckingham, Morse, Yukawa, soft, 对相互作用势:Coulombic, point-dipole.带点对相互作用势:Stillinger-Weber, modified EAM(MEAM), EAM, 多体作用势:Finnis/Sinclair EAM,Tersoff, AIREBO, ReaxFFDPD, GayBerne, Resquared, Colloidal, DLVO 粗粒化作用势:granular, Peridynamics介观作用势:harmonic, FENE, Morse, nonlinear, class2, quartic键势能:harmonic, CHARMM, cosine, cosine/squared, class2(COMPASS) 键角势能:harmonic, CHARMM, multi-harmonic, helix, OPLS, class2(COMPASS) 二面角势能:harmonic, CVFF, class2(COMPASS) 不合理势能:all-atom, united-atom, bead-spring, breakable 聚合物势能:水势能:TIP3P,TIP4P,SPC隐式溶剂势能:hydrodynamic lubrication, Debye长程库伦与分散:Ewald, PPPM, Ewald/N(针对长程L-J作用)可以有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场可以采用GPU加速的成对类型杂化势能函数:multiple pair, bond, angle, dihedral, improper potentials(多对势能处于更高的优先级)原子创建:(命令:read_data, lattice, create-atoms, delete-atoms, displace-atoms, replicate)从文件中读入各个原子的坐标在一个或多个晶格中创建原子.删除几何或逻辑原子基团复制已存在的原子多次替换原子系综,约束条件,边界条件:(命令:fix)二维和三维体系正角或非正角模拟空间常NVE,NVT,NPT,NPH积分器原子基团与几何区域可选择不同的温度控制器有Nose/Hoover和Berendsen压力控制器来控制体系的压力(任一维度上)模拟合子的变形(扭曲与剪切)简谐(unbrella)束缚力刚体约束摇摆键与键角约束各种边界环境非平行太分子动力学NEMD各种附加边界条件和约束积分器:Velocity-verlet积分器Brown积分器rRESPA继承时间延化积分器刚体积分器共轭梯度或最束下降算法能量最小化器输出:(命令:dump, restart)热力学信息日志原子坐标,速度和其它原子量信息的文本dump文件二进制重启文件各原子量包括:能量,压力,中心对称参数,CAN等用户自定义系统宽度或各原子的计算信息每个原子的时间与空间平均系统宽量的时间平均原子图像,XYZ,XTC,DCD,CFG格式数据的前处理与后处理:包里提供了一系列的前处理与后处理工具模拟的设置,分LAMMPS它可以进行pizza.py, 另外,可以使用独立发行的工具组.析,作图和可视化工作。

LAMMPS手册-中文版讲解【范本模板】

LAMMPS手册-中文版讲解【范本模板】

LAMMPS手册—中文解析一、简介本部分大至介绍了LAMMPS的一些功能和缺陷。

1.什么是LAMMPS?LAMMPS是一个经典的分子动力学代码,他可以模拟液体中的粒子,固体和汽体的系综。

他可以采用不同的力场和边界条件来模拟全原子,聚合物,生物,金属,粒状和粗料化体系。

LAMMPS可以计算的体系小至几个粒子,大到上百万甚至是上亿个粒子。

LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的计算效率,但是它是专门为并行计算机设计的.他可以在任何一个按装了C++编译器和MPI的平台上运算,这其中当然包括分布式和共享式并行机和Beowulf型的集群机。

LAMMPS是一可以修改和扩展的计算程序,比如,可以加上一些新的力场,原子模型,边界条件和诊断功能等。

通常意义上来讲,LAMMPS是根据不同的边界条件和初始条件对通过短程和长程力相互作用的分子,原子和宏观粒子集合对它们的牛顿运动方程进行积分。

高效率计算的LAMMPS通过采用相邻清单来跟踪他们邻近的粒子。

这些清单是根据粒子间的短程互拆力的大小进行优化过的,目的是防止局部粒子密度过高。

在并行机上,LAMMPS采用的是空间分解技术来分配模拟的区域,把整个模拟空间分成较小的三维小空间,其中每一个小空间可以分配在一个处理器上.各个处理器之间相互通信并且存储每一个小空间边界上的”ghost”原子的信息。

LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高。

2.LAMMPS的功能总体功能:可以串行和并行计算分布式MPI策略模拟空间的分解并行机制开源高移植性C++语言编写MPI和单处理器串行FFT的可选性(自定义)可以方便的为之扩展上新特征和功能只需一个输入脚本就可运行有定义和使用变量和方程完备语法规则在运行过程中循环的控制都有严格的规则只要一个输入脚本试就可以同时实现一个或多个模拟任务粒子和模拟的类型:(atom style命令)原子粗粒化粒子全原子聚合物,有机分子,蛋白质,DNA联合原子聚合物或有机分子金属粒子材料粗粒化介观模型延伸球形与椭圆形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:(命令:pair style, bond style, angle style,dihedral style,improper style,kspace style)对相互作用势:L—J, Buckingham, Morse,Yukawa, soft,class2(COMPASS),tabulated.带点对相互作用势:Coulombic,point-dipole。

lammps输入文件命令中文详解

lammps输入文件命令中文详解

lammps输入文件命令中文详解作者: 御剑江湖收录日期: 2021-03-31 发布日期: 2021-03-24Commands描述了lammps输入文件的格式和在定义lammps模拟所需要的命令.1.1 LAMMPS input script我们用lammps做分子动力学模拟, 需要一个输入文件. lammps在执行计算的时候, 从这个文本文件中逐行读入命令. 大多数情况, lammps输入文件中各个命令的顺序并不是很重要. 但是你要注意以下几点:(1) lammps并不是将你的输入文件全部读入之后才开始进行计算的, 或者说, 每条命令在它被读入之后就会起作用了. 注意, 下面两组命令的执行效果是不相同的.timestep 0.5 run 100 run 100 和run 100 timestep 0.5run 100(2) 有些命令只有在另一些命令已经被定义的情况下才有效. 例如如果你要设定一组原子的温度, 那么用group命令定义哪些原子属于这个组才行.(3) 还有一种情况就是: 命令B要用到命A设置的一些数值, 这样你也不能颠倒这两个命令的顺序.每个命令的详细介绍中的Restrictions部分会说明要使用该命令定义的时候哪些命令必须要被预先定义.如果你的输入文件书写的格式有问题,lammps在执行的时候会提示ERROR或者WARNING , 出现类似信息时, 你可以到手册的第九章中查询原因.1.2 Parsing rules输入文件中的每一非空行都被认为是一条命令. lammps中命令的书写是对大小写敏感的, 不过一般的命令和参数都是小写的, 大写字母用于极少数的情况.(1) 命令行后的 & 表示这一行跟下一行是同一条命令. 这一点跟FORTRAN很像.(2) 命令行最开始的 # 表示这一行在执行过程中被忽略, 你可以用它来写注释.(3) $ 是跟声明变量有关系的, 我暂时还没用到过, 具体请参阅variable命令的详细介绍.(4) 命令行被tabs, spaces间隔成各个“words”, 注意这里的“words”可以包含字母、数字、下划线、或标点符号.(5) 一行中第一个词是命令名, 后续的词是相关的参数.(6) 双引号内的文字空格被整体地当作一个参数, 其中的 # 或 $ 就没有前面说的作用了.感谢您的阅读,祝您生活愉快。

LAMMPS手册-中文版讲解

LAMMPS手册-中文版讲解

LAMMPS手册-中文解析一、简介本部分大至介绍了LAMMPS的一些功能和缺陷。

1.什么是LAMMPS?LAMMPS是一个经典的分子动力学代码,他可以模拟液体中的粒子,固体和汽体的系综。

他可以采用不同的力场和边界条件来模拟全原子,聚合物,生物,金属,粒状和粗料化体系。

LAMMPS可以计算的体系小至几个粒子,大到上百万甚至是上亿个粒子。

LAMMPS可以在单个处理器的台式机和笔记本本上运行且有较高的计算效率,但是它是专门为并行计算机设计的。

他可以在任何一个按装了C++编译器和MPI的平台上运算,这其中当然包括分布式和共享式并行机和Beowulf型的集群机。

LAMMPS是一可以修改和扩展的计算程序,比如,可以加上一些新的力场,原子模型,边界条件和诊断功能等。

通常意义上来讲,LAMMPS是根据不同的边界条件和初始条件对通过短程和长程力相互作用的分子,原子和宏观粒子集合对它们的牛顿运动方程进行积分。

高效率计算的LAMMPS通过采用相邻清单来跟踪他们邻近的粒子。

这些清单是根据粒子间的短程互拆力的大小进行优化过的,目的是防止局部粒子密度过高。

在并行机上,LAMMPS采用的是空间分解技术来分配模拟的区域,把整个模拟空间分成较小的三维小空间,其中每一个小空间可以分配在一个处理器上。

各个处理器之间相互通信并且存储每一个小空间边界上的”ghost”原子的信息。

LAMMPS(并行情况)在模拟3维矩行盒子并且具有近均一密度的体系时效率最高。

2.LAMMPS的功能总体功能:可以串行和并行计算分布式MPI策略模拟空间的分解并行机制开源高移植性C++语言编写MPI和单处理器串行FFT的可选性(自定义)可以方便的为之扩展上新特征和功能只需一个输入脚本就可运行有定义和使用变量和方程完备语法规则在运行过程中循环的控制都有严格的规则只要一个输入脚本试就可以同时实现一个或多个模拟任务粒子和模拟的类型:(atom style命令)原子粗粒化粒子全原子聚合物,有机分子,蛋白质,DNA联合原子聚合物或有机分子金属粒子材料粗粒化介观模型延伸球形与椭圆形粒子点偶极粒子刚性粒子所有上面的杂化类型力场:(命令:pair style, bond style, angle style, dihedral style, improper style, kspace style)对相互作用势:L-J, Buckingham, Morse, Yukawa, soft, class2(COMPASS), tabulated.带点对相互作用势:Coulombic, point-dipole.多体作用势:EAM, Finnis/Sinclair EAM, modified EAM(MEAM), Stillinger-Weber, Tersoff, AIREBO, ReaxFF粗粒化作用势:DPD, GayBerne, Resquared, Colloidal, DLVO介观作用势:granular, Peridynamics键势能:harmonic, FENE, Morse, nonlinear, class2, quartic键角势能:harmonic, CHARMM, cosine, cosine/squared, class2(COMPASS)二面角势能:harmonic, CHARMM, multi-harmonic, helix, OPLS, class2(COMPASS) 不合理势能:harmonic, CVFF, class2(COMPASS)聚合物势能:all-atom, united-atom, bead-spring, breakable水势能:TIP3P,TIP4P,SPC隐式溶剂势能:hydrodynamic lubrication, Debye长程库伦与分散:Ewald, PPPM, Ewald/N(针对长程L-J作用)可以有与普适化力场如CHARMM,AMBER,OPLS,GROMACS相兼容的力场可以采用GPU加速的成对类型杂化势能函数:multiple pair, bond, angle, dihedral, improper potentials(多对势能处于更高的优先级)原子创建:(命令:read_data, lattice, create-atoms, delete-atoms, displace-atoms, replicate)从文件中读入各个原子的坐标在一个或多个晶格中创建原子删除几何或逻辑原子基团复制已存在的原子多次替换原子系综,约束条件,边界条件:(命令:fix)二维和三维体系正角或非正角模拟空间常NVE,NVT,NPT,NPH积分器原子基团与几何区域可选择不同的温度控制器有Nose/Hoover和Berendsen压力控制器来控制体系的压力(任一维度上)模拟合子的变形(扭曲与剪切)简谐(unbrella)束缚力刚体约束摇摆键与键角约束各种边界环境非平行太分子动力学NEMD各种附加边界条件和约束积分器:Velocity-verlet积分器Brown积分器rRESPA继承时间延化积分器刚体积分器共轭梯度或最束下降算法能量最小化器输出:(命令:dump, restart)热力学信息日志原子坐标,速度和其它原子量信息的文本dump文件二进制重启文件各原子量包括:能量,压力,中心对称参数,CAN等用户自定义系统宽度或各原子的计算信息每个原子的时间与空间平均系统宽量的时间平均原子图像,XYZ,XTC,DCD,CFG格式数据的前处理与后处理:包里提供了一系列的前处理与后处理工具另外,可以使用独立发行的工具组pizza.py, 它可以进行LAMMPS模拟的设置,分析,作图和可视化工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Lammps初学者——in文件中文解析(1)初始化Units:Units命令是用来设定模拟的原子类型。

Units style(lammps现在提供的有style=LJ、real、metal、si、cgs、electron)LJ是硬球模型Real是真实的原子模型Metal是金属原子模型Si是硅(半导体)原子模型CgsElectron是电子模型Dimension:Dimension命令是用来定义模拟的维度,默认情况为三维。

Dimension N (N=2,3)Boundary:Boundary命令是用来设定模拟的边界条件。

Boundary x y z (x,y,z=p,s,f,m四种类型中的一种或者两种)P是周期性边界条件S是自由边界条件(但是具有收缩性)F是固定边界条件M是具有最小值的自由边界条件(但是具有收缩性)Atom-style:Atom-style定义了模拟体系中的原子属性。

Delete-atoms:Pair-style:Pair-style定义了相互作用力场类型,即势函数。

(2)原子定义1、Read-data/read-restart:Read-data或read-restart为从data或restart文件中读取内容来定义原子。

2、Lattice:lattice是用来原子类型构建模型晶格结构。

Lattice style scale keyword values...Style表示点阵类型,点阵类型有none、sc、bcc、fcc、hcp、diamond、sq、sq2、hex、custom。

Scale表示构建的点阵类型的单位长度Keyword表示后面可以追加0个或者多个关键字,关键字有origin、orient、spacing、a1、a2、a3、basis。

各关键字意思为:Region:Create-box:Create-box命令用于在region box命令指定的区域内创建一个模拟的盒子。

Create_box N region-IDN为使用该原子类型进行模拟Region-ID为使用区域的ID使用模拟域Create-atoms:Create-atoms用于在所创建的模拟的盒子中填充某种原子。

Create_atoms type style args keyword values ...(3)设定:力场系数Pair-coeff:模拟参数NeighborNeighbor是定义Neighbor skin styleSkin为Style可取bin、nsq、multiNeighbor-modify:Group:Timestep:Timestep是定义模拟的时间步长。

Timestep dtDt为时间步长(时间单位),默认为1psReset-timestep:FixFix为定义对部分原子或者对系综的操作。

/doc/fix.htmlFix ID group-ID style argsID=指定的操作名称编号(如1、2、3…….)Group-ID=制定操作范围的原子(如all……)Style=操作内容,如何操作Args=相关操作内容的相关操作参数Fix-nvt:恒定N(原子数量)、V(体积)、T(温度)对时间积分Fix-npt:恒定N、P、T对时间积分Unfix:Compute/compute-modify:输出选项Thermo:Thermo命令用于定义每隔一定时间步长输出一次采样内容。

Thermo N每隔N个时间步长输出一次采样内容至屏幕或者log文件Thermo_style:Thermo_style命令主要是用来说明采样的内容,即输出到屏幕或者LOG文件中的内容。

(/doc/thermo_style.html)Thermo_style style argsStyle=one、multi、customArgs=特定的参数列表One args=noneMulti args=noneCustom args=list of attributesPossible attributes=step、elaosed、elaplong、dt、cpu、tpcpu、spcpu、Atoms、temp、press、pe、ke、otatal、enthalpy、Evdwl、ecoul、epair、ebond、eangle、edihed、eimp、Emol、elong、etail、V ol、lx、ly、lz、xlo、xhi、ylo、yhi、zlo、zhi、Xy、xz、yz、xlat、ylat、zlat、Pxx、pyy、pzz、pxy、pyz、pxz、Fmax、fnorm、Cella、cellb、cellc、cellalpha、cellbeta、cellgamma、c_ID、c_ID[I]、c_ID[I][J]、f_ID、f_ID[I]、f_ID[I][J]、V_nameDump:Dump命令主要是用来输出计算后单个原子的相关信息的。

Dump ID group-ID style N file argsID:自己给这个dump命令定义的一个代号(自定义)group-ID:那些信息需要被输出的原子群(预先定义好group)Style:类型N:每经过多少时间步输出信息File:输出名称Args:相关参数(每个类型不同)Restart:(4)运行Run:Minimize:例一units metal # 单位为lammps 中的metel 类型boundary p p p # 周期性边界条件atom_style atomic # 原子模式lattice fcc 3.61 # Cu 的晶格常数3.61region box block 0 4 0 4 0 4 # x,y,z 各方向上的晶胞重复单元数,也即区域大小create_box 1 box # 将上述区域指定为模拟的盒子create_atoms 1 box # 将原子按晶格填满盒子pair_style eam # 选取Cu 的EAM 势作为模型pair_coeff * * Cu_u3.eam # EAM 势文件名称run 0 # 运行0 步,仅为启动lammps 的热力学数据计算variable E equal pe # 定义变量E 为系统总势能variable N equal atoms # 定义变量N 为系统总原子数print "the number of atoms & system energy now are $N $E" # 打印信息create_atoms 1 single 2.45 2.05 2.05 # 在该位置插入一个原子min_style sd # 能量最小化模式,sdminimize 1.0e-12 1.0e-12 1000 1000 # 能量最小化参数,指数越大最小化程度越深print "interstitial introduced, minimized: $N atoms, energy is $E"fix 1 all nvt 100 100 100 drag 0.2 # nvt 系综,原子数、体积和温度保持不变;T=100K timestep 0.005 # 步长0.005fsrun 1000 # 运行1000 步print "nvt performed, temperature up: $N atoms, total energy is $E"fix 1 all nvt 100 0.0001 100 drag 0.2 # nvt 系综,温度由100K 到0.0001Krun 1000 # 运行1000 步print "nvt performed, temperature down: $N atoms, total energy is $E"compute 3 all pe/atom # 计算每个原子的势能compute 4 all ke/atom # 计算每个原子的动能compute 5 all coord/atom 3.0 # 计算每个原子的近邻原子数dump 1 all custom 1 dump.atom id xs ys zs c_3 c_4 c_5 # 将信息写入dump.atommin_style sdminimize 1.0e-12 1.0e-12 10000 10000 # 再次能量最小化print "the final state: $N atoms, total energy is $E" # 打印信息~例二boundary p s s # 边界条件,拉伸方向是周期性,其余是自由边界;如果是薄膜拉伸则是两个周期性,块体则是三个周期性units metal #单位制定义为metalatom_style atomic #原子类型自动neighbor 2.0 bin #截断半径相关的东西neigh_modifydelay 1 check yes # 邻近原子列表更新速度#create geometrylattice fcc 3.61 # 定义晶胞为fcc,晶格常数3.61Aregion box block 0 30 0 3 0 3 #定义一个长方体区域叫box,长30,宽和高是3create_box 1 box #创建了这样一个boxcreate_atoms 1 box #在box里创建了一种原子mass 1 63.546 #定义这种原子的质量是63.546# potentialspair_style eam # 定义势函数是EAMpair_coef * * Cu_u3.eam #势所需要的参数在此文件里#define groupsregion 1 block INF 1 INF INF INF INF # 定义了一个叫1的区域group left region 1 #定义此区域里的原子叫leftregion 2 block 29 INF INF INF INF INF #定义了一个叫2的区域group right region 2 #定义此区域里的原子叫rightgroup boundary union left right #定义left+ right = boundarygroup mobile subtract all left # 定义mobile= all - left# initialvelocitiesvelocity left set 0.0 0.0 0.0 # 设置原子初速度为0computep all pressure thermo_temp # 计算应力,计算结果记为pvariable pressx equal c_p[1] #定义变量pressx=c_p[1],c_p[1]的意思是p里第一个值variable pressy equal c_p[2] #定义变量pressy=c_p[2],c_p[2]的意思是p里第二个值variable pressz equal c_p[3] #定义变量pressz=c_p[3],c_p[3]的意思是p里第三个值thermo_style custom step temp etotal press v_pressx v_pressy v_pressz voldump 1 all atom 1000 dump.tensile # 输出结果到dump.tensileminimize 1.0e-6 1.0e-6 1000 1000 # 驰豫fix 1 left setforce 0.0 NULL NULL #固定左边的原子fix 2 all npt 1.0 1.0 1.0 aniso 0.0 0.0 NULL NULL NULL NULL 10.0 drag 1.0thermo 1000 # 每1000步输出一次结果timestep 0.002 #时间步长0.002psrun 10000 #运行10000步unfix2fix 3 all nvefix 4 all temp/rescale 100 1.0 1.0 5 1.0fix 5 all deform 1000 x erate 0.002 units box #设置沿x方向拉伸,应变率为0.002(1/ps)compute s all stress/atom #计算每个原子上的应力,计算结果记为s compute strea all reduce sum c_s[1] #将s里第一个值求和,计算结果记为strea variable stressa equal c_strea/vol # 定义变量stressa= strea/vol, vol是体积compute streb all reduce sum c_s[2]variable stressb equalc_streb/volcompute strec all reduce sum c_s[3]variable stressc equal c_strec/volthermo_style custom step tempetotal press v_stressa v_stressb v_stressc volrun 300000科教兴国。

相关文档
最新文档