Sóng de-Broglie với rào thế bậc thang

Đặt vấn đề

Trong mục này ta khảo sát một chùm hạt tự do, hay một sóng de-Broglie, tương tác với rào thế bậc thang. Rào thế bậc thang ở đây có nghĩa: thế năng thay đổi đột ngột từ vùng này sang vùng khác, nhưng tại mỗi vùng thế năng không đổi. Độ cao của rào thế kí hiệu U_0, cũng là thế năng ở vùng 2 bên phải, còn vùng 1 bên trái có thế năng bằng không (hình 1).

Hình 1: Rào thế bậc thang

Quá trình lan truyền sóng de-Broglie có thể miêu tả như sau. Một sóng tới hình sin de-Broglie có năng lượng E di chuyển dọc theo vùng 1 như chùm hạt tự do. Sóng tới đến va đập vào bờ thế, một phần truyền qua, một phần bị phản xạ. Sóng truyền qua cũng sẽ chuyển động về phía trước nhưng với xung lượng nhỏ hơn, hay bước sóng dài hơn, do động năng bị suy giảm. Sóng phản xạ vẫn thuộc vùng 1, nên vẫn có cùng xung lượng với sóng tới, chỉ khác chỗ nó di chuyển ngược chiều x. Bài toán của chúng ta là đi tìm biểu thức của ba sóng này.

Tìm dạng của hàm sóng

Biểu thức của sóng tới, sóng phản xạ và sóng truyền qua có dạng:

\begin{equation}
\begin{cases}
\psi_{in}(x,t)=e^{i(\frac{p_1}{\hbar}x-\frac{E}{\hbar}t)}\\
\psi_{ref}(x,t)=re^{i(-\frac{p_1}{\hbar}x-\frac{E}{\hbar}t)},\\
\psi_{tran}(x,t)=de^{i(\frac{p_2}{\hbar}x-\frac{E}{\hbar}t)}.
\end{cases}
\label{heptsong1}
\end{equation}

Trong đó:

p_1=\sqrt{2mE},\qquad p_2=\sqrt{2m(E-U_0)}.

Sóng ở vùng 1 là sự chồng chập của sóng tới và sóng phản xạ:

\psi_1(x,t)=\psi_{in}(x,t)+\psi_{ref}(x,t).

Còn sóng ở vùng 2 chỉ gồm sóng truyền qua:

\psi_2(x,t)=\psi_{tran}(x,t).

Quá trình tương tác phải thoả mãn tính liên tục của hàm sóng tại nơi chuyển tiếp x=x_0 giữa hai vùng:

\begin{equation}
\begin{cases}
\psi_1(x_0,t)&=&\psi_2(x_0,t),\\
\dfrac{\partial\psi_1(x_0,t)}{\partial x}&=&\dfrac{\partial\psi_2(x_0,t)}{\partial x},
\end{cases}
\label{dieukien}
\end{equation}

hay:

\begin{equation}
\begin{cases}
e^{i(\frac{p_1}{\hbar}x_0-\frac{E}{\hbar}t)}+re^{i(-\frac{p_1}{\hbar}x_0-\frac{E}{\hbar}t)}&=&de^{i(\frac{p_2}{\hbar}x_0-\frac{E}{\hbar}t)},\\
i\frac{p_1}{\hbar}e^{i(\frac{p_1}{\hbar}x_0-\frac{E}{\hbar}t)}+i\frac{p_1}{\hbar}re^{i(-\frac{p_1}{\hbar}x_0-\frac{E}{\hbar}t)}&=&i\frac{p_2}{\hbar}de^{i(\frac{p_2}{\hbar}x_0-\frac{E}{\hbar}t)}.
\end{cases}
\label{dieukien2}
\end{equation}

Ta thấy rằng cả ba sóng de-Broglie đều có chung một tần số dao động \omega=E/\hbar, có thể đơn giản bớt thừa số e^{-i(E/\hbar)t} trong tính toán. Ta có được hệ phương trình:

\begin{equation}
\begin{cases}
e^{i\frac{p_1}{\hbar}x_0}+re^{i\frac{p_1}{\hbar}x_0}&=&de^{i\frac{p_2}{\hbar}x_0},\\
p_1e^{i\frac{p_1}{\hbar}x_0}-p_1re^{i\frac{p_1}{\hbar}x_0}&=&p_2de^{i\frac{p_2}{\hbar}x_0}.
\end{cases}
\label{hephuongtrinh11}
\end{equation}

