这是本文档旧的修订版!
在这篇教程中,我们研究一个掺杂的 <chem>NiSi2</chem>-Si 表面接触的输运性质。我们将会学习到:
本教程使用特定版本的VNL-ATK创建,因此涉及的截图和脚本参数可能与您实际使用的版本略有区别,请在学习时务必注意。
# ------------------------------------------------------------- # Bulk Configuration # ------------------------------------------------------------- # Set up lattice vector_a = [3.87406675195, 0.0, 0.0]*Angstrom vector_b = [0.0, 3.87406675195, 0.0]*Angstrom vector_c = [0.0, 0.0, 32.9399103335]*Angstrom lattice = UnitCell(vector_a, vector_b, vector_c) # Define elements elements = [Nickel, Silicon, Silicon, Nickel, Silicon, Silicon, Nickel, Silicon, Silicon, Nickel, Silicon, Silicon, Nickel, Silicon, Silicon, Nickel, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon, Silicon] # Define coordinates fractional_coordinates = [[ 0. , 0.5 , 0.041751877231], [ 0. , 0. , 0.083503754463], [ 0.5 , 0.5 , 0.083503754463], [ 0.5 , 0. , 0.125255631694], [ 0. , 0. , 0.167007508926], [ 0.5 , 0.5 , 0.167007508926], [ 0. , 0.5 , 0.208759386157], [ 0. , 0. , 0.250511263389], [ 0.5 , 0.5 , 0.250511263389], [ 0.5 , 0. , 0.29226314062 ], [ 0. , 0. , 0.334015017852], [ 0.5 , 0.5 , 0.334015017852], [ 0. , 0.5 , 0.375766895083], [ 0. , 0. , 0.417518772314], [ 0.5 , 0.5 , 0.417518772314], [ 0.5 , 0. , 0.459270649546], [ 0. , 0. , 0.501022526777], [ 0.5 , 0.5 , 0.501022526777], [ 0. , 0.5 , 0.542603982879], [ 0.5 , 0.5 , 0.584185438981], [ 0.5 , 0. , 0.625766895083], [ 0. , 0. , 0.667348351185], [ 0. , 0.5 , 0.708929807287], [ 0.5 , 0.5 , 0.750511263389], [ 0.5 , 0. , 0.79209271949 ], [ 0. , 0. , 0.833674175593], [ 0. , 0.5 , 0.875255631694], [ 0.5 , 0.5 , 0.916837087796], [ 0.5 , 0. , 0.958418543898], [ 0. , 0. , 1. ]] # Set up configuration bulk_configuration = BulkConfiguration( bravais_lattice=lattice, elements=elements, fractional_coordinates=fractional_coordinates ) # Add tags bulk_configuration.addTags('Left Interface', [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]) bulk_configuration.addTags('Right Interface', [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29])
注意 可以从以下几篇教程中学习如何建立表面接触结构:
如何确定掺杂浓度?原则上我们可以用实验值。然而,我们必须对另一个量十分谨慎:耗尽层(译注:又称势垒区)宽度,经常用$W_D$ 表示,和半导体的屏蔽长度有关。 耗尽层宽度和以下几个因素有关:
针对金属半导体结,$W_D$ 的取值与掺杂浓度 $N$ 的关系由下图给出(参考文献:[BKasper 2005] pag. 119)
为了使模拟达到合理的目标,我们需要确保硅在中心区域的长度大于耗尽层的宽度。在这篇教程里,我们掺杂的浓度范围为$10^{19} cm^{-3}$到$10^{20} cm^{-3}$。这意味着硅的长度要达到30Å到100Å。我们可以通过将 Electrostatic Difference Potential 作图检查长度是否足够(后面会详细解释)。
注意 金属内的屏蔽长度远小于半导体,一般只需要几个原子层。因此,NiSi2的厚度可以远小于硅层的厚度。
在本教程中,我们将会使用一个较高浓度的掺杂。器件的输运性质与低浓度掺杂(如$10^{17} cm^{-3}$、$10^{18} cm^{-3}$)的性质完全不同。模拟一个低浓度掺杂的器件需要构建更长的器件。
把结构发送至 Script Generator 窗口后,我们接下来就需要设置计算参数了。
exchange_correlation = MGGA.TB09LDA(c=1.09368541059162)
注意 对c参数,我们是通过单点计算提前获取的。如果想了解更多相关内容以及如何获取c参数,可以参考这篇教程《MetaGGA和二维受限的砷化铟》。同时,我们也比较 LDA 和 MGGA 的能带图,如下图所示:
从图中可以看出,能带结构是非常接近的,但是MGGA的带隙更接近于实验值(1.17eV)。
3.修改输出文件名字为:device_undoped.nc
,并保存脚本为 device_undoped.py
. Script Generator 窗口显示如下:
4.发送脚本至Job Manager,并运行。这个计算调用 4 个进程,大概需要花费 2 个小时的时间。其中进程计算 DOS 大约需要 4 个小时。
计算 DOS 时需要花费大量的时间,尤其是采用较大的k点时。我们也可以先选取一个较小的 k 点,如 $15\times15$。我们也可以利用 Analysis from files,稍后计算 DOS。
1.在 Stash 面板,复制并粘贴器件结构,重命名为 ”n_doped_1e19”
2.用鼠标绘制出一个矩形,选中半导体原子
5.关闭 Doping 面板,把结构发送至 Script Generator 窗口。
6.设置相应的计算参数。
7.重复相同的步骤,掺杂一个$p$型半导体(浓度为 $10^{19}cm^{-3}$ 和 $10^{20}cm^{-3}$ )
计算完成,我们就可以分析计算出来的几组数据了。
静电势差(EDP)表征了价电子密度的静电势与原子价电子密度算术叠加的静电势的差异。(详情参看手册: ElectrostaticDifferencePotential)。通过分析沿c方向EDP的平均值,可以判定器件是否足够长——通过判断电位降是否分布在整个电极区域内。
从图中可以看出,未掺杂和掺杂浓度为 $10^{19}cm^{-3}$ 的器件长度明显不够(后面会详细计算掺杂浓度为 $10^{19}cm^{-3}$ 的更长器件)。通过分析 EDP,掺杂浓度为 $10^{20}cm^{-3}$ 的$p$型掺杂是唯一在电极扩展层处(靠近 c=1 的部分)显示出单调性的结果。界面位置大概位于 c=0.35 附近,尽管这已经足够说明硅原子和镍原子在这个坐标处结合,但是这个界面并不是一个无限薄的 2D 结构,而是一个有厚度的器件。
电子密度差(EDD)是自洽层电子密度和原子价电子层电子密度叠加的差异。 1.利用脚本(edp_macro_avg.py)绘制 EDD 的平均值。 2.在终端中输入以下命令:
atkpython edp_macro_avg.py file.nc
此处file.nc是包含器件计算的输出文件。
图2:未参杂器件(左)和n型掺杂器件(右)的EDD的宏观平均值
这两幅图表明界面偶极子的存在,尽管这个改变在掺杂半导体中非常小。
我们可以通过以下几个方面分析两种结构的电子密度的不同:
利用提供的脚本绘制n型半导体和未掺杂半导体的宏观平均差异。
ax.set_ylabel(r'EDD ($\AA^{-1}$)', fontsize=20)
修改为:
ax.set_ylabel(r'B1-A1 ($\AA^{-1}$)', fontsize=20)
atkpython edp_macro_avg.py new_grid.nc
这幅图绘制了n型掺杂(B1)和为掺杂(A1)器件,电子密度的不同。在半导体区域,B1-A1>0$e^{-}$$Å^{-}$,这是由于在n型半导体中,硅原子被掺杂了额外的电子。此外,在接触处,B1-A1的值增长,可以理解为由于掺杂界面偶极子发生了改变。
在这篇教程中,我们分析两种DOS。
将会得到下图: 横坐标为沿 c 方向中心区域的笛卡尔坐标。界面位于 27 Å。纵坐标为相对费米能的能量。颜色表征 DOS 的大小。 从图中可以明显看出:
从图中可以看出,由于掺杂,费米能级位于带隙的顶部。
利用DDOS可以分析制定到原子的态密度。
2D图表征了选中原子的DOS。从图中可以看出费米能级附近MIGS的存在。
从图中可以看到,靠近硅电极,MIGS区域消失,并且,电极结构出现了一个带隙,与硅晶体的带隙相似,其结果与Local DOS的结果相吻合。
在这一部分,我们将会计算n型掺杂($10^{19}cm^{-3}$)的IV特性曲线。正如我们提到的,掺杂的器件并不是足够长。因此,我们将会用一个100 Å长的器件进行计算。我们利用教程延长中心区域长度增长长度。也可以直接下载结构脚本 long_ndoped_e19_ivcurve.py。
这些参数设置的要点:
注意 每个计算都利用前一次结构自洽的结果,这将极大的提高收敛速度。
警告 能量范围对于计算IV曲线非常重要,详情见本教程的其他部分。
警告 K点的取值将会影响到电流!在本教程中,我们选择$13 \times 13$,使透射谱收敛,具体见本教程的相应部分。
两个重要参数将会影响透射的收敛:
从图中可以看出,k点选择$13\times13$时,电流就已经非常接近$25\times25$。
这是针对掺杂浓度为$10^{20}cm^{-3}$的n型掺杂的评估,对于浓度为$10^{19}cm^{-3}$的评估,需要另外计算。
等到 IV 曲线计算完了之后,我们可以在 LabFloor 面板处找看到。
谱电流由以下公式给出: $$I(E)=e/h[T(E,\mu_R,\mu_L)(f(E-\mu_R)/(k_BT_R)-f(E-\mu_L)/(k_BT_L))]$$ 这是综合给定偏压下的数据。这将很好地处理非零偏压下,估算谱电流透射谱所需的能量范围。可以参考手册TransmissionSpectrum查看ATK是如何计算电流的。
我们可以在图片任意位置右键导出数据,方便我们后期处理。
正如我们已经提到的,利用自洽结构文件(保存在ivcurve_selfconsistent_configurations.nc 文件中),可以对任意偏压的进行分析。在这部分,我们将会展示如何利用这个文件,并且如何设置脚本对一个结构进行额外的分析。
1.选择一个自洽结构,点开 General info。在面板中,我们可以看到自洽结构的数据。一旦确定需要的结构文件,我们就可以进行设置脚本了
2.转到 Script Genera 窗口,添加 Analysis from File 模块
3.双击 Analysis from File ,在弹出的窗口中插入 NC 文件,和自洽结构的 Object ID。
4.添加所要分析的模块,并设置相应参数。发送脚本至 Job Manager。
这里我们将会展示如何利用自洽结构文件,计算不同偏压下的 EDP。
1.利用 General info 确认需要的自洽结构文件。
2.利用提供的脚本(loop.py),分析多个自洽结构。在脚本里 id_list 输入需要计算的自洽结构的 Object IDs。
id_list = [ 'ivcurve000', 'ivcurve001', 'ivcurve002', 'ivcurve003', 'ivcurve004', 'ivcurve005', ] for id_item in id_list: # Read the DeviceConfiguration configuration = nlread('ivcurve_selfconsistent_configurations.nc', object_id="%s" %id_item)[0] # ------------------------------------------------------------- # Electrostatic Difference Potential # ------------------------------------------------------------- electrostatic_difference_potential = ElectrostaticDifferencePotential(configuration) nlsave('analysis.nc', electrostatic_difference_potential)
3.发送脚本至Job Manager,并运行计算。
在这一部分,我们将会分析几个不同偏压下的 EDP 和 -0.3V 与 0.3V 下的 LDOS。我们可以模仿上面介绍的步骤进行计算,同时也可以下载脚本:l_ndoped_e19_EDP.py,l_ndoped_e19_DDOS.py。 得到的电流曲线可以分为两个区域:“Forward Bias”($V_{bias}>0V$)以及“Reverse Bias” ($V_{bias}<0V$)。
从图中可以看出,反向偏压电流低于正向偏压电流。这可以利用 LDOS 进行解释。
在反向偏压条件下,左电极的化学势高于右电极的化学势。因此,此处将会有一个从左电极到右电极的电子净流动,导致反向电流。但是由于阻挡层的存在,电子在界面交界处必须越过一个势垒,因此电流非常低。 接下来我们计算了 0.3V 下的 LDOS。 在正向偏压条件下,我们可以看出右电极的化学势要高于左电极。因此,此处将会有一个从右电极到左电极的电子净流动,导致正向电流。然而,在不同于反向偏压,此处电子不需要越过任何势垒,因此电流比较高。
最后,在下图中,我们计算了不同偏压下,较长n型掺杂器件沿C方向的EDP: 发现偏压同样也影响了EDP和阻挡层的宽度。
在上图中,EDP与$(\mu_L+\mu_R)/2$有关,这是在计算中默认的定义。为了更直观,我们需要绘制一个和$\mu_L$相关的EDP。