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

View File

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

View File

@ -15,7 +15,7 @@ x_vals = x_vals .* (2*pi); % rads-1
cond = []; cond = [];
for x=x_vals for x=x_vals
% omega (rads-1), fermi_level (J), temp (K), scatter_lifetime (s-1) % 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 end
if DISPLAY_HZ % divide radians back to hertz 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 if carrier_density > 0
sf = 1; sf = 1;
@ -6,16 +6,12 @@ else
sf = -1; sf = -1;
end end
carrier_density = abs(carrier_density);
a = 0.246e-9; % lattice constant (m)
t = 2.8; % eV
hbar = 6.626e-34 / (2*pi); % Js 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 = sqrt(carrier_density * pi * ( hbar * fermi_velocity(energy_scale) )^2 );
fermi = sf * sqrt(carrier_density * pi * fermi_velocity_eq); fermi = sf * fermi;
end 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