lattice command — LAMMPS documentation
基本语法:
lattice style scale keyword values ...
- style = none or sc or bcc or fcc or hcp or diamond or sq or sq2 or hex or custom
- scale = scale factor between lattice and simulation box
scale = reduced density rho* (for LJ units)
scale = lattice constant in distance units (for all other units)
- zero or more keyword/value pairs may be appended
- keyword = origin or orient or spacing or a1 or a2 or a3 or basis or triclinic/general
origin values = x y z
x,y,z = fractions of a unit cell (0 <= x,y,z < 1)
orient values = dim i j k
dim = x or y or z
i,j,k = integer lattice directions
spacing values = dx dy dz
dx,dy,dz = lattice spacings in the x,y,z box directions
a1,a2,a3 values = x y z
x,y,z = primitive vector components that define unit cell
basis values = x y z
x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1)
triclinic/general values = no values
解释 details:
style
lattice
命令的第一个参数是晶格类型(style
),可以选择的类型包括:
none
:不使用任何晶格类型。sc
:简单立方(Simple Cubic)。bcc
:体心立方(Body-Centered Cubic)。fcc
:面心立方(Face-Centered Cubic)。hcp
:六方密排(Hexagonal Close-Packed)。diamond
:钻石结构(通常用于模拟硅等元素)。sq
:简单正方形(Simple Square),用于二维模拟。sq2
:扩展的简单正方形晶格。hex
:六方(Hexagonal)晶格。custom
:自定义晶格,允许用户指定任意的晶格常数和原子位置。
scale
scale
参数用于指定晶格与模拟盒子之间的比例关系:
- 对于Lennard-Jones单位(LJ units),
scale
设置为 密度 ρ ∗ ρ^∗ ρ∗。 - 对于其他单位,
scale
设置为 晶格常数,即晶格的尺寸(单位是距离)。
keyword
- origin
origin
指定晶格的原点位置,值为x,y,z
,表示单位格子中原点的分数坐标(范围为 0 到 1)。
例如:
origin 0.5 0.5 0.5
表示晶格的原点位于单位晶格的中心。
- orient
指定晶格的定向,值为dim i j k
,其中dim
是x,y,或 z
之一,i,j,k
是晶格的整数方向。
例如
orient x 1 0 0
表示沿着 x 方向定向晶格。
orient x 1 -1 0 y 1 1 -2 z 1 1 1
,x 方向朝1 -1 0
,y 方向朝1 1 -2
,z 方向朝1 1 1
,这三个晶向相互垂直,且使得 1 1 1
晶面与 z 方向垂直,有助于研究一些特定晶向晶面的问题。
- spacing
设置晶格在模拟盒子中各方向上的间距,值为dx dy dz
假设你有一个面心立方(FCC)晶格,其晶格常数为 3.5。使用以下命令:
lattice fcc 3.5 spacing 2.0 2.0 2.0
晶格在每个方向上扩大到原来的两倍
- a1 a2 a3
这些参数定义了单位晶格的原始向量组件,即三个基本晶格向量的分量。
例如:
a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0
表示这是一个正交的立方体晶格。
- basis
指定基础原子的分数坐标,用于定义晶格的原子位置($ 0\leq x,y,z \leq 1 $)。
例如:
basis 0.0 0.0 0.0
basis 0.5 0.5 0.5
表示在单位格子中有两个原子,一个位于原点,另一个位于晶格的对角线。
- triclinic 或 general
对于不规则的晶格,可以设置 triclinic
或 general
,这些结构不需要特殊的对称性,允许更加灵活的晶格构造。
例如:
triclinic
表示定义一个斜方晶格结构。
例子:
- 简单立方晶格(SC):
lattice sc 5.0
- 面心立方晶格(FCC)并设置缩放因子为2.0:
lattice fcc 3.5 scale 2.0
- 自定义晶格,使用
a1
,a2
,a3
来定义单位格子的原始向量,并使用basis
设置原子的位置:
lattice custom 3.5
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.5
这些命令可以结合使用,以定义更加复杂的晶格结构。