added start of conductivity calculations
This commit is contained in:
parent
feebd8eef6
commit
49748226a8
44
2D-Conductivity/conductivity_calc_surface.m
Normal file
44
2D-Conductivity/conductivity_calc_surface.m
Normal file
@ -0,0 +1,44 @@
|
||||
%% conductivity_calc_surface.m
|
||||
%%
|
||||
%% calculate and present 2D sheet conductivty for graphene
|
||||
|
||||
close all; clear all; clc;
|
||||
|
||||
DISPLAY_HZ = true;
|
||||
MAX_F = 1e12; % Hz
|
||||
F_TOTAL = 1e3;
|
||||
MAX_Y = 10; % ev
|
||||
Y_TOTAL = 100;
|
||||
|
||||
f_vals = 1:MAX_F/F_TOTAL:MAX_F; % hz
|
||||
f_vals = f_vals .* (2*pi); % rads-1
|
||||
|
||||
y_vals = 1:MAX_Y/Y_TOTAL:MAX_Y; % ev
|
||||
%y_vals = y_vals + 273.15;
|
||||
|
||||
cond = zeros(length(f_vals), length(y_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), ev_to_j(y_vals(y)), 300, 5e-12);
|
||||
end
|
||||
end
|
||||
|
||||
if DISPLAY_HZ % divide radians back to hertz
|
||||
f_vals = f_vals ./ (2*pi);
|
||||
end
|
||||
|
||||
surf(f_vals, y_vals, transpose(abs(cond)));
|
||||
|
||||
h = gca;
|
||||
rotate3d on
|
||||
grid();
|
||||
set(h, 'xscale', 'log')
|
||||
title('2D Sheet Conductivity');
|
||||
ylabel('Fermi Level (ev)');
|
||||
zlabel('Conductivity (S/m)');
|
||||
if DISPLAY_HZ
|
||||
xlabel('Frequency (Hz)');
|
||||
else
|
||||
xlabel('Frequency (rads-1)');
|
||||
end
|
31
2D-Conductivity/conductivity_calculations.m
Normal file
31
2D-Conductivity/conductivity_calculations.m
Normal file
@ -0,0 +1,31 @@
|
||||
%% conductivity_calculations.m
|
||||
%%
|
||||
%% calculate and present 2D sheet conductivty for graphene
|
||||
|
||||
close all; clear all; clc;
|
||||
|
||||
DISPLAY_HZ = true;
|
||||
MAX_F = 1e12;
|
||||
F_TOTAL = 1e4;
|
||||
|
||||
x_vals = 1:MAX_F/F_TOTAL:MAX_F; % hz
|
||||
x_vals = x_vals .* (2*pi); % rads-1
|
||||
|
||||
% omega (rads-1), fermi_level (J), temp (K), scatter_lifetime (s-1)
|
||||
cond = arrayfun(@(x) sheet_conductivity(x, ev_to_j(3), 300, 5e-12), x_vals);
|
||||
|
||||
if DISPLAY_HZ % divide radians back to hertz
|
||||
x_vals = x_vals ./ (2*pi);
|
||||
end
|
||||
|
||||
%plot(x_vals, cond);
|
||||
semilogx(x_vals, cond);
|
||||
|
||||
grid();
|
||||
title('2D Sheet Conductivity');
|
||||
ylabel('Conductivity (S/m)');
|
||||
if DISPLAY_HZ
|
||||
xlabel('Frequency (Hz)');
|
||||
else
|
||||
xlabel('Frequency (rads-1)');
|
||||
end
|
5
2D-Conductivity/ev_to_j.m
Normal file
5
2D-Conductivity/ev_to_j.m
Normal file
@ -0,0 +1,5 @@
|
||||
function J = ev_to_j(electron_volts)
|
||||
%EV_TO_J Transform electron-volts into Joules
|
||||
J = electron_volts * 1.602e-19;
|
||||
end
|
||||
|
5
2D-Conductivity/hz_to_omega.m
Normal file
5
2D-Conductivity/hz_to_omega.m
Normal file
@ -0,0 +1,5 @@
|
||||
function omega = hz_to_omega(Hz)
|
||||
%HZ_TO_OMEGA Transform Hz into angular frequency
|
||||
omega = 2*pi*Hz;
|
||||
end
|
||||
|
37
2D-Conductivity/sheet_conductivity.m
Normal file
37
2D-Conductivity/sheet_conductivity.m
Normal file
@ -0,0 +1,37 @@
|
||||
function conductivity = sheet_conductivity(omega, fermi_level, temp, scatter_lifetime)
|
||||
%SHEET_CONDUCTIVITY Calculate 2D sheet conductivity
|
||||
|
||||
%% CONSTANTS
|
||||
e = 1.602e-19; % coulombs
|
||||
kb = physconst('Boltzmann'); % J/K
|
||||
hbar = 6.626e-34 / (2*pi); % Js
|
||||
|
||||
%% TERM 1
|
||||
term1_coeff = (2i*(e^2)*kb*temp) ...
|
||||
/ ...
|
||||
(pi*hbar^2*(omega + (1i/scatter_lifetime)));
|
||||
term1 = log(2*cosh(fermi_level ...
|
||||
/ ...
|
||||
(2*kb*temp)));
|
||||
|
||||
%% TERM 2
|
||||
term2_coeff = (e^2) ...
|
||||
/ ...
|
||||
(4*hbar);
|
||||
|
||||
term_2_term_1 = 1/2;
|
||||
term_2_term_2 = (1/pi) * ...
|
||||
atan((hbar*omega - 2*fermi_level) ...
|
||||
/ ...
|
||||
(2*kb*temp));
|
||||
|
||||
term_2_term_3 = (1i/2*pi) * ...
|
||||
log((hbar*omega + 2*fermi_level)^2 ...
|
||||
/ ...
|
||||
((hbar*omega - 2*fermi_level)^2 + 4*((kb*temp)^2)));
|
||||
|
||||
%% OUTPUT
|
||||
conductivity = term1_coeff*term1 + term2_coeff*(term_2_term_1 + term_2_term_2 - term_2_term_3);
|
||||
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user