干货分子动力学 干货详情

lammps中文教程1

春风得意马蹄疾33
分子动力学LAMMPS计算材料学原子尺度模拟势函数力场原子建模能量最小化系综弛豫材料模拟拉伸模拟剪切模拟结晶模拟吸附模拟

1 lammps基本命令

1.1 in⽂件结构详解以及⼀个⽐较实⽤的in⽂件模板

lammps软件只是⼀个求解器,没有可视化的前处理和后处理软件,所有的命令只能通过代码的⽅式输⼊到求解器进⾏求解计算。

所有的命令都被写到⼀个称为“in”的⽂件⾥,对于初学者来说,熟悉in⽂件的编写是⼀个难点。

in⽂件其实就是⼀个⽂本⽂档,也没有要求⽂件名或者后缀名中必须带有“in”字样,⽤任何⽂件名均可运⾏。

in⽂件⾥的代码是按照编写的顺序进⾏解释执⾏,对于⼤部分命令⾏来说,前后顺序影响并不是很⼤,但是,对于⼀些命令,在执⾏过程中需要某个参数,则这个参数的定义和计算必须写在命令执⾏之前。

例如,对晶体使⽤fix deform命令进⾏拉伸时,应变速率代码必须写到fix deform命令⾏的前⾯。

lammps命令⾮常丰富,官⽅给出的说明⼿册就达2000多⻚,我们也不可能记住和使⽤所有的命令。

对于某⼀个研究⽅向来说,常⽤的命令可能也就那么⼏⼗个,只要我们掌握这⼏⼗个命令基本上能够满⾜模拟要求。

in⽂件按照模块,⼤体可以分为三类:

(1)模拟环境参数设置这⼀部分主要设置⼀些模拟参数,⽐如模拟体系的单位(units)、边界条件(boundary)、原⼦类型(atom_style)、邻居列表的定义(neighbor)、时间步⻓(timestep)等。

(2)体系模型的建⽴这⼀部分的功能就是建⽴体系的原⼦模型,通常有两种⽅式。

第⼀种⽅式是使⽤lammps⾃带的建模命令建模,⽐如使⽤region命令划分区域,create_box命令⽣成模拟盒⼦,lattcie确定原⼦晶格常数,create_atoms⽣成原⼦。

使⽤命令⾏建模⽐较抽象,建模过程不是“所⻅即所得”,为了验证所建模型是否符合要求,可以在建模代码的后⾯使⽤write_data命令把模型保持为data⽂件,在lammps中运⾏in⽂件,⽤ovito观察⼀下模型是否正确。

第⼆种建模⽅式是使⽤其他软件进⾏可视化的建模,例如Material studio、Atomsk等软件,建模完成后转换为lammps可以识别data⽂件,使⽤read_data命令读⼊到lammps中。

(3)⼒场的设置模型建好之后,需要设置⼒场参数,也就是常说的势函数设置。

⼒场的设置分两步,⾸先设置⼒场类型,如pair_style、bond_style、angle_style、dihedral_style、improper_style。

之后,设置与之相对于的参数,分别使⽤pair_coeff、bond_coeff、angle_coeff、dihedral_coeff、improper_coeff。

(4)能量最⼩化在正式模拟之前,⼀般都需要进⾏能量最⼩化,消除模型不合理的结构。

能量最⼩化要在温度初始化之前进⾏,min_style确定能量最⼩化类型,minimize命令设置相关参数。

(5)温度初始化能量最⼩化之后,就可以进⾏温度初始化。体系的温度是根据原⼦的速度计算得到的,因此,温度初始化也就是对原⼦进⾏速度初始化。

使⽤velocity命令按照设定的规律随机设定原⼦速度,使体系温度设定为⼀个固定值。

(6)弛豫在npt、nvt等系综下,对体系进⾏充分的弛豫,使体系的能量达到最低,获得平衡态的结构。

前⾯这6部分是模拟准备过程,到此为⽌,体系已经达到平衡,可以进⾏下⼀步模拟。

这6部分的代码在⼤部分的模拟中都是通⽤的。

(7)具体模拟设置这⼀部分代码与模拟的具体内容有关,⽐如拉伸、剪切、结晶、吸附等等。设置输出轨迹⽂件、热⼒学数据等等,便于后期统计分析。



评论

0/1000发布评论
全部评论

春风得意马蹄疾

关注
TA的主页

干货推荐