zhoulong的个人博客分享 http://blog.sciencenet.cn/u/zhoulong

博文

LAMMPS中in文件结构等总结(自写)

已有 18223 次阅读 2020-12-28 19:54 |个人分类:lammps|系统分类:科研笔记

LAMMPSin文件结构等总结

2020年11月11日

1.     in文件总览

lammps做分子动力学模拟时,需要一个输入文件(input script),也就是in文件,以及关于体系的原子坐标之类的信息文件(data file)和势文件(potential file)。lammps在执行计算的时候,从这个in文件中读入命令,所以对LAMMPS的使用最主要的就是对in文件的编写和使用。

(1) lammps命令分类整理:

Initialization

atom_modify, atom_style, boundary,dimension, newton, processors, units

Atom   definition

create_atoms, create_box, lattice, read_data, read_restart, region,   replicate

Force   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_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

(2) 命令书写注意事项

Ø  每一非空行都被认为是一条命令(大小写敏感,但极少有命令或参数大写的)。

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

Ø  每行后的“&” 表示续行(类似fortran);“#”表示注释(类似bash)。

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

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

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

2.     in文件4个部分的详细解释

In文件总体分为四个模块,分别是InitializationAtom definitionSettingsRun a simulation;其中,Initialization 这一部分包含了关于计算体系最基本的信息,例如unitsdimensionboundaryatom_stylepair_stylebond_styleangle_styledihedral_styleimproper_style;下面对in文件的这四部分进行解


 

1Initialization

Ø  units: 单位系统(units style)lammps现在提供包括ljrealmetalsicgs几种单位系统;

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

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

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

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

Ø  bond_style: 键合相互作用势类型;

Ø  angle_style: 键角作用势类型;

Ø  dihedral_style: 二面角作用势类型;

Ø  improper_style: 混合作用势类型;

还有其它一些参数设置,例如newton, processors,boundary, atom_modify等,可查阅lammps官网。

2Atom definition

lammps提供3种定义原子方式:

Ø  通过read_dataread_restart命令从datarestart文件读入,这些文件可以包含分子拓扑结构信息,这一方法在续算上也很有用。

Ø  按照晶格的方式创建原子,这种方式不包含分子拓扑信息,可能会用到如下的一些命令:lattice, region, create_box, create_atoms

Ø  对已经设置好的原子可以用replicate命令复制后生成一个更大规模的计算体系(注意它与周期性边界条件是两个不同的概念)。

Ø  相应命令:lattice 晶格参数;region  选择一个区域;create_box  创建一个盒子;create_atoms 创建原子;group给原子分组;delete_atoms删除某些原子;delete_bonds;displace_atoms 移动某些原子;replicate将已经构建的模型在三维重复复制放大;read_data这个命令就是用来读取其他软件建的模型的;read_restart以之前运行的结果作为这次计算的初始构型。

(3) Settings

原子或分子的拓扑信息定义好后,就需要制定一系列的设置,例如力场系数、模拟参数、输出选项等。

力场系数可以通过这样的一些命令来定义:pair_coeff, bond_coeff, angle_coeff, dihedral_coeff, improper_coeff, kspace_style, dielectric, special_bonds等。实际上力场系数也可以在关于体系的原子坐标之类的信息的文件(data file)中制定,这样具体参考read_data命令的相关介绍。

模拟参数可以由如下这样一些命令来设置:neighbor, neigh_modify, group, timestep, reset_timestep, run_style, min_style, min_modify等。模拟过程中通过compute, compute_modify, variable等一些命令来制定。

输出选项可以由thermo, dump, restart等一些命令来设置。

(4) Run a simulation

通常run命令被设置在in文件的最后,使用run命令来开始一个分子动力学模拟的过程。另外,使用minimize命令来实施能量最小化计算,使用temper命令来进行复制品交换采样模拟。

关于LAMMPS计算前后的处理问题,计算前的原子初始形态文件的生成,由read_data读入一个data文件,这个文件包括体系中各个原子的xyz坐标等等相关参数。而计算后的输出,因为LAMMPS不支持图形输出,需要借助第三方可视化软件实现,例如OVITO软件。

LAMMPS的输出文件主要可以分为三种:

一种是log.lammps,这里面记录了整个计算过程屏幕上显示的所有信息,可由thermothermo_modify等命令控制;另一种是输出应力、能量、原子位置、速度等等信息,由dump命令控制输出文件;第三种是断点续算的restart文件输出信息,由write_restart命令控制。

