LAMMPS手册学习

合集下载

LAMMPS简要使用说明

LAMMPS简要使用说明

LAMMPS简要使用说明目录lammps简要使用说明 (1)LAMMPS介绍 (4)文件 (4)1. 系统初始化 (4)units lj/real/metal/si/cgs (4)atom_style angle/atomic/bond/charge/dipole/dpd/ellipsoid/full/granular/molecular/hybrid (5)atom_modify map/first (5)dimension N ,N=2/3 (5)boundary x y z, default=boundary p p p (5)newton flag/flag1 flag2 (5)communicate single/multi group/cutoff (5)processors Px Py Pz (6)2. 创建模拟晶胞 (6)lattice none/sc/bcc/fcc/hcp/diamond/sq/sq2/hex/custom scale keyword values (6)region ID style block/cylinder/prism/sphere/union/intersect args keyword value (6)group ID region/type/id/molecule/subtract/union/intersect (6)create_box N region−ID (7)create_atoms type box/region/single args keyword values (7)delete_atoms group/region/overlap/porosity args (7)read_restart file/read_date file (7)set atom/group/region ID keyword values (8)displace_atoms g roup−ID move/ramp/random args keyword value (8)displace_box group−ID parameter args ... keyword value .. (8)change_box ortho/triclinic (9)replicate nx ny nz (9)3. 设置 (9)mass I value (9)velocity group−ID create/set/scale/ramp/zero args keyword value (9)timestep dt (9)reset_timestep N (10)neighbor skin bin/nsq/multi (10)neigh_modify keyword values (10)4. 输出 (10)dump ID group−ID bond/dcd/xtc/xyz/custom N file args (10)dump_modify dump−ID format/scale/image/flush/unwrap/every/precision/region/thresh values (11)undump dump−ID (11)thermo_style one/multi/custom(args) (11)thermo_modify lost/norm/flush/line/format/temp/press value (12)thermo N (12)print string (12)restart N root (12)write_restart file (13)echo none/screen/log/both (13)log filename (13)5. FIX (13)fix ID group−ID style args (13)系综相关 (14)力和速度的控制 (15)计算特定量 (16)模拟晶胞的控制 (17)模拟过程的控制 (18)unfix fix-id (18)6. COMPUTE (18)compute ID group−ID style args (18)compute ID group−ID ackland/atom (19)compute ID group−ID centro/atom (19)compute ID group−ID coord/atom cutoff (19)compute ID group−ID damage/atom (19)compute ID group−ID displace/atom fix−ID (19)compute ID group−ID group/group group2−ID (20)compute ID group−ID ke (20)compute ID group−ID ke/atom (20)compute ID group−ID pe (keyword=pair/bond/angle/dihedral/improp er/kspace) (20)compute ID group−ID pe/atom (keyword=pair/bond/angle/dihedral/improper) (20)compute ID group−ID pressure temp−ID ke yword=ke/pair/bond/angle/dihedral/improper/kspace/fix (20)compute ID group−ID reduce mode=sum/min/max input1 input2 (20)compute ID group−ID stress/atom (keyword= ke/pair/bond/angle/dihedral/improper/kspace/fix) (20)compute_modify compute−ID keyword value (20)compute ID group−ID temp (21)compute ID group−ID temp/com (21)compute ID group−ID temp/deform (21)compute ID group−ID temp/partial xflag yflag zflag (21)compute ID group−ID temp/ramp vdim vlo vhi dim clo chi keyword value (21)compute ID group−ID temp/region region−ID (21)uncompute compute-ID (21)7. 势函数 (21)pair_style (21)pair_style tersoff (22)kspace_style (23)kspace_modify (23)pair_write itype jtype N r/rsq/bitmap inner outer file keyword Qi Qj (23)8. 运行 (23)run N upto/start/stop/pre/post/every values (23)run_style verlet/respa(args) (23)minimize etol ftol maxiter maxeval (24)min_style cg/sd (24)min_modify dmax 0.2 (default=0.1) (24)temper (24)clear (24)9. 其他 (24)variable name delete/index/loop/world/universe/uloop/equal/atom (24)next variables (25)jump file label (25)label string (25)if value1 operator value2 then command1 else command2 (26)include filename (26)shell cd/mkdir/mv/rm/rmdir (26)10. 模拟方法论 (27)缺陷的生成 (27)晶格常数 (27)迁移 (27)表面 (27)立方晶系弹性常数 (22)LAMMPS介绍LAMMPS= Large-scale Atomic/Molecular Massively Parallel Simulator. − Sandia National Laboratories命令行选项:-in file输入文件;-log file 输出文件;-screen file屏幕输出文件;-echo style,输入文件内容是否输出到输出文件和屏幕,style=none/screen/log/both (default=log)。

