Lammps初学者——in文件中文解析
(1)初始化
Units:
Units命令是用来设定模拟的原子类型。
Units style(lammps现在提供的有style=LJ、real、metal、si、cgs、electron)
LJ是硬球模型
Real是真实的原子模型
Metal是金属原子模型
Si是硅(半导体)原子模型
Cgs
Electron是电子模型
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
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-ID
N为使用该原子类型进行模拟
Region-ID为使用区域的ID使用模拟域
Create-atoms:
Create-atoms用于在所创建的模拟的盒子中填充某种原子。
Create_atoms type style args keyword values ...
(3)设定:
力场系数
Pair-coeff:
模拟参数
Neighbor
Neighbor是定义
Neighbor skin style
Skin为
Style可取bin、nsq、multi
Neighbor-modify:
Group:
Timestep:
Timestep是定义模拟的时间步长。
Timestep dt
Dt为时间步长(时间单位),默认为1ps
Reset-timestep:
Fix
Fix为定义对部分原子或者对系综的操作。
v/doc/fix.html
Fix ID group-ID style args
ID=指定的操作名称编号(如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文件中的内容。(v/doc/thermo_style.html)
Thermo_style style args
Style=one、multi、custom
Args=特定的参数列表
One args=none
Multi args=none
Custom args=list of attributes
Possible 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、
Vol、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_name
Dump:
Dump命令主要是用来输出计算后单个原子的相关信息的。
Dump ID group-ID style N file args
ID:自己给这个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.61
region 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 # 能量最小化模式,sd
variable什么意思中文minimize 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.005fs
run 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.0001K
run 1000 # 运行 1000 步
print "nvt performed, temperature down: $N atoms, total energy is $E"
compute 3 all pe/atom # 计算每个原子的势能
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论