用户工具

站点工具


atk:迁移率

差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
atk:迁移率 [2018/05/09 15:40] – [(k,q)-相关方法] 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-相关方法**。
  
 下面的计算表明,两种方法得到的结果相差无几,但是第二种方法比第一种方法计算速度大大提高。 下面的计算表明,两种方法得到的结果相差无几,但是第二种方法比第一种方法计算速度大大提高。
行 251: 行 251:
 ==== E-相关方法 ==== ==== E-相关方法 ====
  
 +=== 电声耦合 ===
  
 +下面我们用计算能量相关的弛豫时间的$\tau(E)$的方法来计算迁移率,为此我们需要重新计算电声耦合。我们假定弛豫时间在$\mathrm{k}$-空间是各向同性的。这意味着我们只需要从Dirac点(K点)向外计算一条线段上的电声耦合就足够了,很显然这样可以大大降低计算量。
  
-===== 形变势计算 =====+单击**Script Generator**,添加如下计算单元: 
 +  * Analysis from File 
 +  * Analysis -> ElectronPhononCoupling
  
-现在,我们已得到计算电子-声子耦合性质的要素:1)动力学矩阵;2)哈密顿量微分。首先,我们将在倒空间沿特定方向拟合形变势。然后,在 q 网格中计算电子-声子耦合,及声学声子极限下的迁移率+与上一节一样从''Graphene_dynmat.hdf''读入动力学矩阵,从''Graphene_dHdR.hdf5'',读入哈密顿量微分。
  
-首先,为得到声学模的形变势,我们考虑电子-声子耦合矩阵随q的变化关系$|M_{\mathbf{k},\mathbf{q}}^\lambda|$,操作如下: +在ElectronPhononCoupling单元,将参数作如下修改: 
-  * 打开 LabFloor 中的 graphene_relax.nc 文件发送弛豫后原子结构文件gID001到脚本生成器 Script generator。 +  * 在 **k-points sampling** 里设置**k grid** 为 //Custom(Cartesian)//,采样参数按如下设置。注意到只有一条线段) 
-  * 添加分析器Analysis -> DeformationPotential+  * 在 **q-points sampling** 里,设置**q grid** 为 //Custom(Cartesian)//,采样的参数按如下设置。 
 +  * Electron Band 设为//34//
  
-当添加 DeformationPotential 模块,DynamicalMatrix 和 HamiltonianDerivatives 将被自动添加到脚本生成器中,得到如下: +{{ :atk:mobility_epc_k_line.png?direct&400 |}}
-{{ :atk:add_deformation_potential.png?300 |}}+
  
-查看计算器 Calculator 中 k-point 取 (7,7,1),而不是计算动力学矩阵和哈密顿量微分时使用的 k 点 (1,1,1)。 +在**Script Generator**主面板里将**Default output file**设置为''Graphene_eph-line.hdf5''发送至**Editor**,**ElectronPhononCoupling**一段如下修改
- +
-,打开 DeformationPotential,首先设置电子初态的 k-point,设置如下: +
-  初始设置k-point = K。在K点(狄拉克点Dirac point)右侧,导带和价带简并 +
-  * 设置 k-point = Other(Fractional) +
-  * 设置 a = b = 0.33334 +
- +
-K点右侧价带(valence band, VB)和导带(conduction band, CB)简并。这表明任何两个态的线性组合都是电子征态。由于价带和导带有不同的对称性,他们耦合为不同的声子。波矢稍稍偏离 K 点时,我们假设为纯价带和纯导带。 +
- +
-下面,需要指定考虑的声子 q 点值。大多情况下,我们对决定形变势和迁移率的小$|q|$值感兴趣。我们可以通过由一个初始 q 点和方向矢量来确定一条线上的 q 点值。初始 q 点和方向矢量由分数坐标给出。我们可以选取布里渊区的一个路径。使用前面的参数: +
-  保持 First point 为 $\Gamma$ 点 +
-  设置方向矢量:a, b, c = (0.1, 0, 0) +
-  设置每段的 q 点数:20 +
-  设置电子能带:3+
- +
-{{ :atk:deformationpotential2.png?300 |}} +
-再增加一个 DeformationPotential 对象,其他参数一样,除 +
-  方向矢量:a, b, c = (0.1, 0.1, 0) +
-{{ :atk:deformationpotential3.png?300 |}} +
-  设置默认输出文件名 Default output file: graphene.nc +
- +
-由于我们已计算了动力学矩阵和哈密顿量微分,不必再重新计算,直接从文件读取数据即可。发送脚本到编辑器 Editor并替换 Dynamical Matrix 和 Hamiltonian Derivatives 部分如下:+
  
 <code python> <code python>
