Tải bản đầy đủ (.doc) (25 trang)

SỬ DỤNG PHẦN MỀM MATHEMATICA MÔ PHỎNG BÀI TOÁN HIỆU ỨNG XUYÊN NGẦM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (676.74 KB, 25 trang )

BÀI TẬP LỚN
Môn: Tin học ứng dụng
Đề tài:

SỬ DỤNG PHẦN MỀM MATHEMATICA
MÔ PHỎNG BÀI TOÁN HIỆU ỨNG XUYÊN NGẦM

Giảng viên: TS. Nguyễn Chính Cương
ThS. Nguyễn Trọng Dũng

Nhóm 6 : 1. Lê Thành Đạt
2. Bùi Thị Thu Hiền
3. Nguyễn Thị Nhung
Lớp: CLC K62
Chuyên ngành: Vật lí lí thuyết


MỤC LỤC
Phần 1: Lí do chọn đề tài
Phần 2: Cơ sở lí thuyết
I.
II.

Khối sóng Gaussian
Phương pháp sai phân hữu hạn và áp dụng

Phần 3: Mô phỏng bài toán hiệu ứng xuyên ngầm
I.
II.
III.


Code mô phỏng bài toán hiệu ứng xuyên ngầm
Kết quả
Kết luận

Phần 4: Tài liệu tham khảo

Phần 1. Lí do chọn đề tài


Trong những năm gần đây, khoa học – kĨ thuật phát triển hết sức nhanh chóng, đặc biệt là
trong lĩnh vực truyền thông và tin học ứng dụng. Những thiết bị nghe nhìn, thiết bị kĩ
thuật số, máy tính… đã trở thành những phương tiện hết sức phổ biến trong xã hội, nhất
là máy tính. Có thể nói máy tính là một trong những phương tiện thiết yếu đối với tất cả
mọi người. Ngoài việc giúp người học tính toán, giải các phương trình một cách nhanh
chóng, máy tính còn giúp chúng ta mô phỏng các vấn đề, hiện tượng…
Trong quá trình học tập ở giảng đường đại học, ngoài các môn học quen thuộc như cơ,
nhiệt, điện, quang với các hiện tượng quen thuộc và dễ tưởng tượng, chúng tôi còn tiếp
xúc với với môn học cơ lượng tử với rất nhiều các công thức phức tạp, các bài toán lượng
tử như: chuyển động của electrong, lan truyền sóng trong hố thế… chưa từng biết đến.
Các hiện tượng trong cơ học lượng tử chỉ đơn thuần được trình bày dưới các công thức,
thiếu những ví dụ thực tế trong cuộc sống gây ra khó khăn cho sinh viên. Vì vậy, chúng
tôi thực sự mong muốn có những video thực tế, hoặc những hình ảnh mô phỏng các bài
toán trên. Công việc mô phỏng các bài toán trên có thể được thực hiện bởi sinh viên với
công cụ máy tính.
Hiện nay có rất nhiều các phần mềm hỗ trợ tính toán với nhiều tính năng ứng dụng khác
nhau như: Mapple, Matlab, Mathematica… trong đó Mathematica là phần mềm có khả
năng ứng dụng lớn.
Việc mô phỏng bài toán lượng tử bằng máy tính sẽ giúp sinh viên chúng tôi có cái nhìn
trực quan về các hiện tượng lượng tử. Từ đó, giúp chúng tôi hiểu sâu sắc thêm nội dung
kiến thức, phát triển tư duy sáng tạo.

Vì những lí do trên, chúng tôi quyết định nghiên cứu đề tài “Sử dụng phần mềm
Mathematica Mô phỏng Bài toán Hiệu ứng xuyên ngầm”.
Đề tài được trình bày và mô phỏng không thể tránh khỏi việc còn những điểm hạn chế,
rất mong người đọc cho ý kiến đóng góp. Xin chân thành cảm ơn!
Phần 2: Cơ sở lí thuyết


I.

KHỐI SÓNG GAUSSIAN

Để đơn giản chúng ta chỉ xét sự lan truyền sóng theo một chiều.
Hàm sóng 1 chiều có dạng:
Ψ(x, t)= φ(x) f(t)
Tiến triển theo thời gian của hàm sóng tuân theo phương trình Schrodinger:

Xét trong hố thế có chiều cao V(x,t) ta có

Khi đó ta có các biểu thức

Thay vào phương trình Schrodinger ta được:

Chia 2 vế cho

ta có


Mà vế trái là hàm của t và vế phải là hàm của x, do đó

Khi đó ta được hệ 2 phương trình sau:


Giải (1) ta được
là 1 hàm riêng



 Ta có biểu thức của tổng hàm sóng là:

Từ đó ta có phương trình tổng quát:

Tương tự ta có:


với

là năng lượng riêng

Mặt khác

Tức là năng lượng riêng là đại lượng bảo toàn theo thời gian
Hàm sóng tiến triển theo thời gian
Tại t=0 ta có:

Với t>0:


Trong đó
Xét k= k0 là đỉnh bền vững của

