薛定谔-泊松方程多物理场接口可用于模拟量子阱、量子线和量子点等量子约束系统中的载流子。在本文中,我们将以砷化镓纳米线的基准模型为例,演示如何使用 COMSOL Multiphysics® 软件附加的“半导体模块”提供的这项功能。

薛定谔-泊松方程多物理场接口

自 COMSOL Multiphysics® 5.4 版本起,用户可以使用全新的薛定谔-泊松方程多物理场接口,在静电接口和薛定谔方程接口之间创建双向耦合,借此模拟量子约束系统中的载流子。“静电”的电势使薛定谔方程中的势能项增大。“薛定谔方程”特征态的概率密度的加权和使“静电”中的空间电荷密度增大。此接口支持所有空间维度,包括一维、一维轴对称、二维、二维轴对称以及三维。

求解薛定谔-泊松系统

薛定谔-泊松系统的特殊之处在于,静电分析需要稳态研究,而求解薛定谔方程需要特征值研究。为了求解双向耦合系统,我们对薛定谔方程和泊松方程进行迭代求解,直到获得自洽解。迭代过程包含以下步骤:

第 1 步

为了提供良好的初始迭代条件,求解泊松方程

(1)

python和comsol调用 comsol port_迭代

从而计算出电势

python和comsol调用 comsol port_迭代_02

,其中

python和comsol调用 comsol port_迭代_03

是介电常数,

python和comsol调用 comsol port_特征值_04

是空间电荷密度。在这一初始化步骤中,

python和comsol调用 comsol port_comsol软件_05

取自实变元的最佳初始估计值;比如 Thomas-Fermi 近似的值。

第 2 步

上一步获得的电势

python和comsol调用 comsol port_泊松分布近似正态分布的表达式_06

对薛定谔方程中的势能项

python和comsol调用 comsol port_迭代_07

有所贡献

(2)

python和comsol调用 comsol port_泊松分布近似正态分布的表达式_08

python和comsol调用 comsol port_特征值_09

为载体粒子的电荷,其计算公式为

(3)

python和comsol调用 comsol port_特征值_10

其中

python和comsol调用 comsol port_特征值_11

是电荷数,

python和comsol调用 comsol port_泊松分布近似正态分布的表达式_12

是元电荷。

第 3 步

利用基于 Eq. 2 推导出的新势能项,对薛定谔方程进行求解,得到一组特征能量

python和comsol调用 comsol port_迭代_13

和一组对应的归一化波函数

python和comsol调用 comsol port_特征值_14


第 4 步

利用概率密度的加权和,计算粒子密度分布

python和comsol调用 comsol port_泊松分布近似正态分布的表达式_15

(4)

python和comsol调用 comsol port_泊松分布近似正态分布的表达式_16

其中,权重

python和comsol调用 comsol port_comsol软件_17

是通过对平面外连续状态下的费米-狄拉克分布进行积分而计算出来的(因此取决于模型的空间维度)。

(5)

python和comsol调用 comsol port_泊松分布近似正态分布的表达式_18

(6)

python和comsol调用 comsol port_特征值_19

(7)

python和comsol调用 comsol port_python和comsol调用_20

其中,

python和comsol调用 comsol port_python和comsol调用_21

为河谷形状简并因子,

python和comsol调用 comsol port_迭代_22

是费米能级,

python和comsol调用 comsol port_泊松分布近似正态分布的表达式_23

是玻尔兹曼常数,

python和comsol调用 comsol port_python和comsol调用_24

 是绝对温度,

python和comsol调用 comsol port_comsol软件_25

是状态有效质量的密度,

python和comsol调用 comsol port_特征值_26


python和comsol调用 comsol port_迭代_27

是费米-狄拉克积分。为简单起见,Eq. 4 的加权和只包含一个用于求和的索引

。当然,求和可以包含多个索引。比如本文的纳米线模型计划对角量子数和(每个角量子数对应的)特征能级进行求和。

第 5 步

对于给定的粒子密度分布

python和comsol调用 comsol port_python和comsol调用_28

,我们重新计算空间电荷密度

python和comsol调用 comsol port_comsol软件_05

,并重新求解泊松方程,由此获得新的电势分布

python和comsol调用 comsol port_迭代_02

。新的空间电荷密度的简明算式为

(8)

python和comsol调用 comsol port_迭代_31

此算式往往导致迭代发散。下列公式可以推导出更好的估计值

(9)

python和comsol调用 comsol port_comsol软件_32

其中

python和comsol调用 comsol port_迭代_33

是上一次迭代的电势,

python和comsol调用 comsol port_comsol软件_34

是一个额外调整参数。上方公式的依据是,我们观察到粒子密度

python和comsol调用 comsol port_python和comsol调用_28

是基于

python和comsol调用 comsol port_python和comsol调用_36

