原标题:如何解薛定谔方程?-- k · p method

注:这是三年前写的"如何解薛定谔方程"系列之一,当时未完待续,现在续一下!

------------------------------------------

Tight-binding, the pseudopotential, the k · p method是三种最常见的能带计算方法。他们的区别在于基函数的选取,分别对应: atomic-like, plane-wave, Blochstates。这三种方法各有优劣势,这里主要介绍k · p方法的思想。

该方法由Bardeen (1937) and Seitz (1940)最早使用, Shockley, Dresselhaus, Kittel, and Kane, Luttinger等人进行了拓展。

用途:

1. 得到能带关系和有效质量的解析式

2. 可推广到整个布里渊区

3. 拓扑相关的计算

k· p Equation可由单电子的薛定谔方程得到:

单电子薛定谔方程和布洛赫函数:

其中哈密顿量为:

我们有:

带入薛定谔方程转换成周期性函数的表达式:

这就是k· p方程。

对k· p方程使用非简并的微扰论,对于一个band在k=0处展开可以得到:

这就是最基本的有效质量方程。

2-band model, CB-VB coupling only

假设波函数的线性展开

代入k dot p方程

可写成矩阵形式

可得到电子(空穴)有效质量和能带间隙的关系:

仅有两个参数就可以确定有效质量。

3-band model (Dresselhaus–Kip–Kittel Model)

先不考虑自旋轨道耦合,以金刚石一类的半导体为例,首先知道它的轨道组成以及对称性

所以gamma点valence band是由两类原子的p轨道组成

由对称性可知其一阶微扰为零,所以需要考虑二阶微扰

比如r=xy, 则需要求

由对称性可知pi=pj时上面的matrix element才非零,即

同样可以求出其他的matrix element

最后可以得到

三阶的Hamiltonian是可以得到解析解的,其特征方程为

方程很复杂,但是我们知道它有一个简并的解,就可以简单的拆分了待定系数了

最后解得

现在可以自旋轨道耦合作用了(6-band Chuang–Chang model),

由对称性可知

同样basis要考虑spin

使用JMJbasis

可得这个basis下的SOC Hamiltonian

最后的结果是

原则上六阶的Hamiltonian没有解析解,但是如果不考虑heavy hole and light hole的coupling,则可以进行块对角化得到解析解。

4-band model, Kane model

现在同时考虑hole和electron (zincblende symmetry), 类似于2 band model,可得Hamiltonian

可以解得

同样考虑SOC后(8-band model),可以得到最后的Hamiltonian

即只需要解一半的Hamiltonian

以GaAs为例,可计算得到能带结构(L-Gamma-X)

未完待续。。。

1. Voon, Lok C. Lew Yan, and Morten Willatzen. The kp method: electronic properties of semiconductors. Springer Science & Business Media, 2009.返回搜狐,查看更多

责任编辑:

