用户工具

站点工具


atk:迁移率

差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
atk:迁移率 [2018/05/09 16:04] – [E-相关方法] fermiatk:迁移率 [2018/05/10 15:15] (当前版本) – [载流子迁移率] fermi
行 1: 行 1:
 ====== 载流子迁移率 ====== ====== 载流子迁移率 ======
  
-**关键词:迁移率,电声耦合(电子-声子相互作用),温度相关载流子输运性质,电导率(conductivity),畸变势(deformation potential)**+**关键词:迁移率,电声耦合(电子-声子相互作用),温度相关载流子输运性质,电导率(conductivity)**
  
-在本教程中,我们将介绍如何计算石墨烯(graphene)中的声子限制的电子迁移率。结合电子态和玻尔兹曼输运方程,同时考虑声子模式与电子-声子相互作用,使用 DFT 方法计算电子迁移率。我们将使用 **QuantumATK** 新版中提供的分析模块 **ElectronPhononCoupling**,**DeformationPotential** 和 **Mobility** 功能来完成。+在本教程中,我们将介绍如何计算石墨烯(graphene)中的声子限制的电子迁移率。结合电子态和玻尔兹曼输运方程,同时考虑声子模式与电子-声子相互作用,使用 DFT 方法计算电子迁移率。我们将使用 **QuantumATK** 新版中提供的分析模块 **ElectronPhononCoupling** 和 **Mobility** 功能来完成。
  
 计算迁移率 $\mu$ 的关键是计算电子的弛豫时间 $\tau$。弛豫时间有两种计算方法: 计算迁移率 $\mu$ 的关键是计算电子的弛豫时间 $\tau$。弛豫时间有两种计算方法:
  
-  - 全角度(k,q)-相关:这种方法完整的考虑 $\tau$ 对电子和声子的波矢 $\mathbf{k}$ 和 $\mathbf{q}$ 的相关,即 $\tau=\tau(\mathbf{k},\mathbf{q})$。下面称为**(k,q)-相关方法**。 +  - 全角度(k,q)-相关:这种方法完整的考虑 $\tau$ 对电子和声子的波矢 $\mathbf{k}$ 和 $\mathbf{q}$ 的相关,即 $\tau=\tau(\mathbf{k},\mathbf{q})$。下面称为 **(k,q)-相关方法**。 
-  - 各向同性散射:这种方法仅考虑能量有关的 $\tau=\tau(E)$,假定 $\tau(E)$ 在动量空间中的变化是各向同性的。下面称为**E-相关方法**。+  - 各向同性散射:这种方法仅考虑能量有关的 $\tau=\tau(E)$,假定 $\tau(E)$ 在动量空间中的变化是各向同性的。下面称为 **E-相关方法**。
  
 下面的计算表明,两种方法得到的结果相差无几,但是第二种方法比第一种方法计算速度大大提高。 下面的计算表明,两种方法得到的结果相差无几,但是第二种方法比第一种方法计算速度大大提高。
行 292: 行 292:
 === 迁移率 === === 迁移率 ===
  
 +现在我们可以用两步计算来得到基于能量相关的弛豫时间$\tau(E)$的室温下的迁移率$\mu$。
  
 +  * 第一步,计算从K-点向外、沿着线段的$\mathrm{k}$- 和$\mathrm{q}$-相关的弛豫时间$\tau(\mathrm{k},\mathrm{q})$;
 +  * 第二步,将$\tau(\mathrm{k},\mathrm{q})$对$\mathrm{k}$-空间进行平均,得到$\tau(E)$,用于计算迁移率$\mu$。
  
 +单击**Script Generator**,添加以下计算单元:
 +  * Analysis from File
 +  * Analysis -> Mobility
  
 +打开Analysis from File,选择文件''Graphene_relax.hdf5'',加载Object Id为‘//BulkConfiguration_1//’的BulkConfiguration。
  
-===== 形变势计算 =====+另外有三个计算单元自动添加: 
 +  * Analysis -> DynamicalMatrix 
 +  * Analysis -> HamiltonianDerivatives 
 +  * Analysis -> ElectronPhononCoupling
  
-在,我们得到计算电子-声子耦合性质的要素:1)动力学矩阵;2)哈密顿量微分。首先我们在倒空间沿特定方向拟合形变势然后在 q 网格中计算电子-声子耦合,及声学声子极限的迁移率。+此例中这三个数据都计算过了因此可以其删除,选择从相应的文件读取添加三个‘Analysis from File’按如排序:
  