vasp与lammps学习资料2020年

vasp与lammps学习资料2020年

LAMMPS分子动力学模拟技术与应用课程内容一、LAMMPS基础1分子动力学模拟入门理论——掌握lammps的in文件中各命令的意义1.1系综理论1.2主要算法介绍1.3积分步长的选取1.4温度和压力控制1.5周期性边界条件1.6分子动力学模拟流程二、LAMMPS入门学习2LAMMPS入门操作基础2.1Linux命令入门基础——熟练掌握LAMMPS所用的Linux命令2.2LAMMPS中一些安装包的介绍——为以后创建自己体系进行选择性安装2.3LAMMPS的linux版串行和并行及GPU版编译安装——掌握LAMMPS的编译方法,针对自己体系编译可执行文件。

2.4LAMMPS的in文件结构格式、基本语法及常用命令讲解、data文件格式。

2.5LAMMPS实例讲解。

实例操作:在linux系统编译安装自己的LAMMPS可执行程序。

三、LAMMPS进阶学习MMPS各种参数计算3.1颗粒模拟3.2可视化快照3.3弹性常数模拟3.4计算热导率3.5计算粘度3.6计算均方位移3.7计算径向分布函数3.8计算扩散系数3.9计算能量数据3.10Lammps常见错误及解决途径实例操作:学员结合自己的科研方向,选择运行契合自己研究方向的例子四、Lammps的建模4LAMMPS建模——掌握基本操作流程4.1掌握lattice命令建立晶体模型4.2Packmol建模语法学习及实操4.3Material Studio建模学习及实操4.4VMD建模学习及实操实例操作:把上述实操模型转换成lammps的data文件五、从examples的简单例子,到完成自己的科研课题5通过examples中的例子,理解要模拟对象的物理意义5.1运行examples\flow到建立水分子在石墨烯片层(碳纳米管)内的流动模拟5.2运行examples\shear到石墨烯力学性质模拟5.3运行examples\friction到金属/合金的摩擦模拟5.4特殊结构的模拟建模(C60系列模型)实例操作:学员探索由简单例子到自己科研课题的模拟过程六、环氧树脂在二氧化硅表面吸附建模(CVFF力场)6环氧树脂在二氧化硅表面吸附吸能的影响模拟过程6.1创建构型文件6.2建立输入脚本6.3运行能量最小化及体系的预松弛6.4压缩盒子达到指定的密度(针对不同研究体系掌握压缩方法的不同,并掌握判断方法和依据)6.5模拟步骤:包括能量最小化-NVT 平衡-NPT 平衡-对研究目标的性质进行长时间轨迹平衡-输出研究所关心的性质。

lammps和ovito简介培训课件

lammps和ovito简介培训课件