的计算结果,一旦泊松方程重新求解,即可得到新的

python和comsol调用 comsol port_迭代_02


python和comsol调用 comsol port_泊松分布近似正态分布的表达式_15

也随之变化。换句话说,Eq. 8 可以更明确地写成

(10)

python和comsol调用 comsol port_特征值_39

因为

python和comsol调用 comsol port_python和comsol调用_28


python和comsol调用 comsol port_迭代_33

的计算结果,所以

python和comsol调用 comsol port_特征值_04

可用于重新求解泊松方程以得到新的

python和comsol调用 comsol port_迭代_02


为了获得自洽解,更优的方程式为

(11)

python和comsol调用 comsol port_comsol软件_44

此时

python和comsol调用 comsol port_python和comsol调用_45

是未知数,因为它来自下一次迭代时薛定谔方程的解。然而,我们可以使用玻尔兹曼统计进行预测,玻尔兹曼统计描述了势能

python和comsol调用 comsol port_特征值_46

和粒子密度

python和comsol调用 comsol port_python和comsol调用_28

之间简单的指数关系。

(12)

python和comsol调用 comsol port_python和comsol调用_48


python和comsol调用 comsol port_特征值_49

时,得到 Eq. 9。此公式相当适用于高温条件,此时玻尔兹曼统计是一个很好的近似值。在较低温度下,将

python和comsol调用 comsol port_comsol软件_34

设为正数有利于加快收敛。

第 6 步

通过重新求解泊松方程获得新的电势分布

python和comsol调用 comsol port_泊松分布近似正态分布的表达式_06

后,将其与上一次迭代的电势

python和comsol调用 comsol port_python和comsol调用_36

进行比较。如果两次分布在预期容差范围内一致,则得到自洽解;否则,回到第 2 步继续迭代。

专用的薛定谔-泊松 研究类型可以在求解器序列中自动生成上述步骤。

基准示例:纳米线模型

砷化镓纳米线教学模型的基础是 J.H. Luscombe、A.M. Bouchard 和 M. Luban 发表的一篇题为“Electron confinement in quantum nanostructures: Self-consistent Poisson-Schrödinger theory”的论文。

在几何无限长并呈圆柱形对称的假设前提下,选择一维轴对称空间维度。然后,在半导体分支下选择薛定谔-泊松方程 多物理场接口,从而将薛定谔方程 接口及静电接口与薛定谔-泊松耦合 多物理耦合添加到“模型开发器”中。

python和comsol调用 comsol port_迭代_53

选择适用于纳米线模型的 薛定谔-泊松方程接口。

根据论文中的描述,将纳米线的半径设为 50 nm。将电子有效质量设为自由电子质量的 0.067 倍(根据论文中的费米温度结果),并假设介电常数为 12.9。在模型中,将费米能级设为 0 V,壁上的电势设为 -0.7 V,使之与研究人员描述的费米能级钉扎边界条件相匹配。为了比较论文的图 2 和图 3,我们在 10K 温度下对 2- 1018 cm–3 的均匀电离掺杂杂质进行建模。上述数字均作为全局参数被输入到模型中。

python和comsol调用 comsol port_迭代_54

纳米线模型的全局参数。

按照论文提供的方法,我们首先求解 Thomas-Fermi 近似解,然后将其作为全耦合薛定谔-泊松方程的初始条件。然后将托马斯-费米近似的公式作为局部变量输入到模型中。

python和comsol调用 comsol port_python和comsol调用_55

纳米线模型的局部变量。

定义了全局参数和局部变量后,我们可以在“模型开发器”中直接将它们输入到几何、材料和物理场节点下。以下是一些注意事项:

  • 如上文所述,角量子数 m被参数化,以便对其值进行扫描与求和,然后输入到薛定谔方程 物理场节点的设置 窗口中
  • 回想关于计算超晶格带隙的文章,特征值尺度 λscale 与无量纲特征值 λ 相乘,得到特征能量 ( = λscale λ)
  • 举例来说,如果 λscale 等于1 eV,特征值为 1.23,则特征能量等于 1.23 eV
  • 如上文所述,在静电 接口中添加电势 边界条件,并设定纳米线的线壁的值
  • 此外,添加了两个空间电荷密度 域条件,一个用于电离掺杂杂质,另一个用于 Thomas-Fermi 近似(在薛定谔-泊松研究中应该禁用后一项)

创建薛定谔-泊松多物理场耦合

在薛定谔-泊松耦合 多物理场节点的设置 窗口中展开方程 栏,查看添加到此节点的公式——如果你阅读了求解薛定谔-泊松系统的篇章,应该很熟悉这些公式。设置中的耦合接口 栏允许选择两个耦合的物理场接口。模型输入 栏设置了系统温度,如下方截图所示:

