Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
17.08.2019
Размер:
1.19 Mб
Скачать

Туннелирование электрона через потенциальную стенку

http://fn.bmstu.ru/data-physics/library/physbook/tom5/ch4/texthtml/ch4_3.htm

In [1]: using Plots

In [2]: plot([0,0], [0,1.5], line = (:arrow, 1, :black), annotations=(0.05, 1.5, text("U(x)", :left)) ) plot!([-1,1], [0,0], line = (:arrow, 1, :black), annotations=(1, 0.08, text("x", :up))) plot!([-0.7,0,0,1], [0,0,1,1], line = ( 3, :black), leg=false, ticks=nothing, border=:none )

annotate!([(-0.05, 1, text("U0", :right)), (2.4, 1.92, text("a", :center)),

(0, -0.05, text("0", :center)), (-0.5, 0.5, text("I")), (0.5, 0.5, text("II")) ])

Out[2]:

U(x)

U0

I

II

x

0

Электрон падает слева на потенциальную стенку, имеющую конечную высоту . В случае

решения УШ будут иметь вид:

 

 

 

 

 

 

 

 

 

 

Иначе (частица над барьером):

В первом случае

из условия ограничения на бесконечности, во второй системе

, так как в области II над барьером нет отраженной

волны. Находим константы из условий непрерывности на границе:

Положим

, тогда

 

,

 

. Из анализа системы уравнений - Е может принимать любое значение (непрерывный спектр). ВФ

 

 

принимают вид:

И соответственно для

Физический интерес представляют коэффициенты отражения и прохождения, определяемые отношением плотностей потоков отраженных и прошедших через интерфейс электронов к плотности потока падающих на интерфейс электронов. Определим вектор плотности потока вероятности J следующим образом (в нашем одномерном случае это будет скаляр):

Тогда коэффициент прохождения D и коэффициент отражения R определяются следующим образом:

Вектора плотности вероятности для электронов:

- падающих из области I,

- отраженных в область I,

- прошедших в область II. При

:

В случае высокого порога вероятность прохождения нулевая, то есть частица полностью отражается. При

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In [3]: #const ħ = 6.5821e-16 # eV*s const ħ = 1.0546e-34 # J*s const m = 9.1094e-31 # kg const q = 1.6022e-19 # Kl

k(E) = sqrt(2m*E*q)/ħ # 1/m

Out[3]: k (generic function with 1 method)

In [8]: function RD(U0 = 1.)

R(E) = E < U0 ? 1. : ( (1-sqrt(1-U0/E)) / (1+sqrt(1-U0/E)) )^2 D(E) = E < U0 ? 0. : 4sqrt(1-U0/E) / (1+sqrt(1-U0/E))^2

e = [0:0.01U0:2U0;]

plot(R, e, line = 3, lab = "R(E)") plot!(D, e, line = 3, lab = "D(E)")

title!("Transmission and Reflection coefficients")

end

Out[8]: RD (generic function with 2 methods)

In [9]: RD(5.)

Out[9]:

Transmission and Reflection coefficients

1.00

 

 

 

 

 

 

 

 

R(E)

 

 

 

 

D(E)

0.75

 

 

 

 

0.50

 

 

 

 

0.25

 

 

 

 

0.00

 

 

 

 

0.0

2.5

5.0

7.5

10.0

Правда занятно? Над барьером существует ненулевая вероятность отражения!

In [185]: function ψ(E::Array{Float64,1}, U0 = 1, a = 10e-10) # номер энерг-го ур-ня, ширина ямы

x1 = [-a:0.01a:0;]

x2 = [0.01a:0.01a:a;]

X = [x1;

x2] # конкатенация массивов

function

ElU(En)

k1

=

k(En)

k2

=

k(

abs(U0-En) )

A1

=

0.5 # из удобства отображения

A2

=

A1*2k1 / (k1+k2)

B2

=

A1*2k1 / (k1+im*k2)

ψ1(x) =

( A1*exp(im*k1*x) + B1*exp(-im*k1*x) ) |> abs2

ψ2(x) =

En > U0 ? A2*exp(im*k2*x) |> abs2 : B2*exp(-k2*x) |> abs2

B1

=

En

> U0 ? A1*(k1-k2) / (k1+k2) : A1*(k1-im*k2) / (k1+im*k2)

[ψ1.(x1); ψ2.(x2)]

end

# plot(x->0.5U0*(sign(x)+1), X, line = ( 3, :black), lab = "" ) plot([-a,0,0, a], [0,0,U0,U0], line = ( 3, :black), lab = "" )# так проще hline!(E, lab = "") # барьер и уровни энергии

for En in E

plot!(X, ElU(En).+En, line = 3, lab = "E = $En eV" )

end

yaxis!("E, eV", (0, maximum(E)+1) ) xaxis!("x, A")

end

Out[185]: ψ (generic function with 6 methods)

In [186]:

ψ([1., 4., 6., 8.], 5.)

 

 

 

 

 

 

Out[186]:

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E = 1.0 eV

 

 

 

 

 

 

 

 

 