3.     in文件具体结构

------------------------------------- Initialization基本模拟系统设置-------------------------------------

units  lj        #单位系统; lammps现在提供包括lj(硬球)、real(真是原子)、metal(金属)、si(半导体)和cgs几种单位系统

dimension  3     #定义模拟的维度,N=2,3;默认情况是三维

boundary  p p p   #边界条件有p,s,f,m四种,P是周期性边界条件;S是自由边界条件(但是具有收缩性);F是固定边界条件;M是具有最小值的自由边界条件(但是具有收缩性)

atom_style  (atomic)  #粒子类型;类型有很多angle or atomic or body等;具体参考手册P496

atom_modify          #粒子类型调整,,,凡是后面带一个modify的,都是对头命令的补充修改

-----------------------Atom   definition这一组命令主要用来构建模拟的模型-----------------------

lattice  fcc 3.52  #用来定义原子类型、构建模型晶格结构; 原格式:lattice style scale keyword values ... 其中Style表示点阵类型,点阵类型有nonescbccfcchcpdiamondsqsq2hexcustomScale表示构建的点阵类型的单位长度Keyword表示后面可以追加0个或者多个关键字,关键字有originorientspacinga1a2a3basis。具体参考手册P655

region           #该命令定义空间的几何区域

create_box      #此命令基于指定的区域创建一个模拟框。因此,必须首先使用区域命令来定义几何域。

create_atoms      #用于在所创建的模拟的盒子中填充某种原子。

group        #给原子分组;将原子集合标识为属于一个组。然后,可以在其他命令(例如fix, compute, dump, or velocity)中使用组ID,以一起作用于这些原子。

delete_atoms   #删除某些原子

displace_atoms   #移动某些原子

replicate   3 3 3  #将已经构建的模型在三维重复复制放大

read_data         #这个命令就是用来读取其他软件建的模型的

read_restart        #以之前运行的结果作为这次计算的初始构型

--------------------------------------Potencial---定义粒子相互作用势-----------------------------------

pair_style   #势函数类型

pair_coeff   #势函数文件名(一般这个文件放在与此in文件的同一个目录下)

pair_modify  #修改当前定义的pair_style

此后的12命令对做高分子及无机非晶体的模拟的需要额外关注

bond_style angle_styledihedral_styleimproper_stylekspace_styledielectric,

bond_coeff angle_coeffdihedral_coeffimproper_coeffkspace_modifyspecial_bonds

-----------------------------------------------------Seting------------------------------------------------------ neighbor  0.3 bin  #截断半径相关的设置,原格式是neighbor skin styleskin是超出强制截止点的额外距离;style = bin or nsq or multi

neigh_modify   #此命令设置影响成对近邻列表的建立和使用的参数。根据定义的交互对和其他命令,模拟可能需要一个或多个近邻列表

timestep   #模拟的步长

compute   #定义计算,一般我们需要的输出数据就需要这个命令来定义

uncompute   #取消某个compute设置

variable            #定义一个变量,这个命令可以多次使用.

reset_timestep      #步长计数器清零,有多个run命令的需注意这个

run_style           #配套run的,不一定需要

compute_modify    #修改先前定义的compute的一个或多个参数。     

---------------------------------------------------   Minimize---------------------------------------------------

minimize #通过迭代调整原子坐标来执行系统的能量最小化;当满足停止条件之一时终止迭代,到那时,配置将有望达到局部势能最小值。

min_style       #选择执行最小化命令时要使用的最小化算法。原格式:min_style cg or hftn or sd or quickmin or fire or fire/old or spin or   spin/cg or spin/lbfgs

min_modify       #该命令设置影响min_style命令选择的能量最小化算法的参数。

-------------------------------Fix为定义对部分原子或者对系综的操作-------------------------------

fix ID group-ID style args      # ID=指定的操作名称编号(如123…….Group-ID=制定操作原子的范围(如all……Style=操作内容,如何操作;Args=相关操作内容的相关操作参数;Fix-nvt:恒定N(原子数量)、V(体积)、T(温度)对时间积分;Fix-npt:恒定NPT对时间积分;具体请参考手册命令

unfix   ID    #取消某个fix设置

fix_modify     #修改先前定义的fix的一个或多个参数。仅特定的修复fix styles支持特定的参数。

--------------------------------------------------Output--------------------------------------------------------

