Matlab  |  Mathcad  |  Maple  |  Mathematica  |  Statistica  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Банк задач  |  Консультации & Форум  |  Download  |  Ссылки  |  Конкурсы
Научно-практический журнал "Exponenta Pro. Математика в приложениях". Вышел 1/2004 номер журнала
Карта сайта | На первую страницу | Поиск |О проекте |Сотрудничество |
Exponenta Pro | Matlab.ru

Наши баннеры


Copyright © 2000-2003. Компания SoftLine. Все права защищены.

Дата последнего обновления информации на сайте: 11.05.04
Сайт начал работу 1.09.00

Программное обеспечение Microsoft, Macromedia, VERITAS, Novell, Borland, Symantec, Oracle и др.

 

 
Моделирование резонансного прохождения электронов через квантовокаскадные сверхрешёточные структуры
выполнил: Трофимук Анатолий, 3 курс,
Белорусский Государственный Университет, факультет радиофизики и электроники,
2003

archive.gif (75 bytes) Архив разработки (89 Кб, Maple)

Содержание

 

 

>    restart:
>    with(LinearAlgebra): with(ScientificConstants):

Введение

Потенциальный рельеф для электронов в квантово-каскадных гетероструктурах, составленных из    материалов с различным расположением и шириной энергетических зон, имеет в поперечном к плоскости   слоев направлении форму потенциальных ям и барьеров, а значения энергии и импульса электрона в потенциальных ямах будут квантоваться. Это приводит к тому, что при поперечном движении электронов через такую систему ям и барьеров, вследствие интерференции электронных волн, отражающихся от границ раздела соседних слоев, наблюдаются эффекты резонансного протекания тока . Для электронов, поперечная энергия которых совпадает с энергией какого-либо из резонансных уровней, проницаемость барьеров очень сильно возрастает, так что частица, проходя сквозь эти барьеры, практически их не ощущает. При этом носитель заряда проходит структуру, в целом, не подвергаясь за метному отражению.Следствием этих процессов является значительное увеличение амплитуды волновой функции в яме по сравнению с амплитудой волновой функции снаружи ямы. Таким образом, физика квантовокаскадных структур тесно связана с эффектами резонансного туннелирования и интерференцией электронных волн, отражающихся от барьеров.Значения энергии и вид волновых функций для потенциальной ямы произвольной формы определяются из решения стационарного уравнения Шредингера, имеющего  следующий вид


-h^2/(2*m)*diff(Psi(z),`$`(z,2))-(E[n]-V(z))*Psi(z) = 0


где E[n]  – уровни размерного квантования, V(z) = e*phi(z)-e*E*z  – полный потенциал структуры, phi(z) – электростатический потенциал, E – напряженность электрического поля. Отметим, что резонансные энергетические уровни являются строго дискретными только в предельном случае бесконечно широких барьеров, когда отсутствуетутечка электронов из ямы, и не происходит их рассеяния. В структурах, где толщина барьеров конечна, волновая функция электрона не может быть в принципе локализована полностью в яме, и существует конечная вероятность просачивания частицы наружу. Это приводит, в свою очередь, к тому, что уровни энергии частицы в потенциальной яме приобретают конечную ширину, а соответствующие состояния превращаются из чисто стационарных в квазистационарные.Для решения уравнения Шредингера используем оптическую модель резонансного туннелирования, в которой электронные волны рассматриваются по аналогии со световыми волнами . Тогда для описания процесса прохождения электронной волны через материал, профиль потенциальной энергии которого изменяется с координатой, разобьем интересующий нас интервал координат на малые участки, как показано на Рис.1,

[Maple Bitmap]

 в пределах которых считаем V(z)  постоянным. Поэтому волновую функцию электрона можно представить в виде суперпозиции плоских волн, распространяющихся в противоположных направлениях:
Psi(z) = A[i]*exp(j*k[i]*(z-z[i]))+B[i]*exp(-j*k[i]*(z-z[i])) ,при z[i] < z < z[i+1]
где k[i] = 1/h*sqrt(2*m[i]*(E[n]-U(z[i])))  - волновой вектор электрона.
Чтобы связать амплитуды волновых функций электрона в точках на границе соседних слоев i и i+1, необходимо приравнять волновые функции электрона и их производные по координате с учетом различных эффективных масс в слоях. В результате находим следующее матричное преобразование, связывающее амплитуды волновой функции электрона в точках i и i+1

[Maple Bitmap]

Здесь матрица перехода M[i]  от i к i+1 слою имеет вид

[Maple Bitmap] ,