E = 4.0 eV

 

 

 

 

 

 

 

 

 

E = 6.0 eV

 

 

 

 

 

 

 

 

 

E = 8.0 eV

 

 

6

 

 

 

 

 

 

 

 

 

E, eV

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

0

- 9

 

- 10

0

 

- 10

 

- 9

 

- 1×10

- 5×10

5×10

1×10

 

 

 

x, A

 

 

 

 

 

 

 

 

 

 

 

Туннелирование электрона через потенциальный барьер

In [90]: plot([0,0], [0,1.5], line = (:arrow, 1, :black), annotations=(0.05, 1.5, text("U(x)", :left)) ) plot!([-0.5,1], [0,0], line = (:arrow, 1, :black), annotations=(1, 0.08, text("x", :up))) plot!([-0.4,0,0,0.5,0.5,1], [0,0,1,1,0,0], line = ( 3, :black), leg=false, ticks=nothing, border=:none )

annotate!([(-0.05, 1, text("U0", :right)), (2.4, 1.92, text("a", :center)), (0.5, -0.05, text("a", :center)),

(0, -0.05, text("0", :center)), (-0.25, 0.5, text("I")), (0.25, 0.5, text("II")), (0.75, 0.5, text("III")) ])

Out[90]:

U(x)

U0

I

II

III

x

0

a

По аналогии с предыдущими задачами, находим решение УШ для каждой области.

Для :

Примем

, а

так как в области III нет отраженной волны де Бройля. Используем условия сшивки для х = 0 и х = а:

И для

:

Эти системы имеют решения при любых значениях E (энергетический спектр частицы является непрерывным). Основное внимание в данной задаче

можно сосредоточить на анализе прохождения частицы через барьер (поведение в области III), для этого достаточно выразить

через

. Ай, да и

все остальные тоже найдем:

In [91]: using Reduce, Latexify

Reduce (Free CSL version, revision 4534), 05-Apr-18 ...

In [178]: exprn = ( :( A_1+B_1-A_2-B_2 ),

:( im*k_1*A_1 - im*k_1*B_1 - k_2*A_2 + k_2*B_2 ),

:( A_2*e^(k_2*a) + B_2*e^(-k_2*a) - A_3*e^(im*k_1*a) ),

:( k_2*A_2*e^(k_2*a) - k_2*B_2*e^(-k_2*a) - im*k_1*A_3*e^(im*k_1*a) ) )

exprn2 = ( :( A_1+B_1-A_2-B_2 ),

:( im*k_1*A_1 - im*k_1*B_1 - im*k_2*A_2 + im*k_2*B_2 ),

:( A_2*e^(im*k_2*a) + B_2*e^(-im*k_2*a) - A_3*e^(im*k_1*a) ),

:( im*k_2*A_2*e^(im*k_2*a) - im*k_2*B_2*e^(-im*k_2*a) - im*k_1*A_3*e^(im*k_1*a) ) )

vars = (:B_1, :A_2, :B_2, :A_3)

latexify([e for e in exprn2], transpose = true)

Out[178]:

In [179]: sol = Algebra.solve( exprn, vars) solarr = [s for s in sol]

sol2 = Algebra.solve( exprn2, vars) solarr2 = [s for s in sol2]

Out[179]: 4-element Array{Expr,1}:

:(b_1 =

((1 - ^ (2 * a

* im * k_2)) * (k_1 ^ 2 - k_2 ^ 2) * a_1) / ((k_1 ^ 2 + 2 * k_1 * k_2 + k_2 ^

2) - ^ (2 * a * im * k

_2) * ((k_1

^ 2 - 2 * k_1

* k_2) + k_2

^ 2)))

 

 

:(a_2

=

(2

* (k_1 + k_2)

* a_1 * k_1)

/ ((k_1 ^ 2 + 2 * k_1 * k_2 + k_2 ^ 2) - ^ (2 * a * im * k_2) * ((k_1 ^ 2 - 2 * k_1 * k

_2) + k_2 ^

2)))

 

 

 

 

- ^ (2 * a * im * k_2)

:(b_2

=

(-2 * ^ (2 * a

* im * k_2) * (k_1

- k_2)

* a_1 * k_1) / ((k_1 ^ 2 + 2 * k_1 * k_2 + k_2 ^ 2)

* ((k_1 ^ 2

- 2 * k_1 * k_2) + k_2 ^ 2)))

 

/ ( ^ (a * im * k_1) * ((k_1 ^ 2 + 2 * k_1 * k_2 + k_2 ^ 2) - ^ (2 * a *

:(a_3

=

(4

* ^ (a * im

* k_2) * a_1 * k_1

* k_2)

im * k_2) *

((k_1 ^ 2 - 2

* k_1 * k_2)

+ k_2 ^ 2))))

 

In [180]: latexify(solarr2, transpose = true)

Out[180]:

почему е не отображается

In [279]: funs = [:B1, :A2, :B2, :A3, :uB1, :uA2, :uB2, :uA3]

Sols = [solarr; solarr2]