-# ------------------------------------------------------------- + electron_phonon_coupling = ElectronPhononCoupling( 
-# Dynamical matrix +     configuration=bulk_configuration, 
-# ------------------------------------------------------------- +     dynamical_matrix=dynamical_matrix
-dynamical_matrix = nlread('graphene.nc'DynamicalMatrix)[0] +     hamiltonian_derivatives=hamiltonian_derivatives, 
- +     kpoints_cartesian=kpoints, 
-# ------------------------------------------------------------- +     qpoints_cartesian=qpoints, 
-# Hamiltonian derivatives +     electron_bands=[3,4], 
-# ------------------------------------------------------------- +     phonon_modes=All, 
-hamiltonian_derivatives nlread('graphene.nc'HamiltonianDerivatives)[0]+     energy_tolerance=0.01*eV                //修改这一行  
 +     initial_state_energy_range=[-0.5,0.5]*eV, //修改这一行     store_dense_coupling_matrices=False, 
 +     )
 </code> </code>
  
-发送计算任务任务管理器 Job manager 并运行计算任务。任务耗时几分钟完成。 +脚本发送至**Job Manager**,保存输入文件为''Graphene_eph-line.py''完成计算。 
- +<WRAP center info> 
-==== 形变势分析 ==== +由于计算只k空间的一个线段采样计算比(k,q)-全相关方法大大提速这个计算在24核服务器上计算大约只需要5分钟
- +
-计算完成后使用 Deformation Potential Analyzer 分析器可视化 **LabFloor** 中的计算结果文件 graphene.nc。两张图分别显示了所选模式的声子能量随 $|q|$(上图)和电子-声子耦合矩阵元随 $|q|$(下图)的变化规律。图的下部显示有一些分析选项。可以选择如下: +
-  * 初始和最终电子能带的指标 +
-  * 声子模式 +
-  * 耦合矩阵类型,unscaled 或 scaled +
-  * 线性拟合区间 +
- +
-在 //Fitting output// 下方显示线性拟合结果,零阶、一阶形变势,以及线性拟合的质量。 +
-{{ :atk:deformation_potential_explained.png?500 |}} +
- +
-试着改变不同的电子能带、声子模式、拟合区间看看有什么变化。对比各 DeformationPotential 对象,q 取沿 (0, 0, 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> </WRAP>
  
-为更精确研究形变势随角度的变化,尝试下面的步骤: 
-  * 退回到前面计算形变势的 python 脚本 
-  * 删除最后的 DeformationPotential 模块 
-  * 修改脚本中的 Deformation 部分的程序行,将下面的程序语句: 
  
-<code python> +=== 迁移率 ===
-# ------------------------------------------------------------- +
-# Deformation potential +
-# ------------------------------------------------------------- +
-q_0 numpy.array([0, 0, 0]) +
-q_direction numpy.array([0.1, 0, 0]) +
-points_per_segment 20 +
-q_path [list(q_0 + s*q_direction) for s in numpy.linspace(0, 1, points_per_segment)] +
-</code>+
  
-替换为:+现在我们可以用两步计算来得到基于能量相关的弛豫时间$\tau(E)$的室温下的迁移率$\mu$。
  
-<code python> +  * 第一步,计算从K-点向外、沿着线段的$\mathrm{k}$和$\mathrm{q}$-相关的弛豫时间$\tau(\mathrm{k},\mathrm{q})$; 
-# ------------------------------------------------------------- +  * 第二步,将$\tau(\mathrm{k},\mathrm{q})$对$\mathrm{k}$-空间进行平均,得到$\tau(E)$,用于计算迁移率$\mu$。
-# Deformation potential +
-------------------------------------------------------------- +
-# Load function to convert from cartesian to fractional coordinates. +
-from NL.CommonConcepts.Configurations.Utilities import cartesian2fractional+
  
-# Radius of circle, in units of Ang^-1. +单击**Script Generator**,添加以下计算单元: 
-q_norm = 0.01 +  * Analysis from File 
-thetas = numpy.linspace(0,numpy.pi*2,60)+  Analysis -> Mobility
  
-# Setup list of cartesian q-points in a circle. +打开Analysis from File,选择文件''Graphene_relax.hdf5'',加载Object Id为‘//BulkConfiguration_1//’的BulkConfiguration。
-q_circle_cartesian = [[q_norm*numpy.cos(t), q_norm*numpy.sin(t), 0] for t in thetas]*Ang**-1+
  
-# Get the reciprocal lattice vectors. +另外有三个计算单元自动添加: 
-reciprocal_vectors = bulk_configuration.bravaisLattice().reciprocalVectors()+  * Analysis -> DynamicalMatrix 
 +  * Analysis -> HamiltonianDerivatives 
 +  * Analysis -> ElectronPhononCoupling
  
-# Convert q-point to fractional. +在此例中,这三个数据都已经计算过了,因此可以将其删除,选择从相应的文件读取。添加三个‘Analysis from File’,按如下排序:
-q_path = cartesian2fractional(q_circle_cartesian, reciprocal_vectors) +
-</code>+
  
-首先设置笛卡尔坐标系下圆形的一系列 q 点,然后转化为 q 点的分数坐标。运行脚本,查看 DeformationPotential 对象,如下图所示为初始能带和最终能带均为 4,声子模指标为 2(LA 模)的情况。电子-声子耦合矩阵元显示出明显的震荡。平均值接近 0.04 eV/Å。由于 q 圆的半径为0.01 $Å^{-1}$,一阶形变势平均值 $D^{(1)}$ 为 4eV,与文献 [KTJ12b] 报道一致。+{{ :atk:mobility_script_generator_mobility_e.png?direct&600 |}}
  
-{{ :atk:deformationpotential_analyzer_circle.png?400 |}}+单击第二个‘Analysis from File’,选择''Graphene_dynmat.hdf5'',加载文件中的DynamicalMatrix数据。
  
-==== 电子-声子耦合 ==== +单击第三个‘Analysis from File’选择''Graphene_dHdR.hdf5''加载文件中的HamiltonianDerivatives 数据
-DeformationPotential对象中包含了计算迁移率所需的一些信息即电子-声子耦合项。但是为计算弛豫时间和迁移率,我们需要知道初始 k 值构成的有限 q 网格下的耦合项。这是由 ATK 中 ElectronPhononCoupling 分析对象处理的。+
  
-下面将使用两个 ElectronPhononCoupling 对象。首先计算 k 空间中完整 q 网格下沿一条线上的耦合元,用来分析 ($q_x$, $q_y$) 点的耦合矩阵元,及特定能量和温度下的弛豫时间的计算。操作如下: +单击第四‘Analysis from File’选择''Graphene_eph-line.hdf5'',加载文件的 ElectronPhononCoupling 数据
-  * 打开 LabFloor 中的 ''graphene_relax.nc'' 文件,发送弛豫后原子结构文件(gID001)到脚本生成器 Script generator +
-  * 添加分析器 Analysis -> ElectronPhononCoupling+
  
-<WRAP center round info 100%> +最后单击打开 Mobility按如下图设置参数:
-=== 注意 === +
-与添加DeformationPotential对象一样添加ElectronPhononCoupling对象时,DynamicalMatrix和HamiltonianDerivatives将被自动添加。 +
-</WRAP>+
  
-我们要计算 Δ 连线(由原点至 K 点)上 k 点的电子-声子耦合。笛卡尔坐标系中,K 点坐标为(1.69044, 0, 0),可以由电子能带结构Bandstructure 对象中得到该信息,即在 LabFloor 中点击 Text Representation。现在,打开 ElectronPhononCoupling 对象,设置如下: +  * Mobility 
-  自定义 网格,k grid = Custom(Cartesian) +    Method 选择 Full angular(k,q)-dependence 
-  * 自定义 网格,q grid = Custom(Cartesian) +    Fermi Shift 选择 0.13 eV 
-  电子能带,Electron bands = 3, 4 +    不勾选 Calculate Hall coefficients
-  声子模式,Phonon modes = 1, 2(我们仅关注声学模)+
  
-{{ :atk:epc_k_line.png?300 |}}+{{ :atk:mobility_mobility_2a.png?direct&600 |}}
  
-运行计算前发送脚本至编辑器 Editor用下面的程序语句替换动力学矩阵和哈密顿量微分部分的语句: +在**Script Generator**主窗口中,将Default output file设为 ''Graphene_mu_line_full.hdf5'',脚本发送到**Job Manager**保存输入文件为''Graphene_mu_line_full.py'',单击开始按钮完成计算。
-<code python> +
-# ------------------------------------------------------------- +
-# Dynamical matrix +
-# ------------------------------------------------------------- +
-dynamical_matrix = nlread('graphene.nc', DynamicalMatrix)[0] +
-# ------------------------------------------------------------- +
-# Hamiltonian derivatives +
-# ------------------------------------------------------------- +
-hamiltonian_derivatives = nlread('graphene.nc', HamiltonianDerivatives)[0] +
-</code>+
  
-运行计算注意:+计算结束后就可以使用各向同性方法计算迁移率了。在本例中,我们使用前面计算得到的''Graphene_relax.hdf5''和''Graphene_mu_line_full.hdf5''中的bulk configuration 结果和 (k,q)-相关迁移率。
  
-<WRAP center round info 100%+单击打开**Script Generator**,添加: 
-=== 注意 === +  * Analysis from File 
-我们将计算非常多(q,k)点上的电子-声子耦合,每个计算不需要很多内存,因此这个任务非常适合并行运行。128MPI 核运行需约 10 分钟,但若单核运算将耗费很长时间。 +    * 选择''Graphene_relax.hdf5''中Object Id为//BulkConfiguration_1//的数据; 
-</WRAP>+  * Analysis -Mobility 
 +    * 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
  
-当计算结束后,使用Electron-Phonon Coupling Analyzer分析器可视化结果。显示如下图的窗口:+{{ :atk:mobility_mobility_2b.png?direct&600 |}}
  
-{{ :atk:epc_analyzer_explained.png?500 |}}+在 **Script Generator** 主面板中将 **Default output file** 设为 ''Graphene_mu-line-iso.hdf5'',将脚本发送至 **Editor**。
  
-电子-声子耦合分析工具提供了丰富的信息,工具窗口左侧你可以设置一些输入的参数用于作图: +在 **Editor** 修改脚本读入全(k,q)-相关的迁移率数据,并修改mobility的计算: 
-  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 点网格。因此,如果最初进行了 (2020, 1) 网格的计算,通过设置 Refinement = 2 可以得到 (40, 40, 1q 网格。所有与 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> <code python>
-bulk_configuration nlread('graphene.nc', BulkConfiguration)[1] + # ------------------------------------------------------------- 
-electron_phonon_coupling = nlread('graphene.nc', ElectronPhononCoupling)[0]+ # Analysis from File 
 + # ------------------------------------------------------------- 
 + path u'Graphene_relax.hdf5
 + configuration = nlread(path, object_id='BulkConfiguration_1')[0]
  
-# ------------------------------------------------------------- + # 增加这一段 
-# Mobility + # ------------------------------------------------------------- 
-# ------------------------------------------------------------- + # Mobility 
-mobility Mobility( + # ------------------------------------------------------------- 
-    configuration=bulk_configuration, + mobility_full nlread('Graphene_mu-line-full.hdf5', Mobility)[-1]
-    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 分钟。如此长的计算时间,是由于为精确描述低温下的情况,需要密的优化网格。迁移率计算完成后,使用下面的脚本可视化弛豫时间倒数随能量的变化。+ # ------------------------------------------------------------- 
 + # Mobility 
 + # ------------------------------------------------------------- 
 + kpoint_grid = MonkhorstPackGrid( 
 +     na=99, 
 +     nb=99, 
 +     )
  
-<code python> + mobility = Mobility( 
-import pylab as pl +     configuration=configuration, 
- +     method=Isotropic, 
-mobility nlread('graphene_mobility.nc'Mobility)[0+     energies=numpy.linspace(-0.24, 0.24, 100)*eV, 
- +     inverse_relaxation_time=numpy.linspace(0, 1e+12, 100)*Second**-1, 
-# The phonon mode that should be considered+     mobility_object=None, 
-mode +     electron_bands=[3,4],    修改这一行 
- +     kpoints=kpoint_grid, 
-# Get the inverse life time in ns^-1 +     temperature=300*Kelvin, 
-gamma = mobility.inverseLifeTime().inUnitsOf(Second**-1)*1e-9 +     fermi_shift=0.13*eV, 
- +     energy_broadening=0.003*eV
-Get the Fermi shift +     calculate_hall_coefficients=False, 
-fermi_shift mobility.fermiShift() +     
- + nlsave('Graphene_mu-line-iso.hdf5', mobility)
-# 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 indexThe electron-phonon coupling was calculated for bands 3 and 4. We look at 4which 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> </code>
-{{ :atk:inverse_life_time.png?500 |}}+  
 +将脚本发送至 **Job Manager**,保存 ''Graphene_mu-line-iso.hdf5'',选择 **Mobility**,点击 **Text Representation**。
  
-图中弛豫时间倒数的下降(低散射率)对应费米能级处电子态满足 Bloch-Gruneisen 定理。二维系统中,低温下反向散射在相空间中被抑制,散射几率降低。这一效应的理论研究以前在其他二维电子气异质结[KS92]和类石墨烯材料[GMSB16], [HS08], [KTJ12], [KTJ12b]中也曾报道过。 +<code> 
- + +------------------------------------------------------------------------------+ 
-==== 迁移率 ==== + | Mobility Report                                                              | 
-为了计算迁移率,需要在石墨烯狄拉克点 $K$ 附近进行 k 点采样,因此,需要建立一个新的 ElectronPhononCoupling 对象。操作如下: + ---------------------------------------------------------------------------- | 
-  * 打开 LabFloor 中的 graphene_relax.nc 文件,发送弛豫后的原子结构文件(gID001)到脚本生成器 Script generator。 + | Input parameters:                                                            | 
-  * 添加分析器 Analysis -> ElectronPhononCoupling +     Temperature       300.00 K                                             | 
- +     Fermi level shift = 0.13 eV                                              | 
-<WRAP center round info 100%> + |     Energy broadening = 0.0030 eV                                            | 
-=== 注意 === + |     q-grid refinement = 1                                                    | 
-与前面一样,添加ElectronPhononCoupling对象时,DynamicalMatrix和HamiltonianDerivatives对象将被自动添加进来。 +                                                                              | 
-</WRAP> + +------------------------------------------------------------------------------+ 
- + | Trace of linear responce tensors:                                            | 
-打开ElectronPhononCoupling对象,设置如下图的参数: + +------------------------------------------------------------------------------+ 
- + |                                                                              | 
-{{ :atk:electron_phonon_fine.png?300 |}} + | Electrons:                                                                   | 
- +                                                                              | 
-运行计算前,将脚本发送至编辑器 Editor,用下面的语句替换 Dynamical Matrix 和 Hamiltonian Derivatives 段: +     Mobility                  2.58e+05 cm^2/(V*s)                          | 
- +     Conductivity              1.79e+07 S/m                                 | 
-<code python+     Seebeck coefficient      =  7.91e-05 V/K                                 | 
-------------------------------------------------------------- +     Thermal conductivity      1.16e+02 W/(m*K)                             | 
-# Dynamical matrix +     Carrier density (2Dxy=  8.63e+11 cm^-2                               | 
-------------------------------------------------------------- +                                                                              | 
-dynamical_matrix nlread('graphene.nc', DynamicalMatrix)[0] +                                                                              | 
- + | Holes:                                                                       | 
-------------------------------------------------------------- +                                                                              | 
-# Hamiltonian derivatives +     Mobility                  1.68e+06 cm^2/(V*s)                          | 
-------------------------------------------------------------- +     Conductivity              4.94e+04 S/m                                 | 
-hamiltonian_derivatives nlread('graphene.nc'HamiltonianDerivatives)[0]+     Seebeck coefficient      = -1.25e-03 V/K                                 | 
 +     Thermal conductivity      5.98e+00 W/(m*K)                             | 
 +     Carrier density (2D, xy) =  3.66e+08 cm^-2                               | 
 +                                                                              | 
 + +------------------------------------------------------------------------------+
 </code> </code>
  
-8 MPI 进程并行计算大约需要 小时成计算任务+计算得到的迁移率为 $2.58 \cdot 10^{5}\ \mathrm{cm^{2} V^{-1} s^{-1}}$,与(k,q)-相关方法得到结果全一致
  
-<WRAP center round info 100%> +==== 迁移率与温度的关系:(k,q)-相关能量相关方法结果 ====
-=== 注意 === +
-形网格kq点采样时,在比较大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,q)-相关方法里,只需修改‘Mobility’里的target temperature即可。 
 +  * 在能量相关方法里,计算的两步(线段上的k,q-相关弛豫时间和能量相关弛豫时间)都需要在设定温度下重复计算。
  
-此外计算低能量电子的迁移率,需要缩小k点选取窗口,以便节省计算时间和确保足够高网格密度 +从下图可以看出在 $100 \mathrm{K} \leq T \leq 300 \mathrm{K}$ 范围里,两种方法计算的迁移率对温度依赖关系都比较好再现了$1/T$特性
-</WRAP>+
  
-计算完成后,按照下面步骤操作: +{{ :atk:mobility_mu_vs_t.png?direct&600 |}}
-  * 打开 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 T 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 |}} 
- 
-拟合结果中明显可以看到迁移率与温度的反比 (~1/T) 的关系,与($\ref{7}$)式符合很好。计算得到的形变势 8.8eV 比已报道的结果略小[KTJ12b]。 
  
 ===== 理论知识 ===== ===== 理论知识 =====
行 733: 行 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/迁移率.1525851627.txt.gz · 最后更改: 2018/05/09 15:40 由 fermi

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