-首先,为得到声学模的形变势,我们考虑电子-声子耦合矩阵元随q的变化关系,$|M_{\mathbf{k},\mathbf{q}}^\lambda|$,操作如下: +{{ :atk:mobility_script_generator_mobility_e.png?direct&600 |}}
-  * 打开 LabFloor 中的 graphene_relax.nc 文件,发送弛豫后的原子结构文件(gID001)到脚本生成器 Script generator。 +
-  * 添加分析器Analysis -> DeformationPotential,+
  
-当添加 DeformationPotential 模块DynamicalMatrix 和 HamiltonianDerivatives 将被自动添到脚本生成器,得到如下: +单击第二个‘Analysis from File’,选择''Graphene_dynmat.hdf5'',加载文件的DynamicalMatrix数据。
-{{ :atk:add_deformation_potential.png?300 |}}+
  
-查看计算器 Calculator 中 k-point 取 (7,7,1)而不是计算动力学矩阵和哈密顿量微分时使用的 k 点 (1,1,1)+单击第三个‘Analysis from File’选择''Graphene_dHdR.hdf5'',加载文件中HamiltonianDerivatives 数据
  
-现在打开 DeformationPotential首先设置电子初态的 k-point,设置如下: +单击第四个‘Analysis from File’选择''Graphene_eph-line.hdf5''加载文件中的 ElectronPhononCoupling 数据
-  * 初始设置k-point = K在K点(狄拉克点,Dirac point)右侧,导带和价带简并 +
-  * 设置 k-point = Other(Fractional) +
-  * 设置 a = b = 0.33334+
  
-K点右侧价带(valence band, VB)和导带(conduction band, CB)简并。这表明任何两个态的线性组合都是电子本征态。由于价带和导带有不同的对称性,他们耦合为不同的声子。波矢稍稍偏离 K 点时,我们假为纯价带和纯导带。+最后单击打开 Mobility按如下图置参数:
  
