lammps各种命令讲解Word下载.docx
《lammps各种命令讲解Word下载.docx》由会员分享,可在线阅读,更多相关《lammps各种命令讲解Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
和
(2)有些命令只有在另一些命令已经被定义的情况下才有效.例如如果你要设定一组原子的温度,那么用group命令定义哪些原子属于这个组才行.
(3)还有一种情况就是:
命令B要用到命A设置的一些数值,这样你也不能颠倒这两个命令的顺序.
每个命令的详细介绍中的Restrictions部分会说明要使用该命令定义的时候哪些命令必须要被预先定义.
如果你的输入文件书写的格式有问题,lammps在执行的时候会提示ERROR或者WARNING,出现类似信息时,你可以到手册的第九章中查询原因.
1.2Parsingrules
输入文件中的每一非空行都被认为是一条命令.lammps中命令的书写是对大小写敏感的,不过一般的命令和参数都是小写的,大写字母用于极少数的情况.
(1)命令行后的&
表示这一行跟下一行是同一条命令.这一点跟FORTRAN很像.
(2)命令行最开始的#表示这一行在执行过程中被忽略,你可以用它来写注释.
(3)$是跟声明变量有关系的,我暂时还没用到过,具体请参阅variable命令的详细介绍.
(4)命令行被tabs,spaces间隔成各个“words”,注意这里的“words”可以包含字母、数字、下划线、或标点符号.
(5)一行中第一个词是命令名,后续的词是相关的参数.
(6)双引号内的文字空格被整体地当作一个参数,其中的#或$就没有前面说的作用了.
1.3Inputscriptstructure
lammps的输入文件一般分为4个部分Initialization,Atomdefinition,Settings,Runasimulation
后面的两个部分可以按照需要多次重复.Rememberthatalmostallthecommandsneedonlybeusedifanon-defaultvalueisdesired.
(1)Initialization
在你的模拟体系定义之前,一些参数必须要被设置.相关的命令有:
units,dimension,newton,processors,boundary,atom_style,atom_modify.
units:
选择单位系统,lammps提供了lj、real、metal三种单位系统
dimension:
2d模拟还是3d模拟,默认是3d
boundary:
边界条件:
周期性边界or自由边界
atom_style:
定义你的模拟体系中的原子属性,注意这个style要区分后面设置力场参数时命令里提到的atomtype
还有,这些命令告诉lammps在你的模拟中使用何种力场:
pair_style,bond_style,angle_style,dihedral_style,improper_style.
(2)Atomdefinition
lammps提供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)Runasimulation
使用run命令开始一个分子动力学模拟,用minimize命令来实施能量最小化(molecularstatics),使用temper命令来进行paralleltempering(replica-exchange)simulation.
1.4Commandslistedbycategory
这一节分门别类地列出了lammps的所有命令.注意有些命令的有些选项是特定的lammpspackage的一部分,也就是说只有在编译lammps的时候包括了这些packages,这些命令才能被使用.默认情况下编译lammps并不包括所有的packages.这些依赖关系在相关命令的详细介绍中Restrictions部分中列出了.
Initialization:
atom_modify,atom_style,boundary,dimension,newton,processors,units
Atomdefinition:
create_atoms,create_box,lattice,read_data,read_restart,region,replicate
Forcefields:
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_bonds
Settings:
communicate,dipole,group,mass,min_modify,min_style,neigh_modify,neighbor,reset_timestep,run_style,set,shape,timestep,velocity
Fixes:
fix,fix_modify,unfix
Computes:
compute,compute_modify,uncompute
Output:
dump,dump_modify,restart,thermo,thermo_modify,thermo_style,undump,write_restart
Actions:
delete_atoms,delete_bonds,displace_atoms,displace_box,minimize,run,temper
Miscellaneous:
clear,echo,if,include,jump,label,log,next,print,shell,variable
作者:
御剑江湖
一、各种文件的介绍:
1infile:
建立该文件以便程序的写入
2logfile:
写入状态信息(iftheswitchisused?
)
3screenfile决定结果的是否进行屏幕输出
4varnamefile定义一个变量,name指变量名,可为字母也可为字符串,形式$x/${abc}
二、屏幕输出:
结果显示在屏幕上,同时在logfile中。
开始前LAMMPS计算出所需的存储空间,运行中每隔几个时步显示一次热力学状态,直至输出最终状态。
Looptimeof49.002on2procsfor2004atoms该部分显示了几个大类的计算时间
Pairtime(%)=35.0495(71.5267)
Bondtime(%)=0.092046(0.187841)
Kspcetime(%)=6.42073(13.103)
Neightime(%)=2.73485(5.5811)
Commtime(%)=1.50291(3.06703)
Outpttime(%)=0.013799(0.0281601)
Othertime(%)=2.13669(4.36041)
Nlocal:
1002ave,1015max,989min每个处理器中特定原子的数目
Histogram:
1000000001
Nghost:
8720ave,8724max,8716min
1000000001
Neighs:
354141ave,361422max,346860min
Total#ofneighbors=708282
Aveneighs/atom=353.434
Avespecialneighs/atom=2.34032
Numberofreneighborings=42
Dangerousreneighborings=2
当运用了能量最小化命令进行能量最小化时,还将出现如下所示语句:
Minimizationstats:
Einitial,next−to−last,final=−0.895962−2.94193−2.94342(显示初终能量以及next-to-last循环的能量)
Gradient2−norminit/final=1920