, khai triển hàm Taylor ta có giá trị xấp xỉ sau:


Với

ta thu được:

Ta viết lại biểu thức của

trong đó



như sau:

.


Đặt

, ta viết lại biểu thức của

Với chú ý:

Từ đó ta thu được biểu thức cuối cùng của

:

II.
Phương pháp sai phân hữu hạn
1. Xấp xỉ đạo hàm của hàm bằng sai phân hữu hạn.


như sau:


Ta đã biết rằng đạo hàm của một hàm được xác định bằng giới hạn cảu một thương số sai
phân:

Để giải phương trình vi phân, chúng ta thay thế các đạo hàm bằng các xấp xỉ thương số
sai phân. Nếu một hàm được vi phân nhiều lần, chúng ta có thể sử dụng khai triển Taylor
để xác định các xấp xỉ sai phân. Ví dụ:

Viết lại phương trình (2) ta được:

Khi lấy giới hạn

ta thu được xấp xỉ sau:

Chúng ta giữ lại phần
bằng thương số sai phân
độ lớn của

trong khoảng

trên là bậc của

, kí hiêu là

trong phương trình (3) là sai số của xấp xỉ
. Chú ý rằng, sai só trên phụ thuộc vào
và độ rộng của
. Cụ thể hơn, khi một hàm


. Từ đó, chúng ta nói sai số


nếu:


Chú ý rằng thương số sai phân ở phương trình (3) không phải là cách duy nhất để xấp xỉ
. Thật vậy, chúng ta xét khai triển của

:

Từ 2 phương trình (4) và (2), trừ vế với vế ta được:

Với chú ý rằng phần sai số ở trong phương trình trên là bậc của

, kí hiệu

, sai

số này sẽ tiến rất nhanh tới 0 khi
Để thu được xấp xỉ của

cũng từ phương trình (2) và phương trình (4) ta thu được:

Do tính đối xứng trong các xấp xỉ ở (5) và (6) nên chúng được gọi là các xấp xỉ sai phân
tâm. Xấp xỉ sai phân (3) được gọi là xấp xỉ sai phân tiến.
2. Giải phương trình truyền nhiệt bằng việc sử dụng sai phân hữu hạn
Ban đầu ta xem xét các điều kiện biên ban đầu của phương trình truyền nhiệt.



Ý tưởng căn bản là thay thế các đạo hàm trong phương trình truyền nhiệt bằng các
thương số sai phân. Chúng ta xem xét mối liên hệ giữa
với khoảng cách

tại

và các lân cận của

và khoảng thời gian

Sử dụng các xấp xỉ thương số sai phân trong phần 1 ta thu được các xấp xỉ sai phân thành
phần dưới đây:


Sai phân tiến theo thời gian:

Viết lại phương trình trên ta được:

• Sai phân tâm theo không gian:

Biến đổi 2 phương trình trên ta được:

Thay (2) và (3) vào (1a) ta đươc:


Viết lại :

Chúng ta chia nhỏ đoạn [0,1] thành N +1 điểm như sau
thành M + 1 điểm như sau

xấp xỉ như sau :

Được thực hiên trong bảng tính [0,T]
Thực hiện đạo hàm điều kiện biên :

. Đoạn [0,T] được chia

. Tại các điểm không thời gian như trên, chúng ta có


Giả sử điều kiện biên (1b) được chuyển thành :

Xét xấp xỉ sai phân tâm đến

, nơi mà

Sắp xếp lại ta được :

Tại

chúng ta quan sát thấy rằng

đưa thêm vào

khi

có các giá trị giống với

từ cột


là nằm ngoài đoạn [0,1] do đó chúng ta
từ đó ta thu được phương trình :

được sao chép sang cột

. Chú ý rằng điều kiện biên này

có thể được thực hiện theo con đường khác mà không cần đến việc đưa thêm cột bổ sung
bằng việc loại bỏ

Nếu phương trình cuối được thực hiện tại

nó không cần cho thêm

hoặc là thực

hiện phương trình sai phân được cho ở (**) vì điều kiện biên của đạo hàm được xác định.


3.

Sử dụng phương pháp Sai phân hữu hạn để giải phương trình Schrodiger
phụ thuộc thời gian với hàng rào thế khác không

Trong phần này chúng ta trình bày cách giải phương trình Schrodinger phụ thuộc thời
gian của khối sóng Gaussian bằng phương pháp sai phân hữu hạn.
Khối sóng Gaussian một chiều được định xứ trong đoạn [0 , x max], khoảng thời gian là
[0,t]
Sự lan truyền sóng theo thời gian là nghiệm của phương trình Schrodinger:


trong đó

Với chú ý

, ta viết lại phương trình Schrodinger như sau:


Ta sử dụng phương pháp sai phân hữu hạn như sau:
Chia đoạn [0 , xmax] thành N điểm

, chia đoạn [0, t] thành M điểm

Ta áp dụng phương pháp sai phân Crank – Nichelson cho phương trình (1) như sau:
Đặt:

Và kí hiệu
Áp dụng sai phân tiến cho

Áp dụng sai phân lùi cho

c, tương ứng ta cũng có
ta được:

ta được:

Do đó:

Với chú ý áp dụng sai phân tâm cho

ta có biểu thức của




như sau:


Do đó, phương trình (1) viết lại dưới dạng tính số như sau:

Ta viết lại phương trình trên dưới dạng sau:

Ta chuyển các phương trình trên về phương trình ma trận như sau:

Giải phương trình ma trận trên với bước nhảy thời gian M cho trước, ta sẽ thu được tiến
triển theo thời gian của khối sóng Gaussian khi chuyển động qua hàng rào thế.


Phần 3: Mô phỏng bài toán hiệu ứng xuyên ngầm
I.

Code

Bước 1: Chia điểm gián đoạn
TimeSteps = 150;

(bước nhảy thời gian)

n = 1000;

(số các điểm gián đoạn)


xmax = 1.5;

(bề rộng của hộp :0
dx = xmax/(n-1);

(độ dài bước nhảy)

Bước 2: Định nghĩa khối sóng Gaussian
(Sóng phẳng ban đầu với định xứ Gaussian)
x0 = 0.3;

(Vị trí đỉnh ban đầu của khối sóng Gaussian)

sig = 0.05;

(Bề rộng của khối sóng)

kx = 150;

(Xung lượng ban đầu)

psi = Table[Exp[I kx (x-x0)-(x-x0)^2/(2*sig^2)],{x,0,xmax,dx}];
Bước 3: Tham số tiến triển theo thời gian
dt = 5000;
psi (t)=psi Exp[Idt])

(dt càng lớn, tiến triển theo thời gian càng nhanh,



*Chú ý

*

Bước 4: Rào thế hình chữ nhật với độ cao xác định
xPotInit = xmax/2;
xPotFinal= xPotInit + xmax/30;
potH = 1000;

(Độ cao rào thế)

* Thế năng có dạng sau *:
V = Table[If[ x>xPotInit && xBước 5: Lời giải sai phân hữu hạn
tau = 1/(4 dx^2);
tauvec = Table[tau,{n-1}];

(Đường chéo phụ cạnh đường chéo chính trong ma

trận Hamiltonian)
For[tt=1, tt ≤ TimeSteps, tt ++, psi = LinearSolve[SparseArray[{Band[{1,2}] →
tauvec, Band[{1,1}] → I dt-2 tau-V, Band[{2,1}] → tauvec}], (I dt+V) psi ]; PsiN[tt] =
psi/Norm[psi]];
Bước 6: Mô phỏng tiến triển theo thời gian của mật độ xác xuất
pr = 0.02;

(plotrange)

Manipulate[Show[ListLinePlot[Abs[PsiN[t]]^2, PlotRange →{{0,n}, {-pr,pr}}, Axes
→ {True,False}, Ticks → None], ListLinePlot[0.95 pr*V/Max[V], PlotStyle →

{Red,Thick}]], {t,1,TimeSteps,1}];
Bước 7: Xuất video mô phỏng hiệu ứng xuyên ngầm
plots = Table[Show[ListLinePlot[Abs[PsiN[ii]], PlotRange → {{0,n}, {-.2,.2}}, Axes
→ {True,False}, Ticks → None, PlotStyle → {Thick,Black}],


ListLinePlot[Re[PsiN[ii]], PlotRange →{{0,n}, {-1,1}}, Axes → {True,False}, Ticks
→ None, PlotStyle → {Thick,Blue}], ListLinePlot[.95*.2*V/Max[V], PlotStyle →
{Red,Thick}]], {ii,1,TimeSteps}];
Export["Hieu ung xuyen ngam.avi",plots];
* Chú ý vào Document trong Computer tìm file “hieu ung xuyen ngam.avi”, nhấn open
và theo dõi mô phỏng.

II.

Kết quả

Xuất file video ta thu được video “hieu ung xuyen ngam”:


Dưới đây là ảnh chụp màn hình Video:






III.

Kết luận


Trong mô phỏng chúng tôi cỏ thể thay đổi được:





Vị trí đỉnh khối sóng
Xung lượng ban đầu
Độ cao rào thế
Độ rộng của ∆t và ∆x

Từ các thay đổi trên chúng tôi có thể quan sát được hiệu ứng xuyên ngầm trong các điều
kiện ban đầu khác nhau.
Với phương pháp sai phân hữu hạn như trên, thực tế, chúng ta có thể mô phỏng nhiều bài
toán của cơ học lượng tử khác như sự lan truyền sóng phẳng, bài toán liên quan tới hố
thế, dao động tử điều hóa…


Phần 4: Tài liệu tham khảo
1. />2. />3. />4. Lecture 8: Solving Heat, Laplace and Wave equations using finte difference
methods – “Partial Differential Equations” – Anthony Peirce.
5. 6.Time evolution in Quantum Mechanics – “Introduction to Applied Nuclear
Physics” – MIT OpenCourseWare – http: //ocw.mit.edu


×