-下面,需要指定考虑的声子 q 点值。大多情况下,我们对决定形变势和迁移率的小$|q|$值感兴趣。我们可以通过由一个初始 q 点和方向矢量来确定一条线上的 q 点值。初始 q 点和方向矢量由分数坐标给出。我们可以选取布里渊区的一个路径。使用前面的参数: +  Mobility 
-  保持 First point 为 $\Gamma$ 点 +    Method 选择 Full angular(k,q)-dependence 
-  设置方向矢量:a, b, c = (0.10, 0+    Fermi Shift 选择 0.13 eV 
-  设置每段的 q 点数:20 +    不勾选 Calculate Hall coefficients
-  设置电子能带:3,4+
  
-{{ :atk:deformationpotential2.png?300 |}} +{{ :atk:mobility_mobility_2a.png?direct&600 |}}
-再增加一个 DeformationPotential 对象,其他参数一样,除 +
-  * 方向矢量:a, b, c = (0.1, 0.1, 0) +
-{{ :atk:deformationpotential3.png?300 |}} +
-  * 设置默认输出文件名 Default output file: graphene.nc+
  
-由于我们已计算了动力学矩阵和哈密顿量微分不必再重新计算直接从文件读取数据即可。发送脚本编辑器 Editor并替换 Dynamical Matrix 和 Hamiltonian Derivatives 部分如下:+在**Script Generator**主窗口中将Default output file设为 ''Graphene_mu_line_full.hdf5''脚本发送到**Job Manager**保存输入文件为''Graphene_mu_line_full.py'',单击开始按钮完成计算。
  
-<code python> +计算结束后,就可以使用各向同性方法计算迁移率了。在本例中,我们使用前面计算得到的''Graphene_relax.hdf5''和''Graphene_mu_line_full.hdf5''中的bulk configuration 结果和 (k,q)-相关迁移率。
-# ------------------------------------------------------------- +
-# Dynamical matrix +
-# ------------------------------------------------------------- +
-dynamical_matrix = nlread('graphene.nc', DynamicalMatrix)[0]+
  
-# ------------------------------------------------------------+单击打开**Script Generator**,添加: 
-# Hamiltonian derivatives +  * Analysis from File 
-# ------------------------------------------------------------+    * 选择''Graphene_relax.hdf5''中Object Id为//BulkConfiguration_1//的数据; 
-hamiltonian_derivatives nlread('graphene.nc', HamiltonianDerivatives)[0] +  * Analysis -> Mobility 
-</code>+    * Method 选择 //Isotropic scattering rate// 
 +    * Fermi Shift 设为 0.13 eV 
 +    * 不勾选 Calculate Hall effecients 
 +    * 设置Energy Range: 
 +      * E0=-0.24eV 
 +      * E1=0.24eV 
 +      * Points=100 
 +    * k-point sampling设为 99x99x1
  
-发送计算任务至任务管理器 Job manager 并运行计算任务。任务耗时几分钟完成。+{{ :atk:mobility_mobility_2b.png?direct&600 |}}
  
-==== 形变势分析 ====+在 **Script Generator** 主面板中将 **Default output file** 设为 ''Graphene_mu-line-iso.hdf5'',将脚本发送至 **Editor**。
  
-计算完成后使用 Deformation Potential Analyzer 分析器可视化 **LabFloor** 中的计算结果文件 graphene.nc。两张图分别显示了所选模式的声子能量随 $|q|$(上图)和电子-声子耦合矩阵元随 $|q|$(下图)的变化规律。图的下部显示有一些分析选项。可以选择如下: +在 **Editor** 脚本读入全(k,q)-相关的迁移率数据,并修改mobility的计算: 
-  * 初始和最终电子能带的指标 +
-  * 声子模式 +
-  * 耦合矩阵类型unscaled 或 scaled +
-  * 线性拟合区间 +
- +
-在 //Fitting output// 下方显示线性拟合结果,零阶、一阶形变势,以及线性拟合的质量。 +
-{{ :atk:deformation_potential_explained.png?500 |}} +
- +
-试着变不同的电子能带、声子模式、拟合区间看看有什么变化。对比各 DeformationPotential 对象,q 取沿 (00, 0)→(0.1, 0.1, 0)方向。分析计算数据,得到如下结论: +
-  * 平面外声子模式(0)与电子价带(3)、导带(4)均不耦合。 +
-  * 在小 q 值处,声子模式 1 和 2(LA 和 TA)呈线性规律,表示一阶形变势模型的准确性。但是,拟合形变势值取决于特定的 q 方向。简化形变势近似中,假设球对称性,并由 q 决定,因此,应使用合适平均形变势值。 +
-  * 尽管应考虑更多的方向来得到精确的期望值,TA 和 LA 声子模式的一阶形变势值仍在 2-5eV 区间内。 +
-  * LO 和 TO 光学模式(4,5)接近常数,用零阶形变势模型描述基本正确。 +
- +
-<WRAP center round info 100%> +
-**注意** +
-有些情况下,可能会有“有趣”的声子能量或耦合矩阵跳跃。这通常是由于声子能带排序造成的。我们按照能量对声子模式进行排序。例如,LO 和 TO模式多次交叉,有时 LO 模式的指标是 4,有时该模式的指标是 5。这些跳跃和交叉可以通过绘制“所有”声子模式得到印证。 +
-</WRAP> +
- +
-为更精确研究形变势随角度的变化,尝试下面的步骤: +
-  * 退回到前面计算形变势的 python 脚本 +
-  * 删除最后的 DeformationPotential 模块 +
-  * 修改脚本中的 Deformation 部分的程序行,将下面的程序语句+
  
 <code python> <code python>
-# ------------------------------------------------------------- + # ------------------------------------------------------------- 
-Deformation potential + # Analysis from File 
-# ------------------------------------------------------------- + # ------------------------------------------------------------- 
-q_0 numpy.array([0, 0, 0]) + path u'Graphene_relax.hdf5' 
-q_direction numpy.array([0.10, 0]) + configuration nlread(pathobject_id='BulkConfiguration_1')[0]
-points_per_segment = 20 +
-q_path = [list(q_0 + s*q_direction) for s in numpy.linspace(0, 1, points_per_segment)] +
-</code>+
  
-替换为:+ # 增加这一段 
 + # ------------------------------------------------------------- 
 + # Mobility 
 + # ------------------------------------------------------------- 
 + mobility_full = nlread('Graphene_mu-line-full.hdf5', Mobility)[-1]
  
-<code python> + # ------------------------------------------------------------- 
-# ------------------------------------------------------------- + # Mobility 
-Deformation potential + # ------------------------------------------------------------- 
-# ------------------------------------------------------------- + kpoint_grid = MonkhorstPackGrid( 
-# Load function to convert from cartesian to fractional coordinates. +     na=99, 
-from NL.CommonConcepts.Configurations.Utilities import cartesian2fractional+     nb=99, 
 +     )
  
