Terahertz Opto-Electronics Analyzation
Final Project of EE290D (Terahertz Opto-Electronics, Graduate Level) – Advisor: Prof. Juncheng Cao, ShanghaiTech University
This project is to analyze the relationship between the chemical potential 𝜇 and the doping concentration N and the relationship between an auxiliary value ∏02 and the doping concentration N. Here is the report:
THzThe MATLAB code is given below:
clear all; %% Constant Parameters setting %Wave-Vector q=1e8; %Frequency w=1e8; %Mass m_0=9.10953e-31; m=0.067*m_0; %Electron Temperature T_e=1; %Boltzmann Constant k_B=1.3806599e-23; %Plank Constant h=1.05459e-34; %Electron Charge e=1.6e-19; %Others alpha=12; miu_0=2400; %% Variable Parameters setting %B B=[3.5 1.5 0.5 0.05]; %nsy if for calculate miu-N %l_B l_B=sqrt(h./(e*B)); nsy=[10 30 50 300]; %nsy if for calculate Pai-N nspai=[10 10 30 80]; %Initialize miu miu=2e-22:0.1e-22:3.2e-21; %Initialize the result y=zeros(4,length(miu)); pais=zeros(4,length(miu)); for t=1:4 %wc wc=e*B(t)/m; %gama gama=sqrt(2*e*h^2*wc*alpha/(pi*m*miu_0)); %% Calculate N with miu %coefficient s=1/(pi^2*l_B(t)^2*gama)*sqrt(pi/2); % For every miu for j=1:length(miu) pp=0; %Initialize n n=0:nsy(t); xs=zeros(1,length(n)); % Travel n from 0 to nsy for k=1:length(n) % Calculate Landau energy level xs(k)=h*(n(k)+0.5)*wc; % Set the bound of x minx=min([miu(j) xs(k)]); maxx=max([miu(j) xs(k)]); x=minx-3e-21:2.5e-24:maxx+3e-21; % Initialize the result zz=zeros(1,length(x)); % Travel x from lower bound to upper bound for i=1:length(x) zz(i)=(1/(1+exp((x(i)-miu(j))/(k_B*T_e))))*exp(-((x(i)-xs(k))^2)/(2*(gama)^2)); pp=pp+zz(i)*2.5e-24; end end % Calculate N y(t,j)=s*pp; end % Clear clear j zz x minx maxx; %% Calculate Pai with miu temp=l_B(t)^2*q^2/2; for j=1:length(miu) %Initialize n and n' n1=0:nspai(t); n2=0:nspai(t); pai=zeros(length(n1),length(n2)); L=zeros(length(n1),length(n2)); C=zeros(length(n1),length(n2)); % Travel n for k=1:length(n1) % Travel n' for p=max([1 k-15]):min([length(n2) k+15]) %% Calculate Pai_2 % Calculate Landau energy level xs1=h*(n1(k)+0.5)*wc; xs2=h*(n2(p)+0.5)*wc; % Set the bound of x mins=[miu(j) xs1 xs2]; minx=min(mins)-h*w; maxx=max(mins); x=minx-3e-21:1e-24:maxx+3e-21; % Initialize the result zz=zeros(1,length(x)); % Travel x from lower bound to upper bound for i=1:length(x) zz(i)=(1/(1+exp((x(i)-miu(j))/(k_B*T_e)))-1/(1+exp((x(i)-miu(j)+h*w)/(k_B*T_e))))*exp(-((x(i)-xs1)^2+(x(i)-xs2+h*w)^2)/(2*(gama)^2)); pai(k,p)=pai(k,p)+zz(i)*1e-24; end pai(k,p)=-pai(k,p)/(gama^2); %% Calculate L and C nmax=max([n1(k) n2(p)]); nmin=min([n1(k) n2(p)]); % Calculate L for s=0:nmin L(k,p)=L(k,p)+(-1)^s*(factorial(nmax)*temp^s)/(factorial(nmax-nmin+s)*factorial(nmin-s)*factorial(s)); end % Calculate C C(k,p)=(factorial(nmin)/factorial(nmax))*temp^(nmax-nmin)*exp(-temp)*L(k,p)^2; pais(t,j)=pais(t,j)+C(k,p)*pai(k,p); end end end pais(t,:)=pais(t,:)/(2*pi*l_B(t)^2); end %% Plot Pi-N figure; semilogy(y(1,:),-pais(1,:),'b','LineWidth',2); gtext('B=3.5T', 'color', 'b') xlabel('N(m^-^2)'),ylabel('\Pi_0_2'); xlim([1e15 5e15]) ylim([1e28 1e34]) title('\Pi_0_2-N'); hold on; semilogy(y(2,:),-pais(2,:),'r','LineWidth',2); gtext('B=1.5T', 'color', 'r') hold on; semilogy(y(3,:),-pais(3,:),'g','LineWidth',2); gtext('B=0.5T', 'color', 'g') hold on; % Since B=0.05T is strange, the plot is now showed %semilogy(y(4,:),-pais(4,:),'y','LineWidth',2); %gtext('B=0.05T', 'color', 'y') %% Plot miu-N figure; plot(y(1,:),miu/1.6e-22,'b','LineWidth',2); gtext('B=3.5T', 'color', 'b') xlabel('N(m^-^2)'),ylabel('\mu(meV)'); xlim([1e15 5e15]) title('\mu-N'); hold on plot(y(2,:),miu/1.6e-22,'r','LineWidth',2); gtext('B=1.5T', 'color', 'r') hold on plot(y(3,:),miu/1.6e-22,'g','LineWidth',2); gtext('B=0.5T', 'color', 'g') hold on plot(y(4,:),miu/1.6e-22,'y','LineWidth',2); gtext('B=0.05T', 'color', 'y') hold on