说明:
1.由于代码的编写时间不同,导致同一物理量在不同代码文件中所用的符号不一致
2.如果lsqcurvefit
函数不能运行,可能是没有安装相关工具包,可以根据提示安装
3.如果有问题欢迎讨论,欢迎指出错误
4.关于简并与非简并实属模糊
5.参考并致谢:穿越千年
1.单抛物带模型计算(简并条件下)
1.1 计算公式
S=\frac{8\pi^2{k_\mathrm{B}}^2T}{3eh^2}m_{\mathrm{d}}^{*}\left(\frac{\pi}{3p}\right)^{2/3}
m_{\mathrm{d}}^{\ast}=N_{\mathrm{v}}^{2/3}m_{\mathrm{b}}^\ast:态密度有效质量
1.2 计算代码
%基于单抛物带模型拟合S-p的关系得到态密度有效质量----简并条件下
clc,clear
Kb = 1.38066*10^-23; %J/K 1J=1V*A*s 1W = 1J/s
h = 6.62608*10^-34; %J*s
hr = h/(2*pi); %约化普朗克常数
e = 1.60219*10^-19; %1C=1A*s
me = 9.10953*10^-31; %Kg
K = Kb/e;
T = 323; %K 测试温度
Sdata = [76.76, 101.92, 108.97, 174.48]*10^(-6); %塞贝克系数实验值,将uV/K转换为V/K
pdata = [1.97, 1.04, 0.46, 0.63]*10^20*10^6; %载流子浓度实验值(与塞贝克系数一一对应),将cm^-3转换为m^-3
% Sdata = [76.76]*10^(-6); %将uV/K转换为V/K
% pdata = [1.97]*10^20*10^6; %cm^-3, 转换为m^-3
em0 = 1; %态密度有效质量拟合的初值,和初值有很大关系,可以根据文献赋值,并进行修改
S = @(em,pdata)(8*pi^2*Kb^2)/(3*e*h^2)*em*me*T*(pi./(3*pdata)).^(2/3);
[emf, resnorm] = lsqcurvefit(S, em0, pdata, Sdata); %emf:拟合的得到的态密度有效质量,resnorm:残差平方和
display(emf); %显示拟合得到的值
pdatac = (0.2:0.001:2)*10^26;
Sdatac = S(emf, pdatac);
plot(pdatac*10^(-24), Sdatac*10^(6), '-');
hold on
plot(pdata*10^(-24), Sdata*10^(6), 'ro', 'MarkerFaceColor', 'r'); %数据点为实心圆
xlabel('p [10^{18}\cdotcm^{-3}]');
ylabel('S [\muV\cdotK^{-1}]');
1.3 计算结果
2.单抛物带模型计算(通用)
2.1 计算公式
费米-狄拉克积分:
F_i(\eta)=\int_0^\infty \frac{x^i}{1+e^{(x-\eta)}} \mathrm{d}x
塞贝克系数:
S(\eta)=\frac{k_\mathrm{B}}{e}\left[ \frac{(r+2)F_{r+1}(\eta)}{(r+1)F_{r}(\eta)}-\eta \right]
霍尔载流子浓度:
p_\mathrm{H} =4\pi\left(\frac{2m_{\mathrm{d}}^*k_\mathrm{B} T}{h^2}\right)^{3/2}\frac{F_{1/2}(\eta)}{r_\mathrm{H}}
霍尔因子:
r_\mathrm{H} = \frac{3}{4}\frac{F_{1/2}(\eta)F_{-1/2}(\eta)}{F_0^2(\eta)}
霍尔迁移率(非简并条件):
\mu_\mathrm{H}=\frac{1}{2}\frac{F_{-1/2}(\eta)}{F_0(\eta)}\mu_{0}
\mu_{0}:漂移迁移率
电导率:
\sigma =pe\mu=\frac{16\sqrt{2}\pi ek_\mathrm{B}^{3/2}TF_0(\eta)}{3h^3}\mu_{0}{m_\mathrm{d}^{*}}^{3/2}
\mu_\mathrm{w} = \mu_{0}{m_\mathrm{d}^{\ast}}^{3/2}:为加权迁移率
洛伦兹常数(参考其它文献):
L=\left(\frac{k_\mathrm{B}}{e}\right)^2 \left\{
\frac{(r+3)F_{r+2}(\eta)}{(r+1)F_{r}(\eta)} -\left[\frac{(r+2)F_{r+1}(\eta)}{(r+1)F_{r+1}(\eta)}\right]^2 \right\}
2.2 拟合数据得到态密度有效质量
2.2.1 计算代码
%基于单抛物带模型拟合S-p的关系得到态密度有效质量,前提是这一组数据态密度有效质量相差不大
clc,clear
Kb = 1.38066*10^-23; %J/K 1J=1V*A*s
e = 1.60219*10^-19; %1C=1A*s
K = Kb/e;
lambda = 0;%只考虑声学声子散射lambad = 0,离化杂质散射为2
h = 6.62608*10^-34; %J*s
me = 9.10953*10^-31; %Kg
T = 323; % K 测试温度
Sdata = [76.76, 101.92, 108.97, 174.48]*10^(-6); %将uV/K转换为V/K
pdata = [1.97, 1.04, 0.46, 0.63]*10^20*10^6; %将cm^-3转换为m^-3; 10^26m^(-3)=10^20 cm^(-3) 将m^(-3)换成cm^(-3),并且以10^20cm^(-3)为单位开始
% Sdata = [76.76]*10^(-6); %将uV/K转换为V/K
% pdata = [1.97]*10^20*10^6; %cm^-3, 转换为m^-3
Fn = @(no,eta)quadgk(@(x)x.^no./(1+exp(x-eta)),0,inf); %费米积分
rH = @(eta)((3*Fn(1/2,eta)*Fn(-1/2,eta))/(4*Fn(0,eta)^2)); %霍尔因子
%初始化
eta = zeros(1,length(Sdata));
Fndata = zeros(1,length(Sdata));
rHdata = zeros(1,length(Sdata));
for i = 1:length(Sdata)
func1 = @(eta)K*((lambda+2)*Fn(lambda+1,eta)/((lambda+1)*Fn(lambda,eta))-eta)-Sdata(i); %V/K
eta(i) = fzero(func1,0);
Fndata(i) = Fn(1/2,eta(i));
rHdata(i) = rH(eta(i));
end
Fr = Fndata./rHdata;
func2 = @(em,Fr)(4*pi*(2*Kb*T*em*me)^(3/2)/h^3.*Fr); %func2 = p
% func2 = @(em, eta)(4*pi*(2*Kb*T*em*me)^(3/2)/h^3*Fn(1/2,eta)/rH(eta)); %func2 = p
em0 = 12; %态密度有效质量拟合的初值,和初值有很大关系,可以根据文献赋值,并进行修改
[emf, resnorm] = lsqcurvefit(func2, em0, eta, pdata); %emf:拟合的得到的态密度有效质量,resnorm:残差平方和
display(emf); %显示拟合得到的值
%拟合得到态密度有效质量
p = (0.2:0.01:2)*10^26; %10^26m^(-3)=10^20 cm^(-3) 将m^(-3)换成cm^(-3),并且以10^20cm^(-3)为单位开始
S = zeros(1,length(p));
for i = 1:length(p)
f1 = @(eta)(4*pi*(2*Kb*T*emf*me)^(3/2)/h^3*Fn(1/2,eta)/rH(eta)-p(i));
eta(i) = fzero(f1,0);
S(i) = K*((lambda+2)*Fn(lambda+1,eta(i))/((lambda+1)*Fn(lambda,eta(i)))-eta(i)); %V/K
end
plot(p*10^(-24),S*10^6,'-','LineWidth',1) %将V/K换成uV/K
hold on
plot(pdata*10^(-24), Sdata*10^(6), 'ro', 'MarkerFaceColor', 'r'); %数据点为实心圆
xlabel('p [10^{18}\cdotcm^{-3}]');
ylabel('S [\muV\cdotK^{-1}]');
2.2.2 计算结果
2.3 直接求解态密度有效质量
1.需要将霍尔测试文件和下面的代码文件放在同一文件夹下
2.霍尔测试文件名为hall.txt
,单位要保持一致
3.可以将数据提取出来在专门的软件中作图
2.3.1 计算代码
%求解态度有效质量,读取文件的文件的形式
clc,clear
Kb = 1.38066*10^-23; %J/K 1J=1V*A*s
e = 1.60219*10^-19; %1C=1A*s
K = Kb/e;
lambda = 0;%只考虑声学声子散射lambad = 0,离化杂质散射为2
%读取霍尔测试的文件
fileID = fopen('hall.txt'); %获取打开文件的文件句柄(指针),注意文件名要一致
data = textscan(fileID, '%f%f', 'headerlines',1); %只读取原始数据的第1-2列,从第2行开始读取
fclose(fileID);%关闭文件句柄
%将元胞数组转换为矩阵
matrix = cell2mat(data);
pdata = matrix(:,1)*10^20*10^6; %Carrier density 载流子浓度,10^20cm^-3 %cm^-3, 转换为m^-3; 10^25m^(-3)=10^19 cm^(-3) 将m^(-3)换成cm^(-3),并且以10^19cm^(-3)为单位开始
pdata = pdata'; %需要是行数据
Sdata = matrix(:,2)*10^-6; %Seebeck coefficient 塞贝克系数,V/K
Sdata = Sdata';
% Sdata = [76.76,101.92,108.97,174.48]*10^(-6);
% pdata = [1.97,1.04,0.46,0.63]*100*10^(24); %10^24m^(-3)=10^18 cm^(-3)
h = 6.62608*10^-34; %J*s
hr = h/(2*pi);
me = 9.10953*10^-31; %Kg
T = 323; %K
Fn = @(no,eta)quadgk(@(x)x.^no./(1+exp(x-eta)),0,inf);
%rH = @(eta)((3*Fn(1/2,eta)*Fn(-1/2,eta))/(4*Fn(0,eta)^2));
%基于不同函数的两种求解方式,fzero和fsolve两个函数求解零点方式有区别,所以得到的值可能不同,正常情况下是一样的
m1 = zeros(1,4);
m2 = zeros(1,4);
for i = 1:length(Sdata)
f1 = @(eta)(K*((lambda+2)*Fn(lambda+1,eta)/((lambda+1)*Fn(lambda,eta))-eta)-Sdata(i)); %V/K
eta = fzero(f1,0);
m1(i) = (2*pi^2*pdata(i)/Fn(1/2,eta))^(2/3)*(hr)^2/(2*Kb*T*me);
f2 = @(m)(4*pi*(2*Kb*T*m*me)^(3/2)/(h^3)*Fn(1/2,eta)-pdata(i)); %10^24m^(-3)=10^18 cm^(-3) 将m^(-3)换成cm^(-3),并且以10^18cm^(-3)为单位开始
m2(i) = fsolve(f2,0);
end
%有效质量m=m1=m2
m = m1;
%由求得的有效质量画Pisarenko曲线
p = (0.2:0.01:14)*10^26; %10^26m^(-3)=10^20 cm^(-3) 将m^(-3)换成cm^(-3),并且以10^20cm^(-3)为单位开始
S = zeros(1,length(p));
%第一行是在有效质量为m(1)时不同载流子浓度下的塞贝克系数
for i =1:length(m)
for j = 1:length(p)
f1 = @(eta)(4*pi*(2*Kb*T*m(i)*me)^(3/2)/h^3*Fn(1/2,eta)-p(j));
eta(i,j) = fzero(f1,0);
S(i,j) = K*((lambda+2)*Fn(lambda+1,eta(i,j))/((lambda+1)*Fn(lambda,eta(i,j)))-eta(i,j)); %V/K
end
end
plot(p*10^(-26),S*10^6,'-','LineWidth',1) %将V/K换成uV/K
hold on
plot(pdata*10^(-26), Sdata*10^(6), 'ro', 'MarkerFaceColor', 'r'); %数据点为实心圆
xlabel('p [10^{20}\cdotcm^{-3}]');
ylabel('S [\muV\cdotK^{-1}]');
%plot(p,S(:,j)*10^6,'LineWidth',1) %将V/K换成uV/K
% hold on
霍尔测试文件(hall.txt)示例
p (10^20cm^-3) S (uv/K)
5.19 72.86
4.24 76.89
5.54 69.07
2.79 105.08
12.00 106.85
评论区