funhead(funame) = :( $funame(k_1, k_2, a, a_1) ) for i = 1:8

Expr(:function,funhead(funs[i]), Sols[i] ) |> eval

end

funevl = [eval(fun) for fun in funs]

Out[279]: 8-element Array{Function,1}: B1

A2

B2

A3

uB1

uA2

uB2

uA3

Теперь у нас есть функции считающие константы для волновых функций под и над барьером. Найдем вектор плотности потока вероятности для падающей на барьер и прошедшей через него волны, а также коэффициент прохождения:

Очевидно, что , но если есть желание можете и посчитать...

In [219]: function RDb(U0 = 1., a = 10e-10)

a1 = 1.

e = [0:0.01U0:3U0;]

D(E) = E < U0 ? abs2( A3(k(E), k(U0-E), a, a1) ) : abs2( uA3(k(E), k(E-U0), a, a1) ) R(E) = 1.0 - D(E)

plot(R, e, line = 3, lab = "R(E)") plot!(D, e, line = 3, lab = "D(E)") vline!([U0], lab = "")

title!("Transmission and Reflection coefficients")

# дырочки (разрывы) можно залатать при E=U0: D = 2ħ^2 / (2ħ^2 + m*a^2*U0)

end

Out[219]: RDb (generic function with 3 methods)

In [220]: RDb(2.)

Out[220]:

Transmission and Reflection coefficients

 

1.00

 

 

 

 

 

 

 

 

 

 

 

 

 

R(E)

 

 

 

 

 

 

 

D(E)

 

0.75

 

 

 

 

 

 

 

0.50

 

 

 

 

 

 

 

0.25

 

 

 

 

 

 

 

0.00

 

 

 

 

 

 

 

0

1

2

3

4

5

6

In [267]:

function Ψ(E::Array{Float64,1}, U0 = 5., a = 10e-10, A1 = 0.5) # номер энерг-го ур-ня, ширина ямы

 

x1 = [-a:0.01a:0;]

 

 

 

 

 

 

x2 = [0.01a:0.01a:a;]

 

 

 

 

 

 

x3 = [1.01a:0.01a:2a;]

 

 

 

 

 

 

X = [x1; x2; x3] # конкатенация массивов

 

 

 

 

function ElU(En)

 

 

 

 

 

 

k1 = k(En)

 

 

 

 

 

 

 

k2 = k( abs(U0-En) )

 

 

 

 

 

 

itr = 1:4

 

 

 

 

 

 

 

j = 1

 

 

 

 

 

 

 

if En > U0

 

 

 

 

 

 

 

itr = 5:8

 

 

 

 

 

 

j = im

 

 

 

 

 

 

 

end

 

 

 

 

 

 

 

C = [ fun(k1, k2, a, A1) for fun in funevl[itr] ]

 

 

 

ψ1(x) = ( A1*exp(im*k1*x) + C[1]*exp(-im*k1*x) ) |> abs2

 

 

ψ2(x) = ( C[2]*exp(j*k2*x) + C[3]*exp(-j*k2*x) ) |> abs2

 

 

ψ3(x) = C[4]*exp(im*k1*x) |> abs2

 

 

 

 

[ψ1.(x1); ψ2.(x2); ψ3.(x3)]

 

 

 

 

 

end

 

 

 

 

 

 

 

plot([-a,0,0,a,a,2a], [0,0,U0,U0,0,0], line = ( 3, :black), lab = "" ) # барьер

 

hline!(E, lab = "") # барьер и уровни энергии

 

 

 

for En in E

plot!(X, ElU(En).+En, line = 3, lab = "E = $En eV" )

end

yaxis!("E, eV", (0, maximum(E)+2) ) xaxis!("x, A")

end

Out[267]: Ψ (generic function with 4 methods)

In [268]:

Ψ([1.,3.,5.1,7.])

 

 

 

 

 

 

Out[268]:

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E = 1.0 eV

 

 

 

 

 

 

 

 

 

 

E = 3.0 eV

 

 

 

 

 

 

 

 

 

 

E = 5.1 eV

 

 

 

 

 

 

 

 

 

 

E = 7.0 eV

 

 

 

 

6

 

 

 

 

 

 

 

 

 

E, eV

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

0

- 9

0

 

- 9

 

 

- 9

 

 

- 1×10

1×10

2×10

 

 

 

 

 

 

x, A

 

 

 

 

In [278]:

Ψ([5., 13., 19.8], 20, 1e-10, 1.5)

 

 

 

 

 

Out[278]:

 

 

 

 

 

 

 

 

 

 

 

 

20

 

 

 

 

 

E = 5.0 eV

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E = 13.0 eV

 

 

 

 

 

 

 

 

 

 

E = 19.8 eV

 

 

 

 

15

 

 

 

 

 

 

 

 

 

E, eV

10

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

0

 

- 10

0

 

- 10

 

- 10

 

 

- 1×10

1×10

2×10

 

 

 

 

 

 

 

 

 

 

 

 

 

x, A

 

 

 

 

Соседние файлы в папке Лебедев_4курс