这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版上一修订版两侧同时换到之后的修订记录 | ||
atk:如何弛豫器件体系的几何结构 [2016/09/19 16:06] – [电极弛豫] dong.dong | atk:如何弛豫器件体系的几何结构 [2016/12/08 11:08] – [如何弛豫器件体系的几何结构] dong.dong | ||
---|---|---|---|
行 2: | 行 2: | ||
====== 如何弛豫器件体系的几何结构 ====== | ====== 如何弛豫器件体系的几何结构 ====== | ||
- | 在这篇教程中,你会学习到如何利用“刚性”(rigid body)结构限制和简单的优化步骤,来快速、可靠的弛豫一个器件结构的内坐标。 | + | 在使用VNL-ATK进行器件(Device)模型的计算时,如何进行可靠的进行结构优化是常常困扰用户,尤其是初学者的重要问题。在这篇教程中,你会学习到如何利用“刚性”(rigid body)结构限制和简单的优化步骤,来快速、可靠的弛豫一个器件结构的内坐标。 |
+ | |||
+ | 本教程中针对的是一个 A、B 方向上为周期性结构的 “三维” 器件,尤其值得注意的是两端电极是不同种材料构成,这导致了在构建界面时的晶格匹配和由于 A、B 方向应力导致的 C 方向的伸缩,类似的体系还包括: | ||
+ | * 磁性隧道结一类的多层结构; | ||
+ | * 同种材料的不同晶向构成电极。 | ||
+ | |||
+ | 两端电极相同时,不会存在晶格匹配和应力问题,但这里介绍的优化方法也同样适用。 | ||
+ | |||
+ | <WRAP center info 100%> | ||
+ | === 提示 === | ||
+ | **本教程使用特定版本的VNL-ATK创建,因此涉及的截图和脚本参数可能与您实际使用的版本略有区别,请在学习时务必注意。** | ||
+ | </ | ||
行 83: | 行 94: | ||
===== 中心区域弛豫 ===== | ===== 中心区域弛豫 ===== | ||
- | 现在,我们仅需要进行中心器件弛豫。当进行几何优化时,我们希望电极扩展层可以自由移动,因此我们需要在两端添加真空层: | + | 现在我们就可以进行中心区域弛豫了。当进行几何优化时,我们希望电极扩展层可以**自由移动**,因此我们需要在两端添加真空层: |
- | 鼠标点击绘制窗口的背景区域,确保没有原子被选中。点开右侧的Bulk Tools ‣ Stretch Cell ,利用C-vector slider,延长晶胞30%的长度,或者简单将因子设置为1.3。然后点击Apply应用,晶胞就会相应的增大。 | + | 鼠标点击绘制窗口的背景区域,确保没有原子被选中。点开右侧的 Bulk Tools ‣ Stretch Cell ,利用 C-vector slider,延长晶胞30%的长度,或者简单将因子设置为 1.3。然后点击 Apply 应用,晶胞就会相应的增大。 |
- | 点开Coordinate Tools ‣ Center,取消勾选A、B,点击Apply,可将中间区域制动设置到中心。 | + | |
+ | 点开 Coordinate Tools ‣ Center,取消勾选 A、B,点击 Apply,可将中间区域制动设置到中心。 | ||
{{ : | {{ : | ||
- | 我们要固定电极扩展层的原子,但为了在后面便于使用“Device from bulk”工具添加电极时确定电极的长度,我们需要比常规的电极扩展层多固定一层。为此,选中最外层的5层银原子,点开Selection Tools ‣ Tags。在“Click here to write a new tag...”输入框中,输入Left。 | + | 我们要固定电极扩展层的原子,但为了在后面便于使用 “Device from bulk” 工具添加电极时自动确定电极的长度,我们需要比常规的电极扩展层多固定一层。为此,选中最外层的 5 层银原子,点开 Selection Tools ‣ Tags。在 “Click here to write a new tag...” 输入框中,输入Left |
- | 接下来,同样选择最外层的4个金原子, 标记为Right. | + | 接下来,同样选择最外层的 4 个金原子, |
{{ : | {{ : | ||
- | 发送结构至**Script Generator**,设置如下参数: | + | 发送结构至 **Script Generator**,设置如下参数: |
- | - 添加**New Calculator**和**OptimizeGeometry**项目。 | + | - 添加 **New Calculator** 和 **OptimizeGeometry** 项目。 |
- | - 选择ATK-Classical方法,和EAM_Zhou_2004势做计算。 | + | - 选择 ATK-Classical 方法,和 EAM_Zhou_2004 势做计算。 |
- 在几何优化中设置如下参数: | - 在几何优化中设置如下参数: | ||
- | - 设置force tolerance为0.01 eV/Å. | + | - 设置 force tolerance 为 0.01 eV/Å. |
- | - 点击Save trajectory,设置文件名为central.nc。 | + | - 点击 Save trajectory,设置文件名为 central.nc。 |
- | - 单击Add Constraints,对两电极扩展层的设置“Rigid”结构限制. | + | - 单击 Add Constraints,对两电极扩展层的设置 “Rigid” 结构限制. |
- | - 检查Left和Right两个标签要标记的原子是否正确。在两个标签的下拉菜单中选择“Rigid”。 | + | - 检查 Left 和 Right 两个标签要标记的原子是否正确。在两个标签的下拉菜单中选择 “Rigid”。 |
- | - 点击OK,并返回**Scripter**。 | + | - 点击 OK,并返回 **Scripter**。 |
{{ : | {{ : | ||
<WRAP center round info 100%> | <WRAP center round info 100%> | ||
- | **注意** | + | === 注意 |
- | 可以对一个标记的区域选择“Fixed”,另一个选择“Rigid”,这样可以减少BFGS弛豫步骤,从而节省计算时间。 | + | 可以对一个标记的区域选择 “Fixed”,另一个选择 “Rigid”,这样可以减少 BFGS 弛豫步骤,从而节省计算时间。 |
</ | </ | ||
- | 发送脚本至**Job Manager**,并运行计算。计算非常快,一旦计算结束,我们将会看到central.nc文件出现在**LabFloor**上。 | + | 发送脚本至 **Job Manager**,并运行计算。计算非常快,一旦计算结束,我们将会看到 central.nc 文件出现在 **LabFloor** 上。 |
- | 可以从**Viewer**中看到优化的轨迹动画。 | + | 可以从 **Viewer** 中看到优化的轨迹动画。 |
{{ : | {{ : | ||
- | 优化后的中心区域结构保存在central.nc文件中的gID0002中。这是我们对中心区域结构的最初猜测。将其拖拽至**Builder**中。 | + | 优化后的中心区域结构保存在 central.nc 文件中的 gID0002 中。这是我们对中心区域结构的最初猜测。将其拖拽至 **Builder** 中。 |
- | 打开Device Tools ‣ Device From Bulk,将bulk结构转换为器件。保留默认参数即可。 | + | 打开 Device Tools ‣ Device From Bulk,将 bulk 结构转换为器件。保留默认参数即可。 |
- | 结构如下图所示,右键或F2重命名为“device”。 | + | 结构如下图所示,右键或 F2 重命名为 “device”。 |
{{ : | {{ : | ||
- | ===== 两电极器件的1DMIN 优化 ===== | + | ===== 两电极器件的 1DMIN 优化 ===== |
- | 我们现在可以搜索器件全局最小能量结构了。通过Save as, | + | 我们现在可以搜索器件全局最小能量结构了。通过 Save as, |
{{ : | {{ : | ||
- | 现在我们将用SciPy minimization程序搜索可以使能量最小化的中心区域长度。我们将从device_in.nc的器件结构开始。 | + | 现在我们将用 SciPy minimization 程序搜索可以使能量最小化的中心区域长度。我们将从 device_in.nc 的器件结构开始。 |
- | 我们需要两个脚本:[[http://docs.quantumwise.com/ | + | 我们需要两个脚本:{{ :atk:device.zip |}}和{{ :atk: |
<WRAP center round info 100%> | <WRAP center round info 100%> | ||
- | **注意** | + | === 注意 |
- | 利用device.py 计算其他体系,需要修改脚本,设定相应的势以便能够处理新体系。 | + | 利用 device.py 计算其他体系,需要修改脚本,设定相应的势以便能够处理新体系。 |
</ | </ | ||
- | 两个脚本都可以在VNL的Project Files中看到。拖拽device.py至Jobs,并运行脚本。 | + | 两个脚本都可以在 VNL 的 Project Files 中看到。拖拽 device.py 至 Jobs,并运行脚本。 |
- | 一旦计算完成,将会出现一个数据图窗口。蓝色点是弛豫结构的总能量。晶胞的最初长度是28.51 Å,其他的蓝点是算法模拟出来的结果。其中位于28.58 Å的红色点为中心区域能量最低的点。优化程序只简单地绘制出所示的势能曲线,并找到它的最小值。 | + | 一旦计算完成,将会出现一个数据图窗口。蓝色点是弛豫结构的总能量。晶胞的最初长度是 28.51 Å,其他的蓝点是算法模拟出来的结果。其中位于28.58 Å 的红色点为中心区域能量最低的点。优化程序只简单地绘制出所示的势能曲线,并找到它的最小值。 |
{{ : | {{ : | ||
行 148: | 行 160: | ||
手动关闭弹出的窗口可以结束脚本运行。 | 手动关闭弹出的窗口可以结束脚本运行。 | ||
- | 弛豫器件结构保存在输出文件“device_out.nc”,并包含总能量。红色点处的结构(最终找到的能连个最低点)是最后一个器件结构(id最大的那一个)。 | + | 弛豫器件结构保存在输出文件 “device_out.nc”,并包含总能量。红色点处的结构(最终找到的能连个最低点)是最后一个器件结构(id 最大的那一个)。 |
- | 在**Viewer**中,能量最小点的结构如图所示: | + | 在 **Viewer** 中,能量最小点的结构如图所示: |
{{ : | {{ : | ||
- | 这个例子里,1DMIN弛豫后结构与BRR弛豫的结构相比较,变化十分细微。这可以看出,通常情况BRR方法的结果已经足够精确,并不需要再进行1DMIN的步骤。1DMIN仅用于极其精确的计算。 | + | 这个例子里,1DMIN 弛豫后结构与 BRR 弛豫的结构相比较,变化十分细微。这说明通常情况 BRR 方法的结果已经足够精确,并不需要再进行 1DMIN 的步骤。1DMIN 仅用于极其精确的计算。 |
行 163: | 行 175: | ||
===== 信息图 ===== | ===== 信息图 ===== | ||
- | 下载pdf,[[http:// | + | 下载pdf版的[[http:// |
===== 参考 ===== | ===== 参考 ===== | ||
- | * 英文教程:[[http:// | + | * 英文原文:[[http:// |
- | + | * 中文翻译:闫强。 | |
- | 本文翻译:闫强 | + |