计算闪锌矿半导体的电子能带结构研究(Matlab代码实现)

  💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

 ⛳️赠与读者

💥1 概述

1. 引言

2. 方法论

2.1 经验伪势方法(EPM)

2.2 原子轨道的线性组合(LCAO)或紧束缚(sp3s*)模型

2.3 k.p方法

3. 计算步骤

4. 结果与讨论

5. 结论

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

1. 引言

闪锌矿(Zincblende)结构的半导体,如硅(Si)和锗(Ge),是现代电子和光电子器件的基础材料。理解这些材料的电子能带结构对于设计高性能器件至关重要。本文档旨在介绍使用经验伪势方法(EPM)和原子轨道的线性组合(LCAO)或紧束缚(sp3s*)模型来计算闪锌矿半导体的电子能带结构。

2. 方法论
2.1 经验伪势方法(EPM)

经验伪势方法是一种半经验方法,它结合了量子力学的基本原理和实验数据。EPM通过引入一个有效的、简化的势函数来描述价电子与离子实之间的相互作用,从而大大简化了计算过程。

2.2 原子轨道的线性组合(LCAO)或紧束缚(sp3s*)模型

LCAO方法基于原子轨道的线性组合来构建分子的波函数。在紧束缚模型中,电子被假定为主要位于原子周围,并且只在相邻原子之间发生有限的跳跃。对于闪锌矿半导体,通常使用sp3s*模型,其中s和p轨道用于描述价电子。

2.3 k.p方法

k.p方法是一种基于微扰理论的能带计算方法,它适用于描述能带结构中的细微特征。在本研究中,我们将使用8频带k.p模型,并引入德雷斯豪斯、基普和基特尔(DKK)符号和卢廷格参数(EP、F、g1、g2、g3)来描述能带结构。

3. 计算步骤
  1. 选择模型参数:根据闪锌矿半导体的具体材料(如Si或Ge),选择适当的经验伪势和紧束缚模型参数。

  2. 构建哈密顿量:使用LCAO或紧束缚模型,结合经验伪势,构建系统的哈密顿量。

  3. 对角化哈密顿量:在k空间中,对角化哈密顿量以求解能带结构。

  4. 应用k.p方法:在得到的能带结构基础上,应用8频带k.p方法进行微扰修正,以更精确地描述能带特征。

  5. 分析能带结构:使用DKK符号和卢廷格参数对能带结构进行解释和分析。

4. 结果与讨论

通过计算,我们可以得到闪锌矿半导体的能带结构,包括导带、价带以及它们之间的带隙。使用k.p方法,我们可以进一步分析能带中的细微特征,如自旋-轨道分裂、能带弯曲等。

通过比较不同材料的能带结构,我们可以理解它们在不同应用中的性能差异。例如,硅的能带结构使其成为理想的微电子材料,而锗在某些光电子应用中可能更具优势。

5. 结论

本文档介绍了使用经验伪势方法和紧束缚模型计算闪锌矿半导体电子能带结构的方法。通过结合k.p方法和卢廷格参数,我们可以得到更精确的能带结构描述。这些结果对于理解闪锌矿半导体的物理性质和开发高性能电子和光电子器件具有重要意义。

📚2 运行结果

部分代码:

%%%%%%%%%%%%%%%%%%%%%%%%%%% Model activation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 0 for turn off
% 1 for turn on

epm_model = 0;               %% Empirical Pseudo Potential
TB_model  = 1; SpinOrbit=1;  %% Tight Binding; SpinOrbit coupling = 0 or 1
kp8_model = 1;               %% kp 8 bands model

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Nk=50;          %% number of k-points for the dispersion
Nband=12;        %% number of band to plot

k=kZB_f(Nk,a);   %% function to compute the k-vector

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if epm_model==1
  if strcmp(M{1},'CdS')==1 || strcmp(M{1},'CdSe')==1
    display(strcat('Error: No parameter in the Pseudo Potential model for: ',M{1}))
    return
  else
    Ek1=epm_f(M{3},a,k,Nband);
  end
end

if TB_model==1
  if SpinOrbit==0
    if strcmp(M{1},'CdTe')==1 || strcmp(M{1},'3C-SiC')==1
      display(strcat('Error: No parameter in the Tight Binding (without Spin) model for: ',M{1}))
      return
    else 
      Ek2=TightBinding_f(M{4},a,k,SpinOrbit);
    end
  elseif SpinOrbit==1
    if strcmp(M{1},'C')==1 || strcmp(M{1},'Ge')==1 || strcmp(M{1},'Sn')==1 || strcmp(M{1},'3C-SiC')==1 || strcmp(M{1},'ZnTe')==1
      display(strcat('Error: No parameter in the Tight Binding (with Spin) model for: ',M{1}))
      return
    else 
      Ek2=TightBinding_f(M{5},a,k,SpinOrbit);
    end
  end
end

if kp8_model==1
  if strcmp(M{1},'C')==1 || strcmp(M{1},'Sn')==1 || strcmp(M{1},'3C-SiC')==1
    display(strcat('Error: No parameter in the k.p 8bands model for: ',M{1}))
    return
  else
    Ek3=kp_8bands_DKK_f(k, Eg, EP_L, Dso, F, g1, g2, g3);
  end
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Figures %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%X0fig=-1800; Y0fig=100;
X0fig=100; Y0fig=100;
Wfig=800;Hfig=800;

figure('Name','Results','position',[X0fig Y0fig Wfig Hfig],'color','w')

FS=18;
LW=1;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

xscale=[0 2*Nk];
yscale=[-2 4];
%xscale=[0 3.5*Nk];
%yscale=[-13 7];

subplot(1,1,1,'fontsize',FS)
hold on;grid on;box on;
s={};
c=0;
if epm_model==1
  c=c+1;
  plot(1:length(k(:,1)),Ek1-max(Ek1(4,:)),'b-', 'linewidth',LW)
  s{c}=strcat('\fontsize{',num2str(FS),'}\color{blue}PseudoPotential');
end

if TB_model==1
  c=c+1;
  plot(1:length(k(:,1)),Ek2,'g-', 'linewidth',LW)
  s{c}=strcat('\fontsize{',num2str(FS),'}\color{green}TightBinding sp3s*');
end

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)

[1]张光寅,张存洲.从基本反射光谱研究金刚石型和闪锌矿型半导体的能带结构[J].物理学报, 1966(09):18-39.

[2]段鹤,陈效双,孙立忠,等.闪锌矿结构CdTe和ZnTe能带结构和有效质量的第一性原理计算[J].物理学报, 2005, 54(11):8.

🌈Matlab代码实现

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值