inter/intra breakdown, better max carrier val
This commit is contained in:
parent
eea2bc4b79
commit
c29ffe96bb
@ -4,42 +4,72 @@
|
||||
|
||||
close all; clear all; clc;
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% FLAGS & OPTIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
DISPLAY_HZ = true;
|
||||
|
||||
MIN_F = 0;
|
||||
MAX_F = 15; % Hz
|
||||
F_TOTAL = 50;
|
||||
|
||||
MAX_Y = 30; % carriers
|
||||
MAX_Y = 17; % carriers (m-2)
|
||||
Y_TOTAL = 50;
|
||||
|
||||
%EXCITATION_TYPE = 'intra';
|
||||
EXCITATION_TYPE = 'inter';
|
||||
%EXCITATION_TYPE = 'all';
|
||||
|
||||
t = 2.8; % eV
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% CALCULATE
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
f_vals = logspace(MIN_F, MAX_F, F_TOTAL); % hz
|
||||
f_vals = f_vals .* (2*pi); % rads-1
|
||||
|
||||
carrier_vals = logspace(0, MAX_Y, Y_TOTAL); % m-2
|
||||
%carrier_vals = carrier_vals + 273.15;
|
||||
|
||||
% below turns turns carrier densities into Fermi energies
|
||||
fermi_vals = zeros(1, length(carrier_vals));
|
||||
for carr=1:length(carrier_vals)
|
||||
fermi_vals(carr) = fermi_from_carrier_density(carrier_vals(carr), ev_to_j(t));
|
||||
end
|
||||
|
||||
cond = zeros(length(f_vals), length(fermi_vals));
|
||||
|
||||
% CALCULATE SHEET CONDUCTIVITY
|
||||
cond = zeros(length(f_vals), % frequency
|
||||
length(fermi_vals), % fermi
|
||||
2); % intra/inter
|
||||
for freq=1:length(f_vals)
|
||||
for y=1:length(fermi_vals)
|
||||
% omega (rads-1), fermi_level (eV), temp (K), scatter_lifetime (s-1)
|
||||
cond(freq, y) = sheet_conductivity(f_vals(freq), fermi_vals(y), 300, 5e-12);
|
||||
|
||||
cond(freq, y, :) = sheet_conductivity(f_vals(freq), % omega (rads-1)
|
||||
fermi_vals(y), % fermi_level (J)
|
||||
300, % temp (K)
|
||||
5e-12); % scatter_lifetime (s-1)
|
||||
end
|
||||
end
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% RENDER
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
if DISPLAY_HZ % divide radians back to hertz
|
||||
f_vals = f_vals ./ (2*pi);
|
||||
end
|
||||
|
||||
figure(1)
|
||||
surf(f_vals, carrier_vals, transpose(real(cond)));
|
||||
if EXCITATION_TYPE == 'intra'
|
||||
surf(f_vals, carrier_vals, transpose(real(cond(:, :, 1))));
|
||||
elseif EXCITATION_TYPE == 'inter'
|
||||
surf(f_vals, carrier_vals, transpose(real(cond(:, :, 2))));
|
||||
else
|
||||
surf(f_vals, carrier_vals, transpose(real(sum(cond, 3))));
|
||||
end
|
||||
h = gca;
|
||||
rotate3d on
|
||||
grid;
|
||||
@ -47,7 +77,7 @@ colorbar;
|
||||
set(h, 'xscale', 'log')
|
||||
set(h, 'yscale', 'log')
|
||||
title('2D Sheet Real Conductivity');
|
||||
ylabel('Net Carrier Density');
|
||||
ylabel('Net Carrier Density (m-2)');
|
||||
zlabel('Conductivity (S/m)');
|
||||
if DISPLAY_HZ
|
||||
xlabel('Frequency (Hz)');
|
||||
@ -56,7 +86,14 @@ else
|
||||
end
|
||||
|
||||
figure(2)
|
||||
surf(f_vals, carrier_vals, transpose(imag(cond)));
|
||||
if EXCITATION_TYPE == 'intra'
|
||||
surf(f_vals, carrier_vals, transpose(imag(cond(:, :, 1))));
|
||||
elseif EXCITATION_TYPE == 'inter'
|
||||
surf(f_vals, carrier_vals, transpose(imag(cond(:, :, 2))));
|
||||
else
|
||||
surf(f_vals, carrier_vals, transpose(imag(sum(cond, 3))));
|
||||
end
|
||||
surf(f_vals, carrier_vals, transpose(imag(sum(cond, 3))));
|
||||
h = gca;
|
||||
rotate3d on
|
||||
grid;
|
||||
@ -64,7 +101,7 @@ colorbar;
|
||||
set(h, 'xscale', 'log')
|
||||
set(h, 'yscale', 'log')
|
||||
title('2D Sheet Imaginary Conductivity');
|
||||
ylabel('Net Carrier Density');
|
||||
ylabel('Net Carrier Density (m-2)');
|
||||
zlabel('Conductivity (S/m)');
|
||||
if DISPLAY_HZ
|
||||
xlabel('Frequency (Hz)');
|
||||
|
@ -4,29 +4,56 @@
|
||||
|
||||
close all; clear all; clc;
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% FLAGS & OPTIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
DISPLAY_HZ = true;
|
||||
MIN_F = 9;
|
||||
MAX_F = 15;
|
||||
F_TOTAL = 1e2;
|
||||
|
||||
%EXCITATION_TYPE = 'intra';
|
||||
EXCITATION_TYPE = 'inter';
|
||||
%EXCITATION_TYPE = 'all';
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% CALCULATE
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
x_vals = logspace(MIN_F, MAX_F, F_TOTAL); % hz
|
||||
x_vals = x_vals .* (2*pi); % rads-1
|
||||
|
||||
cond = [];
|
||||
for x=x_vals
|
||||
% omega (rads-1), fermi_level (J), temp (K), scatter_lifetime (s-1)
|
||||
cond = [cond sheet_conductivity(x, fermi_from_carrier_density(7e7, ev_to_j(2.8)), 3000, 5e-12)];
|
||||
% CALCULATE SHEET CONDUCTIVITY
|
||||
cond = zeros(length(x_vals), 2);
|
||||
for x=1:length(x_vals)
|
||||
cond(x, :) = sheet_conductivity(x_vals(x), % omega (rads-1)
|
||||
fermi_from_carrier_density(2.2e17, ev_to_j(2.8)), % fermi_level (J)
|
||||
300, % temp (K)
|
||||
0.135e-12); % scatter_lifetime (s-1)
|
||||
end
|
||||
|
||||
if DISPLAY_HZ % divide radians back to hertz
|
||||
x_vals = x_vals ./ (2*pi);
|
||||
end
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% RENDER
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
figure(1);
|
||||
hold on;
|
||||
%plot(x_vals, real(cond));
|
||||
semilogx(x_vals, real(cond));
|
||||
semilogx(x_vals, imag(cond));
|
||||
if EXCITATION_TYPE == 'intra'
|
||||
semilogx(x_vals, real(cond(:, 1)));
|
||||
semilogx(x_vals, imag(cond(:, 1)));
|
||||
elseif EXCITATION_TYPE == 'inter'
|
||||
semilogx(x_vals, real(cond(:, 2)));
|
||||
semilogx(x_vals, imag(cond(:, 2)));
|
||||
else
|
||||
semilogx(x_vals, real(sum(cond, 2)));
|
||||
semilogx(x_vals, imag(sum(cond, 2)));
|
||||
end
|
||||
|
||||
legend('Real', 'Imaginary');
|
||||
grid;
|
||||
|
@ -1,4 +1,4 @@
|
||||
function fermi = fermi_from_carrier_density(carrier_density, energy_scale), % cm-2, J
|
||||
function fermi = fermi_from_carrier_density(carrier_density, energy_scale), % m-2, J
|
||||
|
||||
if carrier_density > 0
|
||||
sf = 1;
|
||||
|
@ -6,7 +6,7 @@ e = 1.602e-19; % coulombs
|
||||
kb = 1.380e-23; % J/K
|
||||
hbar = 6.626e-34 / (2*pi); % Js
|
||||
|
||||
%% TERM 1
|
||||
%% TERM 1 - INTRABRAND
|
||||
term1_coeff = (2i*(e^2)*kb*temp) ...
|
||||
/ ...
|
||||
(pi*hbar^2*(omega + (1i/scatter_lifetime)));
|
||||
@ -14,7 +14,9 @@ term1 = log(2*cosh(fermi_level ...
|
||||
/ ...
|
||||
(2*kb*temp)));
|
||||
|
||||
%% TERM 2
|
||||
intraband = term1_coeff*term1;
|
||||
|
||||
%% TERM 2 - INTERBAND
|
||||
term2_coeff = (e^2) ...
|
||||
/ ...
|
||||
(4*hbar);
|
||||
@ -30,8 +32,10 @@ term_2_term_3 = (1i/2*pi) * ...
|
||||
/ ...
|
||||
((hbar*omega - 2*fermi_level)^2 + 4*((kb*temp)^2)));
|
||||
|
||||
interband = term2_coeff*(term_2_term_1 + term_2_term_2 - term_2_term_3);
|
||||
|
||||
%% OUTPUT
|
||||
conductivity = term1_coeff*term1 + term2_coeff*(term_2_term_1 + term_2_term_2 - term_2_term_3);
|
||||
conductivity = [intraband interband]; % return separately for display or summing
|
||||
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user