breakout fermi velocity into separate function

This commit is contained in:
andy 2021-03-16 07:00:21 +00:00
parent 36f0c6f6b7
commit eea2bc4b79
6 changed files with 37 additions and 24 deletions

View File

@ -1,4 +1,4 @@
function carrier_density = carrier_density_from_fermi(fermi)
function carrier_density = carrier_density_from_fermi(fermi, energy_scale) % J, J
if fermi > 0
sf = 1;
@ -6,13 +6,11 @@ else
sf = -1;
end
a = 0.246e-9; % lattice constant (m)
t = 2.8; % eV
hbar = 6.626e-34 / (2*pi); % Js
root_3_over_2 = sqrt(3) / 2;
carrier_density = fermi^2 / (pi * (root_3_over_2 * a * ev_to_j(t))^2);
carrier_density = fermi^2 ...
/ ...
(pi * ( hbar * fermi_velocity(energy_scale) )^2);
carrier_density = sf * carrier_density;
end

View File

@ -13,18 +13,24 @@ F_TOTAL = 50;
MAX_Y = 30; % carriers
Y_TOTAL = 50;
t = 2.8; % eV
f_vals = logspace(MIN_F, MAX_F, F_TOTAL); % hz
f_vals = f_vals .* (2*pi); % rads-1
y_vals = logspace(0, MAX_Y, Y_TOTAL); % ev
%y_vals = -MAX_Y:2*MAX_Y/Y_TOTAL:MAX_Y; % ev
%y_vals = y_vals + 273.15;
carrier_vals = logspace(0, MAX_Y, Y_TOTAL); % m-2
%carrier_vals = carrier_vals + 273.15;
cond = zeros(length(f_vals), length(y_vals));
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));
for freq=1:length(f_vals)
for y=1:length(y_vals)
% omega (rads-1), fermi_level (J), temp (K), scatter_lifetime (s-1)
cond(freq, y) = sheet_conductivity(f_vals(freq), fermi_from_carrier_density(y_vals(y)), 300, 5e-15);
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);
end
end
@ -33,7 +39,7 @@ if DISPLAY_HZ % divide radians back to hertz
end
figure(1)
surf(f_vals, y_vals, transpose(real(cond)));
surf(f_vals, carrier_vals, transpose(real(cond)));
h = gca;
rotate3d on
grid;
@ -50,7 +56,7 @@ else
end
figure(2)
surf(f_vals, y_vals, transpose(imag(cond)));
surf(f_vals, carrier_vals, transpose(imag(cond)));
h = gca;
rotate3d on
grid;

View File

@ -15,7 +15,7 @@ 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, ev_to_j(3), 300, 5e-12)];
cond = [cond sheet_conductivity(x, fermi_from_carrier_density(7e7, ev_to_j(2.8)), 3000, 5e-12)];
end
if DISPLAY_HZ % divide radians back to hertz

View File

@ -1,4 +1,4 @@
function fermi = fermi_from_carrier_density(carrier_density)
function fermi = fermi_from_carrier_density(carrier_density, energy_scale), % cm-2, J
if carrier_density > 0
sf = 1;
@ -6,16 +6,12 @@ else
sf = -1;
end
carrier_density = abs(carrier_density);
a = 0.246e-9; % lattice constant (m)
t = 2.8; % eV
hbar = 6.626e-34 / (2*pi); % Js
root_3_over_2 = sqrt(3) / 2;
carrier_density = abs(carrier_density);
fermi_velocity_eq = (root_3_over_2 * a * ev_to_j(t))^2;
fermi = sf * sqrt(carrier_density * pi * fermi_velocity_eq);
fermi = sqrt(carrier_density * pi * ( hbar * fermi_velocity(energy_scale) )^2 );
fermi = sf * fermi;
end

View File

@ -0,0 +1,9 @@
function fermi = fermi_velocity (energy_scale) % J
a = 0.246e-9; % lattice constant (m)
hbar = 6.626e-34 / (2*pi); % Js
fermi = (sqrt(3)/2) * a * energy_scale / hbar;
end
% m/s

View File

@ -0,0 +1,4 @@
function eV = j_to_ev(j)
eV = j / 1.602e-19;
end