2. MD Potential function
Pair potential : Lennard-Jones、Morse
Multiple body potential
EAM、Finnis-Sinclair, Extended FS SMA-TB、Smoothed SMA-TB Johnson、Mishin、Zhou ……
1.Initialization 2.Atom definition 3.Setting 4.Run a simulation
Visualization
OVITO
Result analysis
此课件下载可自行编辑修改,仅供参考! 感谢您的支持,我们努力做得更好!谢谢
binaryalloysselfdiffusioncoefficientdaobtainedfrommsdaccordingdarken?slawinterdiffusioncoefficientsecondpeaksplitstwopeaksusuallyamorphousformationsimulationprocessfilerunoutputresultsvisualizationresultanalysislammpsmainpartfile1initialization2atomdefinition3setting4runsimulationovito此课件下载可自行编辑修改仅供参考
Cu: Lattice structure :FCC,4 atoms / cell Lattice constant :3.615 Å ct 6 × 6 × 6 supercell cells , 864 atoms, lx = ly = lz = 21.69 Å
Visualization of Atomic Structures :Ovito Ovito interface

Lammps命令指南

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, velocity Fixes: 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手册中文解析

计算机代码lammps手册中文解析
(3)“system-specific settings”部分有四个小部分:
ALMP—INC变量,包括一些与系统相关的条件选项。
B 3个MPI变量用于指定MPI库。
如你要进行并行计算的话,那么你必须在你的平台上安上MPI库。如你想用MPI内置C++编译器的话,你可以让这三个变量空着,如你不用MPICC的话,那么,你要指定(MPI_INC)文件在哪,MPI(MPI_PATH)库在哪,还有库名(MPI_LIB).
Make linux
Gmake mac
注意,在一个多处理器或多核处理器的平台上你可以进行平行编译,在make命令中使用“-j”选项就可以,这样编译起来会更快一些。
在此过程中不发生错误的话,你可以得到一个类似于lmp-linux的可执行文件。
在编译过程当中将会发生的常见错误:
(1)如果编译过程当中发生错误,并提示不能找到一个含有通配符*为名的文件的话,说明你机器上的make器允许makefile中使用通配符。那就偿式使用gmake。如还不行的话,就试试加入-f选项,用作为make对像。如:
另外,可以使用独立发行的工具组, 它可以进行LAMMPS模拟的设置,分析,作图和可视化工作。
特别功能:
实时的可视化与交互式MD模拟
与有限元方法结合进行原子-连续体模拟
在POEMS库中提供了刚体积分工具
并行裉火
并行复制动力学
对低密度液体直接使用MC模拟
Peridynamic介观建模
目标型与无目标型分子动力学
如果你想自已安装MPI的话,我们建议用或。LAM MPI也可以。如果我的是大平始的话,你的供应商已经为你装上了MPI,其可能比MPICH或LAM更快,你可以把找出来并与之链接。如你用LAM或MPICH,你必需要设置他并编译他使之适合你的平台。

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 命令指南作者: 御剑江湖收录日期: 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, velocity Fixes: 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基本操作指南


Nanotube properties 根据以上自动生成
Diameter
Length
MS 转为 data 文件 MS-File-Export-.pdb 格式 打开 VMD,把 pdb 格式文件拖入 VMD 的白格子,点击 Extensions-TK Console 输入 cd ~/desktop(要输出 data 文件的文件夹) 输入 topo writelammpsdata (文件名 name).data atomic(或者 full 等) 然后在 ovito 打开,把 box 调整至包含所建模型,方法是用 txt/notepad 打开 datafile,调整 box 大小,xlo,xhi,ylo,yhi,zlo,zhi.
CMD 执行 lammps 命令 选择硬盘,如 e: 选择文件夹,cd WANG XUEWEN cd collapse 运行 in 文件,lmp_mpi<(name).in(/txt) 并行运算 mpiexec –n 4 lmp_mpi<(name).in(/txt)
输入键的信息能
MS 构建碳纳米管
Build-build nanostructure-single wall nanotube
(N,M)-,一般就是碳
Bond length
Periodic nanotube
Repeat units 可选,确定碳管长度
Hydrogen termination