dump  #输出数据,输出的为单个原子的信息,可视化就用它; 原格式:Dump ID group-ID style N file args;每项的含义是   ID:自己给这个dump命令定义的一个代号(自定义)group-ID:那些信息需要被输出的原子群(预先定义好groupStyle:类型N:每经过多少时间步输出信息File:输出名称Args:相关参数(每个类型不同)

undump            #取消某个dump设置

dump image/   movie  #每隔N个时间步dump原子配置的高质量渲染图像,然后将图像保存为JPEGPNGPPM文件序列

dump_modify      #修改先前定义的dump命令的参数。

thermo           #定义每隔一定时间步长输出一次采样内容。输出全局数据,比如温度,压强,长度,总能量等;

thermo_style      #此命令主要是用来说明采样的内容,即输出到屏幕或者log文件中的内容

thermo_modify       #修改先前定义的thermo_style命令的参数。

restart             #输出restart文件,对应前面read-restartdata文件只有原子坐标,restart含有部分计算信息

write_data         #将当前模型输出为一个data文件,对应之前的read-data

write_dump        #将原子量的单个快照转储到系统当前状态的一个或多个文件中。与dump命令相反,这是一次性的立即操作,后者将设置转储样式以在运行模拟期间定期写出快照。

-------------------------------------------------Run   a simulation---------------------------------------------

run     #这个命令出现之后,模拟才开始进行计算,前面的都是在设置计算过程; 在指定的时间步长内运行或继续模拟。

4.     in文件中的几个重要说明

能量最小化:实现较好的初始结构(主要目的),排除非常不理想的构象,避免分子丢失

min_style cg #能量最小化的模式(方法),cg/spin/fire/sd,选用默认即可,如cg

minimize 1.0e-4 1.0e-6   100 1000 #能量最小化参数,指数越大,最小化程度越深;依次为:能量、力、最大迭代步数、dump 1 all atom 1000 dump1.lammpstrj #收集数据(输出),每隔1000步收集一次数据

#实现较好的初始结构的方式除了能量最小化外,还有以下两种方式:

#1.把相互作用势改为软势:

# pair_style soft 1.0

# pair_coeff * * 10.0

#2.限制的算法:

# fix nve/limit 0.1 #0.1代表原子在一个时间时长能移动的最大距离

#写fix语句,实现分子动力学-郎之万动力学

#neighbor选取的大小对实际的计算结果影响很小,但对计算速度应该会有一定影响。

neighbor 0.5 bin #意思是每个原子在所取对势(即pair style)的截断半径以外,计算机还会在0.5bin的额外范围每一时间步检测其原子间的相互作用力。

neigh_modify every 1 delay 0 check yes

#NVT系综:nve+T~~nvt

velocity all create   298.0 105112 dist gaussian #由初温度来获得初速度,使用高斯分布生成原子的初始速度

fix 1 all nve #更新位置和速度,e和V保持不变。只有这个命令,就只nve系综,如果和控温命令一起,就是nvt系综。

fix 2 all langevin   298.0 298.0 1000 699411 #控温,fix ID group-ID langevin Tstart Tstop damp seed keyword values 这里温度不变,恒温298k。1000表示摩擦系数。

#热力学数据的收集

thermo 1000 #输出热力学每隔1000(N)个时间步长

thermo_style custom   step dt spcpu temp press #选择输出内容(看官网),根据自己的需要

结果数据输出 data collection

undump 2 #把前边弛豫2终止掉

dump 3 all custom 1000 dump3.lammpstrj id mol type x y z vx vy vz

#dump myDump all custom   100 dump.myforce.* id mol type x y z vx vy vz fx fy fz 根据自己需要收集什么数据来设置(这里是坐标和速度的收集,没有热力学数据的收集,需要用thermo命令)

边界条件

boundary命令用来设置模拟盒子的边界条件。

1.使用语法:

boundary  x      y  z

x,y,z可取p/s/f/m中的一个字母或两个字母的组合。

p:周期性边界条件periodic

f:非周期性固定边界条件fixed

s:非周期性包覆边界条件shrink-wrapped

m:非周期性包覆最小值边界条件minimum   value

2. 使用举例:

boundary p p fboundary p fs pboundary s f fm

3.使用介绍:

设置模拟盒子沿着各个方向的边界条件。单独的一个字母会将模拟盒子沿着某个方向的两个面设置为一样的边界条件。两个字母会将这两个面分别设置为不同的边界条件。模拟盒子的初始尺寸是由命令read_data,read_restart或create_box命令设置的。

