lammps中文教程1
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)具体模拟设置这⼀部分代码与模拟的具体内容有关,⽐如拉伸、剪切、结晶、吸附等等。设置输出轨迹⽂件、热⼒学数据等等,便于后期统计分析。


评论
春风得意马蹄疾

干货推荐

分子轨道理论简介与计算示例
天玑智研
769 6

计算机材料设计Materials-Studio教程5
活着
33 2

小胶质细胞
Mr弘🔬
63 8

Codex + Zotero + Obsidian,研究生真的可以构建自己的个人论文知识库
海山了
117 2

lammps中文教程12
春风得意马蹄疾
87 2

如何用ABAQUS输出局部坐标系上的投影力值?
小刀
90 9
