LAMMPSin文件注意事项及详细解释lammps做分子动力学模拟时,需要一个输入文件(inputscript),也就是in文件,以及关于体系的原子坐标之类的信息的文件(datafile)。lammps在执行计算的时候,从这个in文件中读入命令,所以对LAMMPS的使用最主要的就是对in文件的编写和使用。下面介绍一些关于in文件的事项:1.每一非空行都被认为是一条命令(大小写敏感,但极少有命令或参数大写的)。2.in文件中各命令的顺序可能会对计算产生影响,但大部分情况下不会有影响。3.每行后的“&”表示续行(类似fortran)。4.“#”表示注释(类似bash)。5.每行命令中的不同字段由空格或者制表符分隔开来,每个字段可以由字母、数字、下划线、或标点符号构成。6.每行命令中第一个字段表示命令名,之后的字段都是相关的参数。7.很多命令都是在需要修改默认值的情况下才特别设置的。in文件整体来看分为4个部分1.Initialization这一部分包含了关于计算体系最基本的信息,例如:units:单位系统(unitsstyle),lammps现在提供包括lj、real、metal、si和cgs几种单位系统。dimension:定义了两维或者三维模拟(默认是三维)。boundary:定义了分子动力学体系使用的边界条件,例如周期性边界条件或者自由边界条件等。atom_style:定义模拟体系中的原子属性,这一命令与力场设置的参数中的原子类型(atomtype)不同。pair_style:相互作用力场类型,例如范德化势或者硬球势等。bond_style:键合相互作用势类型。angle_style:键角作用势类型。dihedral_style:二面角作用势类型。improper_style:混合作用势类型。其他还有一些参数设置,例如newton,processors,boundary,atom_modify等。2.Atomdefinitionlammps提供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等。实际上力场系数也可以在关于体系的原子坐标之类的信息的文件(datafile)中制定,这样具体参考read_data命令的相关介绍。各种模拟参数可以由如下这样一些命令来设置:neighbor,neigh_modify,group,timestep,reset_timestep,run_style,min_style,min_modify等。模拟过程中通过compute,compute_modify,variable等一些命令来制定。而输出选项可以由thermo,dump,restart等一些命令来设置。4.Runasimulation通常run命令被设置在in文件的最后,使用run命令来开始一个分子动力学模拟的过程。另外,使用minimize命令来实施能量最小化计算。使用temper命令来进行复制品交换采样模拟。其他一些重要的命令被分类列于如下:Initialization:atom_modify,atom_style,boundary,dimension,newton,processors,unitsAtomdefinition:create_atoms,create_box,lattice,read_data,read_restart,region,replicateForcefields: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关于LAMMPS计算前后的处理问题,计算前的原子初始形态文件的生成,由read_data读入一个data文件,这个文件包括体系中各个原子的xyz坐标等等相关参数,或者由其他软件生成并修改后符合LAMMPS的输入文件格式生成。而计算后的输出,因为LAMMPS不支持图形输出,需要借助第三方可视化软件实现,例如VMD。LAMMPS的输出文件主要可以分为三种:一种是log.lammps,这里面记录了整个计算过程屏幕上显示的所有信息,可由thermo、thermo_modify等命令控制;另一种是输出应力、能量、原子位置、速度等等信息,由dump命令控制输出文件;第三种是断点续算的restart文件输出信息,由write_restart命令控制。