где p[i] = k[i]*m[i+1]/(k[i+1]*m[i])
Зная граничные условия для волновой функции и эффективные массы слоёв ,мы можем найти собственную энергию электрона E[n]  для данной структуры.В силу комплексности уравнения уровни энергии оказываются комплексными величинами и в общем случае представляются как   E[n] = E[n][1]+j*E[n][2] Интересным оказывается физический смысл мнимой части собственной энергии электрона. Учитывая временную зависимость волновой функции, концентрацию электронов n на данном энергетическом уровне можно представить в виде

n  ~ abs(exp(j*E[n]*t))^2 = exp(-2*E[n][2]*t/h) = exp(-t/tau[n]).

Как видно из выражения , величина E[n][2]  определяет время жизни на данном энергетическом уровне tau[n] = h/(2*E[n][2]). Такое представление волновых функций и уровней энергии электрона позволяет сразу находить как энергетическое положение уровней так и их населенность, что является очень удобным для поиска оптимальных условий инверсной населенности в квантово-каскадных структурах.

Метод Ньютона

>    newton:=proc(eq,per,nac,mx) local eq2,X,i,df;
eq2:=subs(per=x,eq):
df:=diff(lhs(eq2),x):
X:=nac:
for i from 1 to mx do
X:=X-subs(x=X,lhs(eq2))/subs(x=X,df):
X:=evalf(X):
end do;
X;
end proc:

Искривление потенциала структуры

>    kriv:=proc(U,z,kvo,V) global Out,profil_out,P1,P2:local line,i,j,l,a,b,profil,Y:
Y:=[sum(z[l],l=1..j)$j=1..kvo+1]:
a[1]:=x<=Y[1] and x>=0:a[2]:=U[1]:
b[1]:=x<=Y[1] and x>=0:b[2]:=U[1]:

Out := [seq(U[j]-V*(Y[j]-z[j]/2)/Y[kvo],j=1 .. kvo+1)]:

j:=2:l:=1:

for i from 2 to 2*(kvo+1) do
 if type(i,odd)
   then a[i]:=x>=Y[j-1] and x<=Y[j]:
        b[i]:=x>=Y[j-1] and x<=Y[j]:j:=j+1:
   else a[i]:=U[l]:b[i]:=Out[l]:l:=l+1:
 end if:
end do:

profil:=x->convert(If(a[i]$i=1..2*(kvo+1)),piecewise):i:='i':
profil_out:=x->convert(If(b[i]$i=1..2*(kvo+1)),piecewise):

line:=x -> U[1]-V*x*Y[(kvo)]^(-1):

P1:=plot(profil(x),x=0..Y[(kvo+1)],color=black,thickness=2,labels=["z","Ec(z)"]):
P2:=plot([profil_out(x),line(x)],x=0..Y[(kvo+1)],color=[black,grey],thickness=[2,0],labels=["z","Ec(z)"]):
end proc:

Расчёт массивов k,m,Y

>    kmy:=proc(X,z,Out,kvo) global k,m,Y:
el:=GetValue(Constant(e)):
h := GetValue(Constant(h))/(2*Pi):
me:=GetValue(Constant(m[e])):
Y:=[sum(z[l],l=1..j)$j=1..kvo+1]:
m:= [seq(0.067+0.083*X[i],i=1..kvo+1)]:
k:=[seq(sqrt(2*m[j]*me*(E*el-Out[j]*el))/h,j=1..kvo+1)]:
end proc:
 
Warning, `el` is implicitly declared local to procedure `kmy`
Warning, `h` is implicitly declared local to procedure `kmy`
Warning, `me` is implicitly declared local to procedure `kmy`
 

Граничные условия на входе

>    Ao:=1:
>    Bo:=-1:

Расчёт амплитуд для каждого слоя

>    rashet:=proc(A,B,kv) local p,j,R,Aвх,Aвых,M,Buf:global F:

p:=i->k[i]*m[i+1]/(k[i+1]*m[i]):
Матрица перехода от i слоя к i+1 слою
M:=i->Matrix([[((1+p(i))/2)*exp(I*k[i]*(z[i])), ((1-p(i))/2)*exp(-I*k[i]*(z[i]))] , [((1-p(i))/2)*exp(I*k[i]*(z[i])), ((1+p(i))/2)*exp(-I*k[i]*(z[i]))]]):
Цикл расчёта амплитуд на входе и выходе каждого слоя (массив F)
Aвх:=Vector([A,B]):
F[1]:=Aвх:
for j from 2 by 1 to kv do   
  Aвых:=Multiply(M(j-1),Aвх):
  Aвх:=Aвых:
  F[j]:=Aвх:
