lammps中构建合金模型

这篇文章是我以前在新浪博客中写的,转载到这里来,顺便重新编辑了下。

建议阅读本文前,先看另外一篇文章:LAMMPS常用建模方法总结

合金体系的创建,主要有两种方法,如下。

1. 程序创建data file文件

根据合金体系的结构,按着data file的文件格式编程产生相关data file文件,由read_data命令读入即可。

可以说,这是一种万能的方法,具体不多说,主要是要了解data file的格式,并且有一定的编程基础。

2. lammps命令创建

lammps提供的命令也能很方便的创建合金结构,当然可能仅限于一些比较规则的晶体结构。这里以B1结构(rocksalt)的NaCl为例进行说明(NaCl显然不是合金,但合金类似)。

rocksalt结构

创建结构的命令不外乎lattice, create_box, create_atoms,这里只是强调在合金体系创建的应用。

先直接给出命令,如下:

lattice 		custom $x a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 &
				basis 		0.0 0.0 0.0 basis 0.5 0.5 0.0 basis 0.5 0.0 0.5 basis 0.0 0.5 0.5 &
				basis 		0.5 0.5 0.5 basis 0.0 0.0 0.5 basis 0.0 0.5 0.0 basis 0.5 0.0 0.0
region 			box block 0 3 0 3 0 3
create_box 		2 box
create_atoms 	2 box basis 1 1 basis 2 1 basis 3 1 basis 4 1 &
				basis 		5 2 basis 6 2 basis 7 2 basis 8 2

具体说明:

(1) lattice第一行为晶格矢量,其中$x为晶格矢量;第二行和第三行每一个basis对应原胞中的一个原子。对于B1结构,是包含8个原子,即4个Na,4个Cl。
(2) region是定义盒子的区域
(3) create_box定义盒子,指定原子类型的数量。这里的2是因为有两种类型。
(4) create_atoms在盒子中,以lattice晶格创建原子。这里的basis有两个参数,第一个指定是lattice中的哪一个原子,这里从1到8;第二个参数指定原子类型,因为有两种类型,所以为1或者2.

建议可以先看manual,熟悉上面涉及到的几个命令。

  • lattice: http://lammps.sandia.gov/doc/lattice.html
  • create_box: http://lammps.sandia.gov/doc/create_box.html
  • create_atoms: http://lammps.sandia.gov/doc/create_atoms.html

这里,我们看到只是指定了两种原子类型,但并没有告诉程序是哪两种,它怎么会知道呢?
所以这需要在后面的势参数中指定。

标签: lammps, 建模

相关文章推荐

添加新评论 (无需注册,可直接评论)