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