-# Radius of circlein units of Ang^-1. + mobility = Mobility( 
-q_norm 0.01 +     configuration=configuration
-thetas = numpy.linspace(0,numpy.pi*2,60) +     method=Isotropic, 
- +     energies=numpy.linspace(-0.240.24, 100)*eV
-# Setup list of cartesian q-points in a circle. +     inverse_relaxation_time=numpy.linspace(01e+12100)*Second**-1, 
-q_circle_cartesian [[q_norm*numpy.cos(t)q_norm*numpy.sin(t)0] for t in thetas]*Ang**-1 +     mobility_object=None, 
- +     electron_bands=[3,4],    修改这一行 
-Get the reciprocal lattice vectors. +     kpoints=kpoint_grid, 
-reciprocal_vectors bulk_configuration.bravaisLattice().reciprocalVectors() +     temperature=300*Kelvin, 
- +     fermi_shift=0.13*eV, 
-# Convert q-point to fractional+     energy_broadening=0.003*eV, 
-q_path cartesian2fractional(q_circle_cartesianreciprocal_vectors)+     calculate_hall_coefficients=False, 
 +     ) 
 + nlsave('Graphene_mu-line-iso.hdf5'mobility)
 </code> </code>
 + 
 +将脚本发送至 **Job Manager**,保存 ''Graphene_mu-line-iso.hdf5'',选择 **Mobility**,点击 **Text Representation**。
  