Hệ phương trình bậc nhất hai ẩn \eqref{hephuongtrinh11} hoàn toàn có thể giải được để suy ra các biên độ rd:

\begin{equation}
r=\frac{p_1-p_2}{p_1+p_2}e^{2i\frac{p_1}{\hbar}x_0},\qquad d=\frac{2p_1}{p_1+p_2}e^{i\frac{p_1-p_2}{\hbar}x_0}.
\label{nghiem1}
\end{equation}

Nếu rào thế xuất hiện ngay tại x_0=0, ta có hệ hết sức đơn giản:

\begin{equation}
\begin{cases}
1+r&=&d,\\
p_1-p_1r&=&p_2d,
\end{cases}
\label{hephuongtrinh2}
\end{equation}

với nghiệm:

\begin{equation}
r=\frac{p_1-p_2}{p_1+p_2},\qquad d=\frac{2p_1}{p_1+p_2}.
\label{nghiem2}
\end{equation}

Ở đây các xung lượng p_1,p_2 tính được từ công thức \eqref{p1p2} qua giá trị của năng lượng E và độ cao của rào thế U_0.

Sự truyền qua của sóng

Trường hợp năng lượng toàn phần lớn hơn chiều cao của rào thế: E>U_0, sóng tới, sóng phản xạ và sóng truyền qua có dạng:

\begin{equation}
\begin{cases}
\psi_{in}(x,t)=e^{i(\frac{p_1}{\hbar}x-\frac{E}{\hbar}t)}\\
\psi_{ref}(x,t)=\frac{p_1-p_2}{p_1+p_2}e^{i(-\frac{p_1}{\hbar}x-\frac{E}{\hbar}t)},\\
\psi_{tran}(x,t)=\frac{2p_1}{p_1+p_2}e^{i(\frac{p_2}{\hbar}x-\frac{E}{\hbar}t)}.
\end{cases}
\label{heptsong2}
\end{equation}

với

\begin{equation}
p_1=\sqrt{2mE},\qquad p_2=\sqrt{2m(E-U_0)}.
\label{p1p2}
\end{equation}

Sử dụng code chương trình Matlab, dễ dàng tính được các biên độ rd, cũng như mô tả sự vận động của sóng de-Broglie qua rào thế. Hình 2 đưa ra kết quả tính toán cho mỗi sóng.

Hình 2: Kết quả tính toán

Video dưới minh hoạ tính toán sự di chuyển của chùm hạt qua rào thế. Đường màu xanh tương ứng với sóng tới, màu tím là sóng phản xạ, màu vàng cho sóng tổng hợp và sóng truyền qua. Đường màu cam đậm thể hiện mật độ vi hạt \psi^*\psi.

 

Sóng tổng hợp ở cả hai miền (đường màu vàng) thể hiện tính liên tục và cong trơn buộc phải có của hàm sóng. Nhớ lại rằng trong cơ học cổ điển, khi năng lượng của hạt lớn hơn rào thế, hạt sẽ hoàn toàn vượt qua chứ không tách ra, phần phản xạ, phần truyền qua như cơ học lượng tử.

Sự phản xạ toàn phần

Khi năng lượng toàn phần thấp hơn chiều cao của rào thế: E<U_0, về mặt toán học động lượng p_2 trở nên bị "ảo hoá":

p_2=i\sqrt{2m(U_0-E)}.

Biên độ sóng phản xạ r=\frac{p_1-p_2}{p_1+p_2} là một biên độ phức có modul bằng 1. Bản thân r lúc này chỉ có tác dụng đảo pha mà không có tác dụng thay đổi độ lớn biên độ. Kết quả là sóng tới và sóng phản xạ lan truyền ngược chiều nhau với biên độ như nhau và tạo nên sóng dừng.

Sóng truyền qua suy biến thành:

\psi_{tran}(x,t)=\frac{2p_1}{p_1+p_2}e^{-\sqrt{2m(U_0-E)}/\hbar x}e^{-i(E/\hbar)t}.

Thừa số e^{-i(E/\hbar)t} thể hiện sự dao động điều hoà, có nghĩa sóng truyền qua không còn lan truyền nữa mà chỉ còn dao động theo thời gian.

