用户工具

站点工具


atk:如何弛豫器件体系的几何结构

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
atk:如何弛豫器件体系的几何结构 [2016/09/19 16:06] – [电极弛豫] dong.dongatk:如何弛豫器件体系的几何结构 [2018/03/20 18:40] (当前版本) liu.jun
行 2: 行 2:
 ====== 如何弛豫器件体系的几何结构 ====== ====== 如何弛豫器件体系的几何结构 ======
  
-在这篇教程中,你会学习到如何利用“刚性”(rigid body)结构限制和简单的优化步骤,来快速、可靠的弛豫一个器件结构的内坐标。+在使用QuantumATK进行器件(Device)模型的计算时,如何进行可靠的进行结构优化是常常困扰用户,尤其是初学者的重要问题。在这篇教程中,你会学习到如何利用“刚性”(rigid body)结构限制和简单的优化步骤,来快速、可靠的弛豫一个器件结构的内坐标。 
 + 
 +本教程中针对的是一个 A、B 方向上为周期性结构的 “三维” 器件,尤其值得注意的是两端电极是不同种材料构成,这导致了在构建界面时的晶格匹配和由于 A、B 方向应力导致的 C 方向的伸缩,类似的体系还包括: 
 +  * 磁性隧道结一类的多层结构; 
 +  * 同种材料的不同晶向构成电极。 
 + 
 +两端电极相同时,不会存在晶格匹配和应力问题,但这里介绍的优化方法也同样适用。 
 + 
 +<WRAP center info 100%> 
 +=== 提示 === 
 +**本教程使用特定版本的QuantumATK创建,因此涉及的截图和脚本参数可能与您实际使用的版本略有区别,请在学习时务必注意。** 
 +</WRAP>
  
  
行 13: 行 24:
   - 第二步:优化中心区域。中心区域的最优长度通常是未知的。对于周期性结构,还需要使应力最小化。但是,应力场对于器件结构来说是不唯一确定的,因此需要使用其他的方法。   - 第二步:优化中心区域。中心区域的最优长度通常是未知的。对于周期性结构,还需要使应力最小化。但是,应力场对于器件结构来说是不唯一确定的,因此需要使用其他的方法。
  
-在第二步中,我们必须在确保电极扩展层内坐标不变的前提下最小化器件总能量。在ATK里至少有两种方法实现。+在第二步中,我们必须在确保电极扩展层内坐标不变的前提下最小化器件总能量。在QuantumATK里至少有两种方法实现。
  
 ==== BRR方法 ==== ==== BRR方法 ====
行 23: 行 34:
 ==== 1D最小化 ==== ==== 1D最小化 ====
  
-更“暴力”的方法是将器件体系能量对内坐标和中心区域长度优化至最小,即在改变中心区域长度的同时进行整个双电极器件的计算。这是一个一维原子链最小化的问题,在每一步都针对原子位置作弛豫。因此,我们称之为 1DMIN。为此,我们发展了用 ATK 进行这种最小化的方案,使之尽可能有效地处理这个问题。但是这种方法的计算量远大于 BRR 方法,因此我们建议在对中心区域使用 BRR 弛豫之后,再进行 1DMIN 计算。+更“暴力”的方法是将器件体系能量对内坐标和中心区域长度优化至最小,即在改变中心区域长度的同时进行整个双电极器件的计算。这是一个一维原子链最小化的问题,在每一步都针对原子位置作弛豫。因此,我们称之为 1DMIN。为此,我们发展了用 QuantumATK 进行这种最小化的方案,使之尽可能有效地处理这个问题。但是这种方法的计算量远大于 BRR 方法,因此我们建议在对中心区域使用 BRR 弛豫之后,再进行 1DMIN 计算。
  
 这篇教程介绍了利用 BRR 和 1DMIN 方法对电极和中心区域的弛豫。教程中的实例是用经典力场方法对银-金接触表面进行弛豫。利用经典势可以使计算更快捷,同样的方法可以适用于 DFT 计算。通常,我们会建议利用 DFT 计算来检验 ATK-Classical 计算的结果。 这篇教程介绍了利用 BRR 和 1DMIN 方法对电极和中心区域的弛豫。教程中的实例是用经典力场方法对银-金接触表面进行弛豫。利用经典势可以使计算更快捷,同样的方法可以适用于 DFT 计算。通常,我们会建议利用 DFT 计算来检验 ATK-Classical 计算的结果。
