solving 1D drift diffusion model for a semiconductor using FDTD. Can anyone rectify this error.
33 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ashi Khajotia
am 15 Mai 2023
Bearbeitet: Torsten
am 15 Mai 2023
% Constants and parameters
q = 1.602e-19; % elementary charge
k = 1.38e-23; % Boltzmann constant
eps0 = 8.85e-12; % vacuum permittivity
epsr = 11.7; % relative permittivity of silicon
Na = 1e17; % doping concentration (p-type)
L = 1e-6; % length of the semiconductor
mu_e = 1000*1e-4; % electron mobility
mu_h = 1000*1e-4; % hole mobility
D_e = k*300*mu_e/q; % electron diffusion coefficient
D_h = k*300*mu_h/q; % hole diffusion coefficient
T = 300; % temperature
V = 0.1; % applied voltage
% Spatial and time parameters
nx = 100; % number of spatial grid points
dx = L/nx; % spatial step
dt = 1e-9; % time step
nt = 100; % number of time steps
% Initialize carrier densities and electric potential
n = zeros(nx, 1); % electron density
p = zeros(nx, 1); % hole density
phi = zeros(nx, 1); % electric potential
phi(1) = V; % boundary condition at x=0
% Simulation loop
for t = 1:nt
% Calculate electric field
E = -(phi(2:end) - phi(1:end-1))/dx;
% Calculate electron and hole densities
Jn = q*D_e*(n(3:end) - n(2:end-1))/dx - q*mu_e*E.*n(2:end-1);
Jp = q*D_h*(p(3:end) - p(2:end-1))/dx + q*mu_h*E.*p(2:end-1);
% Update carrier densities
n(2:end-1) = n(2:end-1) + dt*Na./(1+exp((phi(2:end-1)-V/2)/(k*T))) - dt*Jn;
p(2:end-1) = p(2:end-1) + dt*Na./(1+exp((V/2-phi(2:end-1))/(k*T))) - dt*Jp;
% Update electric potential
rho = q*(Na - n - p); % charge density
phi(2:end-1) = phi(2:end-1) + dt*1/(epsr*eps0)*rho(2:end-1);
end
0 Kommentare
Akzeptierte Antwort
Star Strider
am 15 Mai 2023
Bearbeitet: Torsten
am 15 Mai 2023
In the ‘Jp’ and ‘Jn’ calculations, the relevant ‘n’ vectors are (98x1) while ‘E’ is(99x1). That appears to be the problem.
I leave its resolution to you.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Sources finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!