python和comsol调用 comsol port_泊松分布近似正态分布的表达式_56

薛定谔-泊松耦合节点的设置窗口的上半部。粒子密度计算栏(下方截图)指定了概率密度的统计加权和,参考 Eq. 4。如果选择费米-狄拉克统计,抛物型带这一默认选项,则使用 Eq. 5~Eq.7 计算权重

python和comsol调用 comsol port_comsol软件_57

。用户也可以通过自定义选项输入不同的权重表达式。为了考虑到成对的简并角量子数(m = ±1,±2,以此类推),我们使用公式 1+(m>0) 来计算简并因子

python和comsol调用 comsol port_python和comsol调用_21

,当 m = 0 和 2 且 m > 0 时,计算结果为 1。

python和comsol调用 comsol port_comsol软件_59

薛定谔-泊松耦合节点的设置窗口的下半部。在电荷密度计算 栏(上方截图)输入电荷数

python和comsol调用 comsol port_特征值_11

来求解 Eq. 3。如果选择了修正 Gummel 迭代 默认选项,则使用 Eq. 9 计算新的空间电荷密度

python和comsol调用 comsol port_特征值_04

。软件提供了其他选项,其中包括允许输入自定义数学表达式的用户定义选项。

全局误差变量 的默认表达式  (schrp1.max(abs(V-schrp1.V_old)))/1[V],计算了两个最新迭代生成的电势场之间的最大差值,单位为 V。请注意,前缀 schrp1 应与薛定谔-泊松耦合 节点的名称 字段一致,变量名称 V 应与静电 接口的因变量名称一致。在更加复杂的模型中,它们可能变成非默认名称,若名称不匹配,表达式将变为黄色。遇到这种情况时,需要进行手动修改。

建立薛定谔-泊松研究步骤

“研究 2”下的薛定谔-泊松 研究步骤自动在求解器序列中生成了自洽迭代。上文中介绍求解薛定谔-泊松系统的章节概述了迭代方案。

如果我们处理的是一个全新的问题,那么在研究设置 栏下的特征频率搜索方法 菜单中,我们通常需要选择手动 搜索默认选项以查找特征能量的范围。确定范围后,我们可以切换为区域 搜索选项,然后正确设置特征值的范围和数量,确保求解器找到所有重要的特征态。针对本教程,能量估计值的范围介于 -0.15~0.05 eV 之间。如前文所述,它们分别对应无量纲特征值的 -0.15 和 0.05。

输入框中的实部和虚部别指代特征值的实部和虚部。为了查找束缚态的特征能量,我们将实部输入设为预计能量范围,并使虚部以 0 为基础小范围上下浮动,借此捕获数值噪声或略微残缺的准束缚态,如下图所示:

python和comsol调用 comsol port_comsol软件_62

薛定谔-泊松研究步骤的设置窗口的上半部。

正如我们之前指出的,第二个空间电荷密度 域条件仅适用于“研究 1”中的 Thomas-Fermi 近似解。因此如上方截图所示,物理场 和变量选择 栏禁用了该条件。

在迭代 栏下,终止方法 下拉菜单的默认选项是最小化全局变量,它会自动更新结果表,后者记录了求解过程中每次迭代后的全局误差变量。内置的全局误差变量 schrp1.global_err 计算了两个最新迭代生成的电势场之间的最大差值,单位为 V,且已配置在薛定谔-泊松耦合 多物理场节点中。(请注意,前缀 schrp1 应该与薛定谔-泊松耦合 节点中的名称 一致。)因此,将容差设为  1E-6 意味着当最大差值小于 1 uV 时,迭代即结束。相关设置请参考下方截图。

python和comsol调用 comsol port_python和comsol调用_63

薛定谔-泊松研究步骤的设置窗口的下半部。在因变量值 栏下,我们选择“研究 1”中的 Thomas-Fermi 近似解作为研究的初始条件。然后使用辅助扫描 功能来求解一系列非负角量子数 m。如上文所述,至于负值,我们可以使用公式  1+(m>0)  来计算简并因子

python和comsol调用 comsol port_迭代_64

。专用的求解器序列将自动计算所有本征态的概率密度的统计加权和。

检查自洽结果

因为 Thomas-Fermi 近似提供了良好初始条件,而且 Eq. 9为空间电荷密度提供了良好的前向估计值,经过八次迭代后求解器便完成了收敛。电子密度、势能和部分轨道贡献图与参考文献公布的数据相当吻合。

python和comsol调用 comsol port_comsol软件_65

比较电子密度、势能和部分轨道贡献与参考文献中的数据。

下图显示了电子密度和势能分布中的 Friedel 型空间振荡。

python和comsol调用 comsol port_python和comsol调用_66

绘图局部放大了电子密度和势能分布的 Friedel 型空间振荡。