Ø  p代表周期性边界条件,就是说原子在跨越模拟盒子的边界时,会从盒子的另外一边再进入盒子里。设置为周期性的方向的盒子尺寸是可以通过常压边界条件或盒子变形(参考命令fix npt 和 fix deform)而发生改变的。p必须同时用在某个方向的两个面上。

Ø  f/s/m都将模拟盒子定义为非周期边界条件,就是说原子在穿越边界时不会再从盒子的另一面再进入盒子里。

Ø  f是将所对应的面设置为固定的。如果原子从这个面移动出去了,那么这个原子就丢失了。

Ø  s是将所对应的面设置为浮动的,不论原子在那个方向上移动到哪里,都会通过调整所对应的面的位置而将原子包围在盒子里。

Ø  m是在s的基础上定义的,虽然包覆原子的行为会发生,但却被限制在一定的范围内。这个限制值是通过数据文件或重启动文件或命令create_box设置的。举例说明:如果在数据文件中设置了z的正方向为50.0,那么即便模拟盒子在z的正方向上的最大值变的比50.0小,z正方向上的这个面也只会在50.0或者其上的位置上。

对于非正交模拟盒子,如果倾斜因子的第二个维度(比如xy的y方向)是周期性的,那么在执行周期性的时候会强制倾斜因子带来的偏移。如果第一个维度是包覆型的(即s或m),那么包覆是针对倾斜面而言的。举例来说,对于一个正的xy倾斜因子,模拟盒子的xlo面和xhi面就是沿着+y方向进行倾斜的面。这些倾斜面决定了模拟盒子在x方向的范围,原子也是被包覆在这些倾斜面内。

5.使用限制

该命令需要在定义模拟盒子(使用命令read_data或create_box或read_restart)之前使用;参考命令change_box介绍如何改变模拟盒子的边界条件;对于二维模拟来说,z必须设置为周期性。

如何找到自己所需要的势函数?

可以通过访问以下网址查询自己所需要的势函数:

http://www.52souji.net/interatomic-potential.htmlhttp://www.ctcms.nist.gov/potentials/http://redmine.scorec.rpi.edu/anonsvn/lammps-cuda/potentials/https://sites.google.com/site/eampotentials/https://cmse.postech.ac.kr/html/research/2nnmeam.htm

如果任然找不到,那么你可以使用数据库网站或者Google Scholar搜索相关文,特别是那些做分子动力学计算的文献,看看里面是否有提到势函数。一般来说,假如你的体系是A-B,那么你可以使用关键词“A B interatomic potential”进行搜索。

如果找不到有文献中提供你所需要的势函数,那么要么是你的搜索过程还不够彻底,要么就是确实还没有人做过这方面的工作。


5.     Example

#利用eam势函数模拟带缺陷镍板的剪切

#模型构成——上下镍板夹可动镍块,镍块中有圆柱形缺陷,移动上镍板使其发生剪切变形

# 3d metal shear simulation

units        metal      #单位制为metal

boundary     s s p      #剪切和厚度方向为非周期性浮动边界,宽度方向为周期性边界条件

atom_style   atomic

lattice       fcc   3.52   #面心立方晶格,晶格常数3.52

region       box   block 0 16.0 0 10.0 0 2.828427    #盒子总体大小,长16埃米,宽10,厚2.828427

create_b     3 box

lattice       fcc   3.52 orient x 1 0 0 orient y 0 1 1 orient z 0 -1 1 #从原点开始,沿上述的晶体取向生长

create_atoms 1 box    #在盒子内填满原子

pair_style    eam

pair_co      * *   Ni_u3.eam  #调用eam势函数

neighbor      0.3 bin

neigh_modify  delay   5

region        lower block INF INF INF 0.9 INF INF  #定义底板区域

region        upper   block INF INF 6.1 INF INF INF  #定义顶板区域

group        lower   region lower

group        upper   region upper

group          boundary union lower upper   #顶板+顶板设为边界群

group        mobile   subtract all boundary   #除去边界的地方为可动群

set          group   lower type 2           #设置底板原子类型为2

set          group   upper type 3           #设置顶板原子类型为3

# void

region           void cylinder z 8 3.535534 2.5 INF INF        #以(8,3.535534)为轴线,2.5埃米为半径定义出圆柱区域

delete_atoms region void       #删除圆柱区域的原子

# temp controllers

compute         new3d mobile temp       #定义温度的计算new3d(mobile区域统计平均)