Hình 3: Sóng de Broglie phản xạ toàn phần trên rào thế

Video sau biểu diễn kết quả tính toán tương tác của sóng tới de-Broglie lên rào thế khi năng lượng thấp hơn rào thế. Ta thấy sóng de-Broglie dù một phần bị "thấm" qua vách rào một chút, nhưng chung quy vẫn bị hất ngược trở lại. Ta gọi đó là sự phản xạ toàn phần.

 

Code chương trình Matlab

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
function de_Broglie_wave_step_potential_barrier
% Created by Tran Hai Cat
% 2018.05.01
clc;
clear variables
close all

global h m j

%% CONSTANTS
h = 1.054e-34;
m = 9.1095e-31;
q_element = 1.6e-19;
Angstrom = 1e-10;

%% INPUT PARAMETRS FOR USER
E = 5*q_element;
U0 = 10*q_element;

xmin = -20*Angstrom;
xmax = 20*Angstrom;
x_step = 0*Angstrom;

%% data processing
j = sqrt(-1);
x = linspace(xmin,xmax,500);
omega = E/h;
T = 2*pi/omega;
dt = T/500;
tmax = 100*T;
t = 0;

[psi_incident,psi_reflective,psi] = step(E,U0,x_step,x,t);

%% FIGURE
figure('name','Wavepaket - Particle Flow','color','black','numbertitle','off');
hold on
plot(x/Angstrom,U_step(U0,x_step,x)/q_element,'w','linewidth',2);
plot(x/Angstrom,Energy(E,x)/q_element,'b','linewidth',2);
line_psi_incident = plot(psi_incident(1,:)/Angstrom,real(psi_incident(2,:)),'linewidth',1,'color','b');
line_psi_reflective = plot(psi_reflective(1,:)/Angstrom,real(psi_reflective(2,:)),'linewidth',1,'color','magenta');
line_psi = plot(x/Angstrom,real(psi),'linewidth',1,'color','y');
line_psi_psi = plot(x/Angstrom,psi.*conj(psi),'linewidth',1.5,'color',[1,0.5,0]);
axis([xmin/Angstrom xmax/Angstrom -0 20]);
set(gca,'color','k','xcolor','w','ycolor','w')
xlabel('x [Angstrom]');
ylabel('E, U [eV]');

%% ANIMATION
while t<tmax
t = t+dt;
[psi_incident,psi_reflective,psi] = step(E,U0,x_step,x,t);
set(line_psi_incident,'ydata',10+real(psi_incident(2,:)));
set(line_psi_reflective,'ydata',10+real(psi_reflective(2,:)));
set(line_psi_psi,'ydata',psi.*conj(psi));
set(line_psi,'ydata',10+real(psi));
pause(0.001);
end

function y = U_step(U0,x_step,x)
%% Potential energy
lenx = length(x);
y = zeros(1,lenx);
for i = 1:lenx
if(x(i)<=x_step)
y(i) = 0;
else
y(i) = U0;
end
end

function y = Energy(E,x)
%% Total energy
y = E*ones(size(x));

function [psi_incident,psi_reflective,psi] = step(E,U0,x_step,x,t)
%% Calculation for waves
global h m j
lenx = length(x);
psi = zeros(1,lenx);

omega = E/h;
k1 = sqrt(2*m*E)/h;
k2 = sqrt(2*m*(E-U0))/h;

r = (k1-k2)/(k1+k2)*exp(2*j*k1*x_step);
d = 2*k1/(k1+k2)*exp(j*(k1-k2)*x_step);

psi_incident = [x(1);exp(j*k1.*x(1)-j*omega*t)];
psi_reflective = [x(1);r*exp(-j*k1.*x(1)-j*omega*t)];
for i = 1:lenx
if(x(i)<=x_step)
psi_incident_i = exp(j*k1.*x(i)-j*omega*t);
psi_reflective_i = r*exp(-j*k1.*x(i)-j*omega*t);
psi_incident = [psi_incident [x(i);psi_incident_i]];
psi_reflective = [psi_reflective [x(i);psi_reflective_i]];

psi(i) = psi_incident_i+psi_reflective_i;
else
psi(i) = d*exp(j*k2.*x(i)-j*omega*t);
end
end