-首先设置笛卡尔坐标系下圆形的一系列 q 点,然后转化为 q 点的分数坐标。运行脚本,查看 DeformationPotential 对象,如下图所示为初始能带和最终能带均为 4,声子模指标为 2(LA 模)的情况。电子-声子耦合矩阵元显示出明显的震荡。平均值接近 0.04 eV/Å。由于 q 圆的半径为0.01 $Å^{-1}$,一阶形变势平均值 $D^{(1)}$ 为 4eV,与文献 [KTJ12b] 报道一致。 +<code> 
- + +------------------------------------------------------------------------------+ 
-{{ :atk:deformationpotential_analyzer_circle.png?400 |}} + | Mobility Report                                                              | 
- + ---------------------------------------------------------------------------- | 
-==== 电子-声子耦合 ==== + | Input parameters:                                                            | 
-DeformationPotential对象中包含了计算迁移率所需的一些信息,即电子-声子耦合项。但是,为计算弛豫时间和迁移率,我们需要知道初始 k 值构成的有限 q 网格下的耦合项。这是由 ATK 中 ElectronPhononCoupling 分析对象处理的。 +     Temperature       300.00 K                                             | 
- +     Fermi level shift = 0.13 eV                                              | 
-下面将使用两个 ElectronPhononCoupling 对象。首先,计算 k 空间中完整 q 网格下沿一条线上的耦合元,用来分析 ($q_x$, $q_y$) 点的耦合矩阵元,及特定能量和温度下的弛豫时间的计算。操作如下: + |     Energy broadening = 0.0030 eV                                            | 
-  * 打开 LabFloor 中的 ''graphene_relax.nc'' 文件,发送弛豫后的原子结构文件(gID001)到脚本生成器 Script generator。 +     q-grid refinement = 1                                                    | 
-  * 添加分析器 Analysis -> ElectronPhononCoupling +                                                                              | 
- + +------------------------------------------------------------------------------+ 
-<WRAP center round info 100%> + | Trace of linear responce tensors:                                            | 
-=== 注意 === + +------------------------------------------------------------------------------+ 
-与添加DeformationPotential对象一样,添加ElectronPhononCoupling对象时,DynamicalMatrix和HamiltonianDerivatives将被自动添加。 + |                                                                              | 
-</WRAP> + | Electrons:                                                                   | 
- +                                                                              | 
-我们要计算 Δ 连线(由原点至 K 点)上 k 点的电子-声子耦合。笛卡尔坐标系中,K 点坐标为(1.69044, 0, 0),可以由电子能带结构Bandstructure 对象中得到该信息,即在 LabFloor 中点击 Text Representation。现在,打开 ElectronPhononCoupling 对象,设置如下: +     Mobility                  2.58e+05 cm^2/(V*s)                          | 
-  * 自定义 k 网格,k grid = Custom(Cartesian) +     Conductivity              1.79e+07 S/m                                 | 
-  * 自定义 q 网格,q grid = Custom(Cartesian) +     Seebeck coefficient      =  7.91e-05 V/K                                 | 
-  * 电子能带,Electron bands = 3, 4 +     Thermal conductivity      1.16e+02 W/(m*K)                             | 
-  * 声子模式,Phonon modes = 1, 2(我们仅关注声学模) +     Carrier density (2Dxy=  8.63e+11 cm^-2                               | 
- +                                                                              | 
-{{ :atk:epc_k_line.png?300 |}} +                                                                              | 
- + | Holes:                                                                       | 
-运行计算前,发送脚本至编辑器 Editor,用下面的程序语句替换动力学矩阵和哈密顿量微分部分的语句: +                                                                              | 
-<code python> +     Mobility                  1.68e+06 cm^2/(V*s)                          | 
-------------------------------------------------------------- +     Conductivity              4.94e+04 S/m                                 | 
-# Dynamical matrix +     Seebeck coefficient      = -1.25e-03 V/K                                 | 
-------------------------------------------------------------- +     Thermal conductivity      5.98e+00 W/(m*K)                             | 
-dynamical_matrix nlread('graphene.nc', DynamicalMatrix)[0] +     Carrier density (2D, xy) =  3.66e+08 cm^-2                               | 
-------------------------------------------------------------- +                                                                              | 
-# Hamiltonian derivatives + +------------------------------------------------------------------------------+
-------------------------------------------------------------- +
-hamiltonian_derivatives nlread('graphene.nc'HamiltonianDerivatives)[0]+
 </code> </code>
  
-运行计算注意:+计算得到的迁移率为 $2.58 \cdot 10^{5}\ \mathrm{cm^{2} V^{-1} s^{-1}}$与(k,q)-相关方法得到结果完全一致。
  
-<WRAP center round info 100%> +==== 迁移率与温度的关系:(k,q)-相关方法和能量相关方法的结果 ====
-=== 注意 === +
-我们将计算非常多(q,k)点上的电子-声子耦合,每个计算不需要很多内存,因此这个任务非常适合并行运行。128MPI 核运行需约 10 分钟,但若单核运算将耗费很长时间。 +
-</WRAP>+
  
-计算结束后,使用Electron-Phonon Coupling Analyzer分析器可视化结果。显示如下图窗口:+对能量相关方法更严格的测试是计算迁移率在室温范围对温度依赖关系。
  
-{{ :atk:epc_analyzer_explained.png?500 |}}+  * 在(k,q)-相关方法里,只需要修改‘Mobility’里的target temperature即可。 
 +  * 在能量相关方法里,计算的两步(线段上的k,q-相关弛豫时间和能量相关的弛豫时间)都需要在设定的温度下重复计算。
  
-电子-声子耦合分析工具提供了丰富的信息,在工具窗口左侧你可以设置一些输入的参数用于作图: +下图可以出,在 $100 \mathrm{K} \leq T \leq 300 \mathrm{K}$ 范围里,两种方法计算的迁移率对温度的依赖关系都比较好再现了$1/T$特性
-  * Electron-Phonon Coupling Analyzer 分析器包含很多信息。窗口左侧设置绘制图的输入参数: +
-  * Initial k-point 和 Initial band 指标。“Initial State Properties” 栏显示了对应 k 点和能量。 +
-  * Final band,决定您是否考虑了能带内或能带间散射。 +
-  * Phonon mode,声子模式指标。 +
-  * Coupling matrix,可设置为 “scaled”或“unscaled”, 与 Deformation Potential 中的定义一样,参见上文。 +
-  * Energy broadening,此参数决定了绘窗口中$\delta$-函数的展宽。$\delta$-函数在程序中用 Lorentzian 函数 $\delta(E)\approx \frac{1}{2\pi}\frac{\Gamma}{\Gamma^2 + E^2}$。能量展宽决定了 $\Gamma$ 的值。取较小的能量展宽,将会得到较窄的$\delta$-函数。q 网格优化的设置限制了能够取多小的值。 +
-  * 最后,通过 Refinement 参数设置优化 q 点网格。因此,如果最初进行了 (20, 20, 1) q 网格的计算,通过设置 Refinement = 2 可以得到 (40, 40, 1) q 网格。所有与 q 有关的性质,在新的 q 网格中可以线性插值得到。增加 Refinement 可以使您选择更小的能量展宽值。 +
-<WRAP center round info 100%> +
-=== 注意 === +
-优化参数和能量展宽是计算迁移率的输入参数。 +
-</WRAP> +
- +
-Electron-Phonon Coupling Analyzer 中作图的所有物理量均以 $q_x$ 和 $q_y$ 为自变量。上面一行画声子能量(左图)吸收声子的终态电子能量 $E_{k+q}$(中图),产生声子的终态电子能量 $E_{k-q}$(中图)。下面一行画出电子-声子耦合矩阵元(左图),吸收(中图)和发射(右图)声子的能量守恒 $\delta$-函数。 +
- +
-尝试调整绘图参数查看作图。 +
- +
-开始迁移率计算之前,我们需要查看 Electron-Phonon Coupling Analyzer 中的: +
-  * q-区间选取是否足够大?$\delta$-函数图中的环应被完全覆盖,而不是仅显示部分环。否则将不能覆盖散射相关的q区间。需要注意的是,通过改变初态的k指标,我们可以改变$\delta$-函数图中环的大小和形状。这是因为石墨烯布里渊区狄拉克点(Dirac cones)相应的发生移动。 +
-  * q 网格采样是否足够完备?鉴于计算迁移率时使用的温度(见下图),能量展宽通常应满足 $\Gamma < k_BT$。低温下,需要设置小的能量展宽和完备的 q 采样。无需重新计算电子-声子耦合,这个工作可以通过增加优化系数得到。 +
- +
-==== 弛豫时间倒数 ==== +
- +
-在计算实际迁移率之前,我们需要使用 Mobility 对象分析导带的弛豫时间 $\tau_{k,n}$随 $k$ 的变化关系。这在像石墨烯这样的二维材料中具有特别有趣的性质。根据 Bloch-Gruneisen 定理,由于相空间中的反向散射的减弱,弛豫时间在费米能级处显著增加。 +
-  * 打开 LabFloor 中的 graphene_relax.nc 文件,发送弛豫后的原子结构文件(gID001)到脚本生成器 Script generator。 +
-  * 添加分析器 Analysis -> Mobility +
- +
-打开 Mobility 对象,按照下图设置参数: +
- +
-{{ :atk:mobility.png?400 |}} +
- +
-发送脚本到编辑器 Editor 中,删除上面 Mobility 部分的全部语句。这是由于使用已计算完成的数据,这部分就不需要了。添加下面的语句。 +
- +
-<code python> +
-bulk_configuration = nlread('graphene.nc', BulkConfiguration)[1] +
-electron_phonon_coupling = nlread('graphene.nc', ElectronPhononCoupling)[0] +
- +
-# ------------------------------------------------------------- +
-# Mobility +
-# ------------------------------------------------------------- +
-mobility = Mobility( +
-    configuration=bulk_configuration, +
-    electron_phonon_coupling=electron_phonon_coupling, +
-    temperature=10*Kelvin, +
-    phonon_modes=[1], +
-    fermi_shift=0.15*eV, +
-    energy_broadening=0.003*eV, +
-    refinement=15, +
-    ) +
-nlsave('graphene_mobility.nc', mobility) +
-</code> +
- +
-计算大约耗时 10-20 分钟。如此长的计算时间,是由于为精确描述低温下的情况,需要密的优化网格。迁移率计算完成后,使用下面的脚本可视化弛豫时间倒数随能量的变化。 +
- +
-<code python> +
-import pylab as pl +
- +
-mobility = nlread('graphene_mobility.nc', Mobility)[0] +
- +
-# The phonon mode that should be considered. +
-mode = 1 +
- +
-# Get the inverse life time in ns^-1 +
-gamma = mobility.inverseLifeTime().inUnitsOf(Second**-1)*1e-9 +
- +
-# Get the Fermi shift +
-fermi_shift = mobility.fermiShift() +
- +
-# Get the eigenvalues at k. +
-e_k = mobility.eigenvaluesK().inUnitsOf(eV) +
- +
-# Get Fermi level +
-Ef = mobility._fermiLevel().inUnitsOf(eV) +
- +
-# Spin index +
-i_spin = 0 +
- +
-# Bloch state index. The electron-phonon coupling was calculated for bands 3 and 4. We look at 4, which has index 1. +
-i_bloch = 1 +
- +
-pl.figure(1) +
-pl.plot((e_k[i_spin, :, i_bloch] - Ef)/fermi_shift.inUnitsOf(eV), gamma[i_spin, mode, :, i_bloch], 'o-'+
-pl.xlabel('$\epsilon/\epsilon_F$', fontsize=14) +
-pl.ylabel('Inverse Life Time  (ns$^{-1})$', fontsize=14) +
-pl.legend(loc=0) +
-pl.xlim([0, 1.7]) +
-pl.show() +
-</code> +
-{{ :atk:inverse_life_time.png?500 |}} +
- +
-图中弛豫时间倒数的下降(低散射率)对应费米能级处电子态满足 Bloch-Gruneisen 定理。二维系统中,低温下反向散射在相空间中被抑制,散射几率降低。这一效应的理论研究以前在其他二维电子气异质结[KS92]和类石墨烯材料[GMSB16], [HS08], [KTJ12], [KTJ12b]中也曾报道过。 +
- +
-==== 迁移率 ==== +
-为了计算迁移率,需要在石墨烯狄拉克点 $K$ 附近进行 k 点采样,因此,需要建立一个新的 ElectronPhononCoupling 对象。操作如下: +
-  * 打开 LabFloor 中的 graphene_relax.nc 文件,发送弛豫后的原子结构文件(gID001)到脚本生成器 Script generator。 +
-  * 添加分析器 Analysis -> ElectronPhononCoupling +
- +
-<WRAP center round info 100%> +
-=== 注意 === +
-与前面一样,添加ElectronPhononCoupling对象时,DynamicalMatrix和HamiltonianDerivatives对象将被自动添加进来。 +
-</WRAP> +
- +
-打开ElectronPhononCoupling对象,设置如下图的参数: +
- +
-{{ :atk:electron_phonon_fine.png?300 |}} +
- +
-运行计算前,将脚本发送至编辑器 Editor,用下面的语句替换 Dynamical Matrix 和 Hamiltonian Derivatives 段: +
- +
-<code python> +
-# ------------------------------------------------------------- +
-# Dynamical matrix +
-# ------------------------------------------------------------- +
-dynamical_matrix = nlread('graphene.nc', DynamicalMatrix)[0] +
- +
-# ------------------------------------------------------------- +
-# Hamiltonian derivatives +
-# ------------------------------------------------------------- +
-hamiltonian_derivatives = nlread('graphene.nc', HamiltonianDerivatives)[0] +
-</code> +
- +
-8 MPI 进程并行计算大约需要 2 小时完成计算任务。 +
- +
-<WRAP center round info 100%> +
-=== 注意 === +
-正方形网格k和q点采样时,在比较大k空间区域考虑了非常多的k点,因此计算会非常耗时。取$20 \times 20$ k点和 $20 \times 20 $ q 点(即 $20^4=1.6 \times 10^5$ 个k或q点)时 8 核 MPI 并行运算大约耗时 2 小时。 +
- +
-增加 k 和 q 点采样为 $40 \times 40$ 网格($2.56 \times 10^6$ 个 k 或 q 点)时 8 MPI 并行运算大约耗时 1 天半。k 点的选取窗口对应能量的窗口在费米能级附近的 -0.15eV ~ 0.15eV 间,参见前面能带计算结果。 +
- +
-如果要计算能量窗口以外的迁移率,需要增加额外的 k 点,也耗费更多的计算时间。 +
- +
-此外,要计算低能量电子的迁移率,需要缩小k点的选取窗口,以便节省计算时间和确保足够高的网格密度。 +
-</WRAP> +
- +
-计算完成后,按照下面步骤操作: +
-  * 打开 LabFloor 中的 graphene_relax.nc 文件,发送弛豫后的原子结构文件(gID001)到脚本生成器 Script generator。 +
-  * 添加分析器 Analysis -> Mobility +
- +
-<WRAP center round info 100%> +
-=== 注意 === +
-添加 Mobility 对象时,DynamicalMatrix,HamiltonianDerivatives 和 EelctronPhononCoupling 对象将被自动添加进来。 +
-</WRAP> +
-打开 Mobility 对象,按照下图设置参数: +
-{{ :atk:mobility_window.png?500 |}+
- +
-<WRAP center round info 100%> +
-=== 注意 === +
-载流子浓度 $n \approx 10^{12} cm^{-2}$ 时费米移动 0.13eV。 +
-</WRAP> +
- +
-发送脚本至编辑器删除上面的 Mobility 语句,并添加下面脚本中前行(剩下的部分是迁移率对象,与脚本中一致)。 +
-<code python> +
-bulk_configuration = nlread('graphene.nc', BulkConfiguration)[1] +
-electron_phonon_coupling = nlread('graphene.nc', ElectronPhononCoupling)[1] +
-# ------------------------------------------------------------- +
-# Mobility +
-# ------------------------------------------------------------- +
-mobility = Mobility( +
-            configuration=bulk_configuration, +
-            electron_phonon_coupling=electron_phonon_coupling, +
-            temperature=300*Kelvin, +
-            phonon_modes=All, +
-            fermi_shift=0.13*eV, +
-            energy_broadening=0.003*eV, +
-            refinement=1, +
-            ) +
-nlsave('graphene.nc', mobility) +
-</code> +
- +
-计算约耗时几秒钟。 +
- +
-计算完成后,打开 LabFloor 中的 ''graphene.nc'' 文件,找到迁移率对象,点击 Text Information 按钮。计算得到的电子迁移率$\approx 2 \times 10^5 cm^2/Vs$ 与文献报道的室温下电子迁移率 $n \approx 1 \times 10^{12} cm^{-2}$ 结果一致[KTJ12b]。 +
-为得到石墨烯形变势的值,可以由 DFT 方法计算迁移率随温度的变化,然后通过($\ref{7}$)式拟合得到。迁移率计算完成后,迁移率随温度变化关系的简单计算脚本如下: +
-<file python plot_mu_t.py> +
-# Load packages +
-from pylab import * +
-from scipy.optimize import curve_fit +
- +
-# Read in the relaxed structure and the electron-phonon coupling +
-bulk_configuration = nlread('graphene_relax.nc', BulkConfiguration)[-1+
-electron_phonon_coupling = nlread('graphene.nc', ElectronPhononCoupling)[-1] +
- +
-# Define parameters for graphene +
-fermi_velocity = 1e6*Meter*Second**(-1) +
-sound_velocity = 14.1*1e3*Meter*Second**(-1) +
-mass_density = 7.6*1e-7*kiloGram*Meter**(-2) +
-fermi_shift = 130*meV +
-carrier_concentration = (130.0/11.65)**2*1e14*Meter**(-2) +
- +
-# Analytical mobility as a function of temperature, see Eq. (7) +
-def f(temperature, D): +
-    """ +
-    temperature: The temperature of the system with units of Kelvin. +
-    D          : The deformation potential. No unit, but values in eV. +
-    """ +
-    mobility = 4*elementary_charge*hbar*mass_density*fermi_velocity**2*sound_velocity**2 / \ +
-    (numpy.pi*carrier_concentration*boltzmann_constant*(temperature*Kelvin)*(D*eV)**2) +
-    # Return mobility in units of cm^2/Vs +
-    return mobility.inUnitsOf(Meter**2/(Volt*Second))*1e4 +
- +
-# Loop over temperatures and calculate the mobility +
-Ts = numpy.linspace(100.0, 300.0, 10) +
-mu_list = [] +
-for in Ts: +
-    temp=T*Kelvin +
-    # ------------------------------------------------------------- +
-    # Mobility +
-    # ------------------------------------------------------------- +
-    mobility = Mobility( +
-        configuration=bulk_configuration, +
-        electron_phonon_coupling=electron_phonon_coupling, +
-        temperature=temp, +
-        phonon_modes=[1], +
-        fermi_shift=fermi_shift, +
-        energy_broadening=0.003*eV, +
-        refinement=1, +
-        ) +
-    mu_h,mu_e=mobility.evaluate() +
-    mu_list.append(mu_e.inUnitsOf(Meter**2/(Volt*Second))*1e4) +
- +
-# Plot the data +
-plot(Ts,mu_list,'-o'+
- +
-# Fit the data +
-D,tmp = curve_fit(f,Ts, mu_list) +
- +
-# Plot the fit +
-plot(Ts,f(Ts,D[0]),label='Deformation Potential = %.2f eV'%D[0]) +
-legend(loc=0) +
-ylabel('Mobility [cm^2/(V*s)]'+
-xlabel('Temperature [K]'+
-show() +
-</file> +
- +
-<WRAP center round info 100%> +
-=== 注意 === +
-由于解析式中仅考虑了单个有效声子模式,因此此拟合中我们仅考虑了 TA 石墨烯模式的贡献参数来自文献中的解析模型[KTJ12b]。 +
-</WRAP>+
  
-{{ :atk:mu_vs_t.png?400 |}}+{{ :atk:mobility_mu_vs_t.png?direct&600 |}}
  
-拟合结果中明显可以看到迁移率与温度的反比 (~1/T) 的关系,与($\ref{7}$)式符合很好。计算得到的形变势 8.8eV 比已报道的结果略小[KTJ12b]。 
  
 ===== 理论知识 ===== ===== 理论知识 =====
行 776: 行 520:
   * [KS92] T Kawamura and S Das Sarma. Phonon-scattering-limited electron mobilities in al x ga 1- x as/gaas heterojunctions. Physical review B, 45(7):3612, 1992.   * [KS92] T Kawamura and S Das Sarma. Phonon-scattering-limited electron mobilities in al x ga 1- x as/gaas heterojunctions. Physical review B, 45(7):3612, 1992.
  
-(本文翻译:朱元慧)+
atk/迁移率.txt · 最后更改: 2018/05/10 15:15 由 fermi

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