Trạng thái dừng trong hố thế vuông

Áp dụng phương pháp giải phương trình dừng Schrodinger, ta đã có thể xây dựng phổ các mức năng lượng cũng như dạng sóng phù hợp cho mỗi mức năng lượng ấy dành cho dạng hố thế bất kì. Hố thế vuông là trường hợp đơn giản nhất trong số đó:

Tại mỗi điểm trong không gian, sóng chỉ dao động tại chỗ, không di chuyển. Năng lượng của hạt càng lớn sẽ dẫn đến xung lượng càng lớn. Xung lượng càng lớn sẽ dẫn đến bước sóng càng bé đi. Như vậy chỉ có một vài giá trị của năng lượng đảm bảo được rằng, kích thước của sóng "vừa vặn" với hố thế.

Hình 1: Nghiệm sóng dừng bậc 2

Code chương trình Matlab bên dưới giải phương trình Schrodinger bằng phương pháp số, với các mức năng lượng đã chọn trước. Các mức năng lượng này giúp nghiệm sóng thu được thoả mãn điều kiện biên, tức "đám mây nguyên tử" hội tụ về 0 tại hai đầu. Nghiệm bậc nhất tương ứng với một bụng sóng, nghiệm bậc 2 tương ứng với hai bụng sóng, nghiệm bậc n tương ứng với n bụng sóng. Hình 1 trên mô tả nghiệm bậc hai, đồng thời tính toán luôn mật độ vi hạt.

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
function standing_wave_square_potential_well_new
% Created by Tran Hai Cat
% 2018.05.15
clc;
clear variables
close all

global E k U0 x1 x2

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

%% INPUT PARAMETRS
n = 2; % n<=6, index of stationary state

%% DATA PROCESSING
% Energy of stationary state:
E_standing_wave = [-78.097995,-72.369,-62.905,-49.8624,-33.7612,-14.38695];

E = E_standing_wave(n)*q_element;
U0 = -80*q_element;
x1 = -2*Angstrom;
x2 = 2*Angstrom;

Emin = -100*q_element;
Emax = 100*q_element;
xmin = -6*Angstrom;
xmax = 6*Angstrom;
x_inter = 0.5769*Angstrom;

psi = 1e-10;
psi1 = 0;

%% CALCULATION
[x_left,psi_left] = ode45(@syst,linspace(xmin,x_inter,500),[psi psi1]);
[x_right,psi_right] = ode45(@syst,linspace(xmax,x_inter,500),[psi psi1]);
psi_right = sign(psi_left(end,2)*psi_right(end,2))*psi_right;
X = [x_left;flipud(x_right)];
Psi = [psi_left(:,1);flipud(psi_right(:,1))];
Psi_max = max(Psi);
Psi_draw = 0.7*Psi/Psi_max*Emax/q_element;
psi_psi = 0.8*(Psi.^2/Psi_max/Psi_max*Emax/q_element);

omega = abs(E)/h;
T = 2*pi/omega;
dt = T/1000;
t = 0;

%% FIGURE
x_plot = linspace(xmin,xmax,1000);
U_plot = U_square(U0,x1,x2,x_plot);

figure('name','Standing_wave_potential_well',...
'color','black','numbertitle','off');
hold on
plot(x_plot/Angstrom,U_plot/q_element,'linewidth',2,'color','w');
line([xmin/Angstrom,xmax/Angstrom],[E/q_element,E/q_element],...
'linewidth',2,'color','b');
line_psi = plot(X/Angstrom,Psi_draw,'linewidth',1,'color','y');
plot(X/Angstrom,psi_psi,'linewidth',1);
title(sprintf('E = %0.3f [eV]',E/q_element),'color','w');
axis([xmin/Angstrom xmax/Angstrom Emin/q_element Emax/q_element]);
set(gca,'color','k','xcolor','w','ycolor','w')
xlabel('x [Angstrom]');
ylabel('E, U [eV]');

while 1
t = t+dt;
Psi_time = Psi_draw*exp(-1i*omega*t);
set(line_psi,'ydata',real(Psi_time));
pause(0.001);
end

function dy = syst(x,y)
%% Schrodinger Equation
global E k U0 x1 x2
dy = zeros(2,1);
dy(1) = y(2);
dy(2) = -k*(E-U_square(U0,x1,x2,x))*y(1);

function y = U_square(U0,x1,x2,x)
%% Potential Energy
lenx = length(x);
y = zeros(1,lenx);
for i = 1:lenx
if(x(i)<=x1)||(x(i)>=x2)
y(i) = 0;
else
y(i) = U0;
end
end