行 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,可将中间区域制动设置到中心。
  
 {{ :atk:screenshot51.png?500 |}} {{ :atk:screenshot51.png?500 |}}
  
-我们要固定电极扩展层的原子,但为了在后面便于使用“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 个金原子, 设置为 Right
  
 {{ :atk:screenshot61.png?500 |}} {{ :atk:screenshot61.png?500 |}}
  
-发送结构至**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**。
  
 {{ :atk:screenshot71.png?500 |}} {{ :atk:screenshot71.png?500 |}}
  
 <WRAP center round info 100%> <WRAP center round info 100%>
-**注意** +=== 注意 === 
-可以对一个标记的区域选择“Fixed”,另一个选择“Rigid”,这样可以减少BFGS弛豫步骤,从而节省计算时间。+可以对一个标记的区域选择 “Fixed”,另一个选择 “Rigid”,这样可以减少 BFGS 弛豫步骤,从而节省计算时间。
 </WRAP> </WRAP>
  
-发送脚本至**Job Manager**,并运行计算。计算非常快,一旦计算结束,我们将会看到central.nc文件出现在**LabFloor**上。+发送脚本至 **Job Manager**,并运行计算。计算非常快,一旦计算结束,我们将会看到 central.nc 文件出现在 **LabFloor** 上。
  
-可以从**Viewer**中看到优化的轨迹动画。+可以从 **Viewer** 中看到优化的轨迹动画。
  
 {{ :atk:screenshot8.gif?500 |}} {{ :atk:screenshot8.gif?500 |}}
  
-优化后的中心区域结构保存在central.nc文件中的gID0002中。这是我们对中心区域结构的最初猜测。将其拖拽至**Builder**中。+优化后的中心区域结构保存在 central.nc 文件中的 gID0002 中。这是我们对中心区域结构的最初猜测。将其拖拽至 **Builder** 中。
  
-打开Device Tools ‣ Device From Bulk,将bulk结构转换为器件。保留默认参数即可。+打开 Device Tools ‣ Device From Bulk,将 bulk 结构转换为器件。保留默认参数即可。
  
-结构如下图所示,右键或F2重命名为“device”。+结构如下图所示,右键或 F2 重命名为 “device”。
  
 {{ :atk:screenshot9.png?500 |}} {{ :atk:screenshot9.png?500 |}}
  
-===== 两电极器件的1DMIN 优化 =====+===== 两电极器件的 1DMIN 优化 =====
  
-我们现在可以搜索器件全局最小能量结构了。通过Save as,将器件结构保存为NetCDF文件,并命名为“device_in.nc”。+我们现在可以搜索器件全局最小能量结构了。通过 Save as,将器件结构保存为 NetCDF 文件,并命名为 “device_in.nc”。
  
 {{ :atk:screenshot10.png?500 |}} {{ :atk:screenshot10.png?500 |}}
  