关于lammps学习的一点汇总


(4)Run a simulation 使用run命令开始一个分子动力学模拟; 用minimize命令来实施能量最小化(molecular statics)
Initialization units Syntax: units style style = lj or real or metal or si or cgs or electron Examples: units lj units metal dimension Syntax: dimension N N = 2 or 3 Examples: dimension 3
0.000000000 33.825999948 #原子坐标:原子编号 原子类型 x坐标 y坐标 z坐标 0.000000000 102.667499948 2.022364706 33.825999948 2.022364706 102.667499948 2.022364706 35.850749948 0.000000000 35.850749948 0.000000000 37.875499948 2.022364706 37.875499948 2.022364706 39.900249948 0.000000000 39.900249948
Atom definition lammps内部搭建模型 Al块体结构 lattice fcc 4.0495 #定义晶格类型 region box block 0 10 0 10 0 10 #定义模拟盒子的大小 create_box 1 box #创建模拟盒子 create_atoms 1 box #在模拟盒子中创建原子 NaCl结构 lattice custom $x a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 & basis 0.0 0.0 0.0 basis 0.5 0.5 0.0 basis 0.5 0.0 0.5 basis 0.0 0.5 0.5 & basis 0.5 0.5 0.5 basis 0.0 0.0 0.5 basis 0.0 0.5 0.0 basis 0.5 0.0 0.0 region box block 0 5 0 5 0 5 create_box 2 box create_atoms 2 box basis 1 1 basis 2 1 basis 3 1 basis 4 1 & basis 5 2 basis 6 2 basis 7 2 basis 8 2

lammps手册翻译

Lammps手册第一章:引言1.1 什么是lammpsLammps是一个经典分子动力学代码能够模拟三种状态中的全部颗粒,通过使用各种力场和边界条件也能模拟原子的、聚合的、生物的、金属的、颗粒的和粗精度系统。

Lammps模拟的例子看the publication page 。

能模拟颗粒达到百万十亿的原子系统,看section perf 和benchmarks section。

它是开放性资源,这意味着我们能够使用而且可以修改我们想要的代码,下面有简短的论述。

它能够被修改和阔存内存,如新的力场、原子种类、边界条件等,更详细的看section modify 。

在大多数普遍情况下LAMMPS是集成牛顿运动方程为原子,分子,或宏观颗粒经由短程或长程力相互作用与各种初始和/或边界条件的集合。

为了效率的计算LAMMPS使用近邻列表来跟踪附近的粒子。

在被排斥的短距颗粒系统中,该列表被优化。

从而使粒子的局部密度不会过大。

在并行机,lammps的使用空间分解技术使模拟域分区为3D小子域,每个子域分配给每个处理器。

处理器传送和存储同子域相邻的“ghost”原子信息。

LAMMPS是最有效的(在一个平行的意义上)的系统,其颗粒填充大致均匀密度的三维矩形框。

关键词中包含的LAMMPS使用的算法技术细节列于本节。

1.2 lammps的功能一、这节强调了lammps的功能,如果lammps没有你喜欢的原子间作用势、边界条件和原子种类,请看section modify。

1、单独或者并行处理器上运行。

2、并行分布式内存消息传递。

3、并行模拟域的空间分解。

4、开放资源分布5、高度拟合c++二、颗粒与模拟种类(atom style 命令)原子粗精度颗粒联合原子聚合物或者原始分子所有原子聚合物、原始分子、蛋白质和DNA金属颗粒材料粗精度模拟有限球形和椭圆颗粒有限线段和三维颗粒点偶极颗粒颗粒的刚性收藏三、力场(对势、bond style、angle style 、dihedral style 、improper style 、kspace style)。

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

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可执行文件的话,你里面只有一个文件(并行与非并行两种)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/linker settings”部分为你的C++编译器列出编译器与链接器的设置,包括优化符号。

相关文档
最新文档