c语言薛定谔方程,如何解薛定谔方程?-- k · p method相关推荐

  1. matlab解薛定谔方程,有限差分法解薛定谔方程与MATLAB实现

    第30卷 第3期 高 师 理 科 学 刊 Vol. 30 No.3 2010年 5月 Journal of Science of Teachers′ College and University Ma ...

  2. python动态规划算法最大k乘积_C语言使用DP动态规划思想解最大K乘积与乘积最大问题...

    最大K乘积问题设I是一个n位十进制整数.如果将I划分为k段,则可得到k个整数.这k个整数的乘积称为I的一个k乘积.试设计一个算法,对于给定的I和k,求出I的最大k乘积. 编程任务: 对于给定的I 和k ...

  3. 代码检查规则:Java语言案例详解

    本节课程为<代码检查规则:Java语言案例详解>, 通常情况下Java的代码检查规则可以分为以下十类: 接下来,让我们具体来看看每个分类的内容. 一.源文件规范 该类规范主要从文件名.文件 ...

  4. Linux_arm_启动_c语言部分详解,[原创]Linux arm 启动 c语言部分详解第四讲

    Linux arm启动c语言部分详解第四讲(from setup_per_cpu_areas();) Written by leeming 上面的setup_arch花了我们大量的篇幅,现在我们要继续 ...

  5. R语言——数据类型详解

    R语言--数据类型详解 R语言支持的数据类型 数值型 整数型 逻辑型 字符型 复数型 原生型 R语言的数据对象类型包括 向量:一个向量只能有一种数据类型 矩阵:一个矩阵只能有一种数据类型 数组:一个数 ...

  6. 归并排序过程实现c语言,C语言归并排序详解

    C语言归并排序详解 发布日期:2015-12-31 11:16 来源: 标签: 编程语言 C教程 C语言归并排序 C语言归并排序算法 本章我们主要学习C语言实现排序算法之归并排序,对归并排序的原理及实 ...

  7. c语言数组详解视频,C语言数组详解

    <C语言数组详解>由会员分享,可在线阅读,更多相关<C语言数组详解(55页珍藏版)>请在人人文库网上搜索. 1.就是一组具有固定数目的.有序的.类型相同的数据的集合.根据数组下 ...

  8. c语言怎么给c1赋值字母,C语言赋值运算符详解

    C语言赋值运算符详解 C语言赋值运算符是什么呢,简单赋值运算符记为"=",由"= "连接的式子称为赋值表达式.下面小编为你介绍C语言赋值运算符吧! 其一般形式为 ...

  9. python语言编程基础-Python语言入门详解!快速学成Python!

    原标题:Python语言入门详解!快速学成Python! 很多技能是被职场所需要的,但很可惜... 这些技能在大学中并学习不到. 大学和职场现实存在的横沟对大部分同学来说难以跨越或碰得头破血流... ...

  10. python语言入门m-Python语言入门详解!快速学成Python!

    今日主题 "Python语言入门详解" 近两年来,Python语言借着数据科学和人工智能的"东风"成为了最流行的编程语言--街头巷尾人们口口相传.同时,Pyth ...

最新文章

  1. 大型数据库设计原则与技巧
  2. 云网融合 — 云网之争
  3. python真的那么火吗-为什么Python这么火,就业前景怎么样呢?
  4. adobe Photoshop CS6 MAC中文版
  5. skb详细解析【转】
  6. webpack的build的时候时间长处理方案
  7. 来看看Python炫酷的颜色输出与进度条打印
  8. 游戏match(【CCF】NOI Online能力测试2 提高组第三题 )
  9. mysql执行计划explain介绍_Mysql执行计划EXPLAIN详解
  10. Unity3D基础13:给物品添加力
  11. PE框架学习之道:PE框架——style的配置
  12. uniapp开发原生android插件,uni-app原生插件(native plugin)开发指南
  13. 模式识别的发展及应用
  14. 使用python将文字转为语音
  15. 二维码解码器(zbar-0.10+ opencv-2.4.10+VS2010)完整实例含源代码
  16. 19.首页异步数据的获取
  17. 陈莉君教授: 回望踏入Linux内核之旅
  18. sfm-learner学习心得
  19. 泰坦以太(以太流说) titan_ysl 2020.01.27
  20. iApp特殊篇-自定义app图标

热门文章

  1. Excel--查找、替换及定位
  2. 解析几何----阿氏圆的半径公式和调和性质
  3. 解决vue项目背景图片在IE和火狐上不显示的问题
  4. saas系统和php mysql的区别_saas模式与传统软件的区别
  5. 写教案时,PDF怎么转换成PPT?用迅读PDF大师,超简单
  6. 地图上如何量方位角_利用GPS测量方位角的方法
  7. 【软考系统架构设计师】2021年下系统架构师案例分析历年真题
  8. vue 解决跨域问题404问题
  9. HDU6287 口算训练 【两种优化版分解质因数】【二分下标】
  10. python 画图工具——matplotlib命令式函数