compute         new2d mobile temp/partial 0 1 1      #定义温度的计算new2d,忽略x方向速度

# equilibrate

velocity          mobile create 300.0 5812775 temp   new3d     #设置原子初始速度

fix              1   all nve       #nve系综

fix              2   boundary setforce 0.0 0.0 0.0       #固定边界原子,钢化原子,便于加载

fix              3 mobile temp/rescale 10 300.0 300.0 10.0   1.0       #直接调温法,温度控制为300K+-10K之内

fix_modify       3   temp new3d    #fix   3 调温时采用new3d的计算方案

thermo          25              #每25步输出一次热力学统计量

thermo_modif      temp new3d      #每次输出的温度按照new3d方案来

timestep      0.001       #时间步长0.001ps

run          100      #弛豫100步

# shear 剪切

velocity      upper set 1.0 0 0     #使顶板原子以1埃/ps的速度沿x正向运动

velocity      mobile ramp vx 0.0 1.0 y 1.4 8.6 sum   yes  #mobile原子的初始速度从0到1线性变化

unfix        3     #结束弛豫时的温度约束fix   3

fix          3   mobile temp/rescale 10 300.0 300.0 10.0 1.0     #开始新的控温,直接调温法,温度控制为300K+-10K之内

fix_modify   3 temp new2d      #fix 3 调温时采用new2d的计算方案

dump        1 all atom 100 dump.shear.void     #每隔100步输出一次原子信息

thermo       100

thermo_modify        temp new2d

reset_timestep       0    #重新设当前为第0步

run                3000   #总共运行3000步

6.     lammps_data文件文件

(1) 注意

Ø  不在data文件里写“#”(注释),否则,容易出错;

Ø  前两行不用写有关原子信息的东西,lammps数据读取从第三行开始;

Ø  相互作用系数可以不用写在data里边(如pair_coeff等),可有可无,但是对于pair_coeff,最好还是在data文件中设定,因为它比在in文件中设定更加方便、简洁。

(2) 主体框架(必须要有)

Ø  数目:原子、键、角、二面角、非二面角的的总数目

Ø  类型:原子、键、角、二面角、非二面

Ø  box的大小:xyz

Ø  masses(质量)

Ø  Atoms

Ø  Bonds

Ø  Angles

(3) data文件格式规则

Ø  data文件中每一行上的单词/数字之间的缩进和空格并不重要,只不过关键字(例如MassesBond Coeffs)必须左对齐并开头大写。

Ø  标头部分必须首先出现在文件中,其余条目(Mass,各种CoeffAtomsBonds, Angles等)可以按任何顺序排列。

Ø  header section, Masses, Atoms, Bonds, Angles, Dihedrals, Impropers这些项必须在data文件中。

Ø  “Atoms”项中,原子可以以任何顺序排列,只要有N个条目即可。第一个数字是原子标签(从1N的数字),用于在整个模拟过程中标识原子。分子标签是附着在原子上的第二个标识符。它可以是0,也可以是原子所属分子的计数器,也可以是您希望的任何其他数字。q值是以电子单位表示的原子电荷(例如,质子为+1)。xyz值是原子的初始位置。对于二维,将z指定为0.0Atoms项一行上的最后3nxnynz值是可选的。仅当在输入命令脚本中指定了“ true flag”命令时,LAMMPS才会读取它们。否则,它们会通过LAMMPS初始化为0“ n”的值可以为正,负或零。对于二维仿真,将nz指定为0

Ø  如果没有速度项时,则可将原子速度初始化为0.0。在速度项中,原子可以是任意顺序,只要有N个条目即可。第一个数字是原子标签(从1N的数字),用于标识将给定速度分配给它的原子。

Ø  速度,键,角度,二面体等项必须在Atoms(原子)项之后出现在文件中。

Ø  在系数条目的每一行(Nonbond CoeffsBond Coeffs等)上指定的系数数量取决于交互的“style”。除非使用默认值,否则必须在发出“read_data”命令之前在输入命令脚本(in文件)中指定该值。

(4) data文件时的命令网址:https://lammps.sandia.gov/doc/Commands_all.html

(5) Data示例文件注释

LAMMPS   Description    #data文件中的第一行

 

100 atoms         #必须是第3行,第1行和第2行将被忽略
 

95 bonds          #模拟的键个数

50 angles          #模拟分子键、角、二面扭转角的个数,即使angles, dihedrals, impropers=0,也要保留此行