end do:
F[kv]:=Aвх:
F;
end proc:

Невязка волновой функции электрона от его энергии при заданных граничных условиях

>    nev:=proc(kv,Out) local Psi_out,j,m,pRe,pIm:global eq2:
m:=max(Out[j]$j=1..kv+1):
Расчёт амплитуд
rashet(Ao,Bo,kv):
Уравнение для волновой функции на выходе
eq2:=F[kv][1]*exp(I*k[kv]*(z[kv]))+F[kv][2]*exp(-I*k[kv]*(z[kv]))=0:
Графики действительной и мнимой частей волновой функции от энергии (невязка)
pRe:=plot(Re(lhs(eq2)),E=0..m,color=blue,legend="действительная часть"):
pIm:=plot(Im(lhs(eq2)),E=0..m,color=red,legend="мнимая часть"):
plots[display](pIm,pRe,title="График невязки",view=[0..m,-5..5]);
end proc:

График квадрата  модуля волновой функции электрона

>    graf:=proc(W,cls,zoom,kvo) local i,p,j:global pr,E,grafic:

E:=Re(W):
Расчёт массива графиков волновой функции в каждом слое
for i from 1 by 1 to kvo do
p[i]:=plot((Re(F[i][1]*exp(I*k[i]*(x-(Y[i]-z[i])))+F[i][2]*exp(-I*k[i]*(x-(Y[i]-z[i]))))^2)/zoom+W,x=Y[i]-z[i]..Y[i],color=cls,thickness=0,labels=["z","Ec(z)"]):
end do:
Построение графика волновой функции и профиля структуры
pr:=plot(profil_out(x),x=0..Y[kvo+1],color=black,thickness=2):
grafic:=plots[display]({seq(p[j],j=1..kvo),pr},title="Квадрат модуля\n волновой функции"):

E:='E'

end proc:

Первая статья

Исходные данные

Всего слоёв

>    kvo:=7:

Потенциал структуры (электронвольты)

>    U := [0.375,0,0.375,0,0.19,0,0.375,0]:
>    U := [0.375,0,0.375,0,0.19,0,0.375,0]:

Толщины слоёв

>    z:=[8.8e-9,5.1e-9,1.1e-9,8.8e-9,2e-9,5.4e-9,8.8e-9,0.1e-9]:

Cостав вещества на каждом интервале

>    X:=[0.45,0,0.22,0,0.22,0,0.45,0,0.3,0,0.3,0,0.3]:

Вывод результатов

>    kriv(U,z,kvo,0):
>    kmy(X,z,Out,kvo):
>    nev(kvo,Out);

[Maple Plot]

Собственные энергии электрона

>    E1:=newton(eq2,E,0.033,5);

E1 := .3324651024e-1-.9271064607e-11*I

>    E2:=newton(eq2,E,0.069,5);

E2 := .6884760599e-1-.1836251148e-14*I

>    E3:=newton(eq2,E,0.085,5);

E3 := .8539758978e-1+.2949257224e-20*I

>    E4:=newton(eq2,E,0.155,5);

E4 := .1561731975+.2635071417e-11*I

>    graf(E1,blue,6e10,kvo): g1:=grafic:
graf(E2,red,3e9,kvo):  g2:=grafic:
graf(E3,sienna,4e8,kvo):g3:=grafic:
graf(E4,black,3e8,kvo):g4:=grafic:
plots[display](g1,g2,g3,g4);

[Maple Plot]

[Maple Bitmap]

Вторая статья

Исходные данные

Всего слоёв

>    kvo:=5:

Потенциал структуры (электронвольты)

>    U := [0.5,0.04,0.5,0.04,0.5,0.04]:

Толщины слоёв

>    z:=[5e-9,8e-9,4e-9,2e-9,3e-9,10e-9]:

Cостав вещества на каждом интервале

>    X:=[0.3,0,0.3,0,0.3,0]:

Вывод результатов

>    kriv(U,z,kvo,0.3);

[Maple Plot]

>    m:='m':
>    kmy(X,z,Out,kvo):
>    nev(kvo,Out);

[Maple Plot]

Собственные энергии электрона

>    E1:=newton(eq2,E,0.043,5);

E1 := .4770356098e-1+.5482724318e-10*I

>    E2:=newton(eq2,E,0.12,5);

E2 := .1131847833-.934841883e-12*I

>    graf(E1,blue,5e8,kvo): g1:=grafic:
graf(E2,red,3e5,kvo):  g2:=grafic:
plots[display](g1,g2);

[Maple Plot]

[Maple Bitmap]

Наверх