-现在我们将用SciPy minimization程序搜索可以使能量最小化的中心区域长度。我们将从device_in.nc的器件结构开始。 +现在我们将用 SciPy minimization 程序搜索可以使能量最小化的中心区域长度。我们将从 device_in.nc 的器件结构开始。 
-我们需要两个脚本:[[http://docs.quantumwise.com/_downloads/device4.py#ag-au-interfacedevice_relaxation/device.py]][[http://docs.quantumwise.com/_downloads/optimize1.py#ag-au-interfacedevice_relaxation/optimize.py]]。将两个脚本和device_in.nc放在同一个目录下。第一个脚本是读取结构并设置计算参数,第二个脚本包含了计算所需的类和函数的定义。+我们需要两个脚本:{{ :atk:device.zip |}}{{ :atk:optimize.zip |}}。将两个脚本和 device_in.nc 放在同一个目录下。第一个脚本是读取结构并设置计算参数,第二个脚本包含了计算所需的类和函数的定义。
  
 <WRAP center round info 100%> <WRAP center round info 100%>
-**注意** +=== 注意 === 
-利用device.py 计算其他体系,需要修改脚本,设定相应的势以便能够处理新体系。+利用 device.py 计算其他体系,需要修改脚本,设定相应的势以便能够处理新体系。
 </WRAP> </WRAP>
  
-两个脚本都可以在VNL的Project Files中看到。拖拽device.py至Jobs,并运行脚本。+两个脚本都可以在 VNL 的 Project Files 中看到。拖拽 device.py 至 Jobs,并运行脚本。
  
-一旦计算完成,将会出现一个数据图窗口。蓝色点是弛豫结构的总能量。晶胞的最初长度是28.51 Å,其他的蓝点是算法模拟出来的结果。其中位于28.58 Å的红色点为中心区域能量最低的点。优化程序只简单地绘制出所示的势能曲线,并找到它的最小值。+一旦计算完成,将会出现一个数据图窗口。蓝色点是弛豫结构的总能量。晶胞的最初长度是 28.51 Å,其他的蓝点是算法模拟出来的结果。其中位于28.58 Å 的红色点为中心区域能量最低的点。优化程序只简单地绘制出所示的势能曲线,并找到它的最小值。
  
 {{ :atk:screenshot111.png?500 |}} {{ :atk:screenshot111.png?500 |}}
行 148: 行 160:
 手动关闭弹出的窗口可以结束脚本运行。 手动关闭弹出的窗口可以结束脚本运行。
  
-弛豫器件结构保存在输出文件“device_out.nc”,并包含总能量。红色点处的结构(最终找到的能连个最低点)是最后一个器件结构(id最大的那一个)。+弛豫器件结构保存在输出文件 “device_out.nc”,并包含总能量。红色点处的结构(最终找到的能连个最低点)是最后一个器件结构(id 最大的那一个)。
  
-在**Viewer**中,能量最小点的结构如图所示:+在 **Viewer** 中,能量最小点的结构如图所示:
  
 {{ :atk:screenshot12.png?500 |}} {{ :atk:screenshot12.png?500 |}}
  
-这个例子里,1DMIN弛豫后结构与BRR弛豫的结构相比较,变化十分细微。这可以看出,通常情况BRR方法的结果已经足够精确,并不需要再进行1DMIN的步骤。1DMIN仅用于极其精确的计算。+这个例子里,1DMIN 弛豫后结构与 BRR 弛豫的结构相比较,变化十分细微。这说明通常情况 BRR 方法的结果已经足够精确,并不需要再进行 1DMIN 的步骤。1DMIN 仅用于极其精确的计算。
  
  
行 163: 行 175:
 ===== 信息图 ===== ===== 信息图 =====
  
-下载pdf,[[http://docs.quantumwise.com/_downloads/infographics_device_relaxation.pdf#ag-au-interface| Infographics]]。点击顶部按钮查看图片。+下载pdf版的[[http://docs.quantumwise.com/_downloads/infographics_device_relaxation.pdf#ag-au-interface| Infographics]]。点击顶部按钮查看图片。
  
  
 ===== 参考 ===== ===== 参考 =====
-  * 英文教程:[[http://docs.quantumwise.com/tutorials/device_relaxation.html|英文]]。 +  * 英文原文:[[http://docs.quantumwise.com/tutorials/device_relaxation.html]]。 
- +  * 中文翻译:闫强
-文翻译:闫强+
atk/如何弛豫器件体系的几何结构.1474272364.txt.gz · 最后更改: 2016/09/19 16:06 由 dong.dong

© 2014-2022 费米科技(京ICP备14023855号