30 dihedrals

20   impropers

 

5 atom   types            # 非键原子的种类数

10 bond   types           # 键连接的种类数

18 angle   types           #键角连接的种类数

20   dihedral types        # 二面角种类数   如果键连接或键角连接个数为0,则不需包含二面角,二面扭转角行

2   improper types        #二面扭转角种类数

 

 

-0.5 0.5 xlo xhi
 

-0.5 0.5   ylo yhi 

-0.5 0.5 zlo zhi
 
Masses             #质量
  
1   mass
   # N = # of atom types原子的种类标识;mass是对应原子的质量
N   mass
 
Nonbond Coeffs
 
   1 coeff1 coeff2 ...
       # N = # of atom types非键连接作用系数
   N coeff1 coeff2 ...
 
Bond Coeffs
 
  1 coeff1 coeff2 ...
   #N = # of bond types键连接作用系数
  N coeff1 coeff2 ...
 
Angle Coeffs
 
  1 coeff1 coeff2 ...
      #N = # of angle types键角作用系数
  N coeff1 coeff2 ...
 
Dihedral Coeffs
 
  1 coeff1 coeff2 ...
      #N = # of dihedral types二面角作用系数
  N coeff1 coeff2 ...
 
Improper Coeffs
 
  1 coeff1 coeff2 ...
        #N = # of improper types二面扭转角作用系数
  N coeff1 coeff2 ...
 
BondBond Coeffs
 
  1 coeff1 coeff2 ...
       # N = # of angle types
  N coeff1 coeff2 ...
 
BondAngle Coeffs
 
  1 coeff1 coeff2 ...
           #N = # of angle types
  N coeff1 coeff2 ...
 
MiddleBondTorsion Coeffs
 
  1 coeff1 coeff2 ...
       # N = # of dihedral types
  N coeff1 coeff2 ...
 
EndBondTorsion Coeffs
 
  1 coeff1 coeff2 ...
          # N = # of dihedral types
  N coeff1 coeff2 ...
 
AngleTorsion Coeffs
 
  1 coeff1 coeff2 ...
      # N = # of dihedral types
  N coeff1 coeff2 ...
 
AngleAngleTorsion Coeffs
 
  1 coeff1 coeff2 ...
           # N = # of dihedral types
  N coeff1 coeff2 ...
 
BondBond13 Coeffs
 
  1 coeff1 coeff2 ...
           # N = # of dihedral types
  N coeff1 coeff2 ...
 
AngleAngle Coeffs
 
  1 coeff1 coeff2 ...
      # N = # of improper types
  N coeff1 coeff2 ...
 
Atoms
 
  1  molecule-tag  atom-type  q  x  y  z   nx  ny  nz        #这里 nx,ny,nz是可选的 -
        #N = # of atoms; molecule-tag=分子标签; q=电荷;xyz=原子坐标;
  N  molecule-tag  atom-type   q  x  y  z  nx  ny  nz
 
Velocities
 
  1 vx vy vz
     # N = # of atoms; vx vy vz 分别是x y z 三个方向上的分速度
  N vx vy vz
 
Bonds
 
  1  bond-type  atom-1  atom-2
         # N = # of bonds; bond-type=键的类型  atom-1  atom-2分别是构成键的原子类型
  N  bond-type  atom-1  atom-2
 
Angles

  1 angle-type   atom-1  atom-2  atom-3      # atom-2 is the center atom in angle
   # N = # of angles;angle-type=角的类型;atom-1  atom-2  atom-3  分别是构成角的原子类型
  N angle-type  atom-1  atom-2  atom-3
 
Dihedrals
 
  1 dihedral-type atom-1 atom-2 atom-3 atom-4    # atoms 2-3 form central bond
    # N = # of dihedrals;dihedral-type=二面角类型 atom-1 atom-2 atom-3 atom-4分别是构成二面角的原子类型
  N dihedral-type atom-1 atom-2 atom-3 atom-4
 
Impropers
 
  1 improper-type atom-1 atom-2 atom-3 atom-4   #atom-2 is central atom
      # N = # of impropers;atom-1 atom-2 atom-3 atom-4分别是构成非正常二面角的原子类型
  N improper-type atom-1 atom-2 atom-3 atom-4

 




https://blog.sciencenet.cn/blog-3437453-1264601.html

上一篇:windows系统下lammps安装及运行
下一篇:LAMMPS输入命令
收藏 IP: 202.201.139.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 18:17

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部