Tải bản đầy đủ (.pdf) (8 trang)

BÀI TẬP NHÓM :MÔ PHỎNG MÔ HÌNH ISING 2D pot

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 (794.88 KB, 8 trang )


TRƯỜNG ĐẠI HỌC CÔNG NGHỆ- ĐHQGHN
KHOA VLKT VÀ CNNN


BÀI TẬP NHÓM :MÔ PHỎNG
MÔ HÌNH ISING 2D
Môn: Mô phỏng và mô hình hóa

Nhóm sinh viên(nhóm6):
Lê Xuân Hùng
Nguyễn Văn Hải
Nguyễn Văn Ngãi
Lưu Anh Thao
Nguyễn Văn Tân
Nguyễn Ngọc Trung

Giảng viên hướng dẫn: TS. Đặng Đình Long



Hà Nội, ngày 4 tháng 6 năm 2013

2

I.Mô hình Ising
Tính sắt từ biểu hiện khi một tập hợp các spin nguyên tử sắp xếp sao cho các mô-
men từ của chúng đều có cùng hướng, do đó tạo nên mô-men tổng hợp có độ lớn đáng
kể. Cách biểu diễn lí thuyết đơn giản nhất cho hiện tượng sắt từ được gọi là mô hình
Ising. Mô hình được Wilhelm Lenz phát minh năm 1920: nó được đặt theo Ernst Ising,
học trò của Lenz, người đã chọn mô hình này làm chủ đề luận án tiến sĩ năm 1925


Xét N nguyên tử tồn tại trong từ trường định hướng z có cường độ H. Giả sử rằng
mọi nguyên tử đều là hệ spin –½ như nhau. Điều này dẫn đến hoặc s
i
 = +1 (spin hướng
lên), hoặc s
i
 = −1 (spin hướng xuống), trong đó s
i
là (hai lần) thành phần theo phương z
của spin nguyên tử thứ i. Tổng năng lượng của hệ được viết là:
E =  − J ∑ 
<ij> 
s
i
 s
j
− μ H ∑
i=1
N
s
i
.  (1)
Trong đó,<ij>  được dùng để chỉ tổng theo các cặp nguyên tử lân cận. Ngoài ra, J
được gọi là năng lượng trao đổi, còn μ là mô-men từ nguyên tử. Phương trình ([1]) là
cốt lõi của mô hình Ising.
Về đặc điểm vật lý của mô hình: J ∑ 
<ij> 
s
i
 s

j
: cho thấy rằng tổng năng lượng bị
giảm xuống khi các spin nguyên tử lân cận được sắp xếp. HIệu ứng này chủ yếu là do
nguyên lý ngoại trừ Pauli. Các electron không thể chiếm giữ cùng một trạng thái lượng
tử, vì vậy hai electron của hai nguyên tử cạnh nhau, có cùng spin song song (nghĩa là
chiếm cùng trạng thái orbital), thì không thể tiến sát nhau. Sẽ không có sự ngăn cản như
vậy nếu các electron có spin phản-song song. Những ngăn cách không gian khác nhau
ngụ ý rằng tồn tại những năng lượng tương tác tĩnh điện khác nhau.
 Sử dụng phương pháp Monte-Carlo để giải mô hình Ising 2D.
Ta hãy xét một mảng vuông hai chiều chứa các nguyên tử. Đặt L là kích thước
mảng.
N = L
2
Dựa trên thuật toán :
 Lần lượt đi qua từng nguyên tử trong mảng:
 Với mỗi nguyên tử, hãy tính độ thay đổi năng lượng của hệ, Δ E,
khi spin nguyên tử bị đảo ngược.
 Nếu Δ E < 0 thì đảo ngược spin.
 Nếu Δ E > 0 thì đảo ngược spin với xác suất P = exp( − β Δ E).
 Lặp lại quá trình nhiều lần cho đến khi đạt được cân bằng nhiệt.
Mục đích của thuật toán này là xáo trộn tất cả các trạng thái có thể của hệ thống, và
đảm bảo rằng hệ thống chiếm giữ một trạng thái cho trước với xác suất Boltzmann:
nghĩa là một xác suất tỉ lệ thuận với exp( − β E), trong đó E là năng lượng của trạng
3

thái.Để biểu diễn tính đúng đắn của thuật toán trên, ta hãy xét việc đảo spin của nguyên
tử thứ i. Giả sử rằng hành động này khiến cho hệ thống chuyển từ trạng thái a (năng
lượng E
a
) sang trạng thái b (năng lượng E

b
). Hơn nữa, giả sử rằng E
a
 < E
b
. Theo thuật
toán trên, xác suất để chuyển từ trạng thái a sang trạng thái b là
P
a → b
 = exp[ − β (E
b
− E
a
)]
trong khi xác suất để chuyển từ trạng thái b sang trạng thái a là
P
b → a
 = 1
Trong cân bằng nhiệt, nguyên lý cân bằng chi tiết (principle of detailed balance) phát
biểu rằng
P
a
P
a → b
= P
b
P
b → a

Trong đó P

a
là xác suất để hệ chiếm giữ trạng thái a, còn P
b
là xác suất để hệ
chiếm giữ trạng thái b. Phương trình ([edb]) phát biểu đơn giản rằng trong cân bằng
nhiệt, tốc độ mà hệ chuyển từ trạng thái a sang trạng thái b bằng với tốc độ mà hệ
chuyển theo chiều ngược lại. Sắp xếp lại phương trình trên ta được
P
b
/ P
a
 = exp[ − β (E
b
− E
a
)]
Bây giờ, mỗi nguyên tử trong mảng đang xét, trừ những nguyên tử ở rìa mảng,
còn lại đều có bốn nguyên tử lân cận, Ta có thể loại bỏ ngoại lệ phiền phức này bằng
cách đưa vào điều kiện biên tuần hoàn: nghĩa là bằng cách đồng nhất các rìa ở hai phía
đối diện của mảng.
II.Code chương trình:
package MonteCarlo;
import java.awt.*;
import java.ising;

public class Ising2D
{
static final int size = 60;
static final int L=1000000;
static final int K=L;

static final int[][] s = new int[size][size];
public static void main(String[] argv)
{
double M=0, E=0, M2=0, E2=0;
double temp = 1.0;
for (int i=0; i < size; i++) {
for (int j=0; j < size; j++) {
if (Math.random() < 0.5) s[i][j] = 1; else s[i][j] = -1;
s[i][j] = 1;
}
}
4


while (temp <= 2.4)
{
for (int step=0; step < L; step++)
{
int i = (int) (Math.random() * size);
int j = (int) (Math.random() * size);
double eDiff = deltaU(i,j);
System.out.print(s[i][j]+" > ");
if ((eDiff <= 0) || (Math.random() <= Math.exp(-eDiff/temp)))
{
s[i][j] *= -1;
}
System.out.println(s[i][j]);
}
for (int step=0; step < K; step++)
{

int i = (int) (Math.random() * size);
int j = (int) (Math.random() * size);
M += s[i][j];
M2 += s[i][j]*s[i][j];
E += NangluongE(i,j);
E2 += NangluongE(i,j)*NangluongE(i,j);
}
System.out.println(E2/K);
System.out.println(temp+" "+M/(K));
System.out.println(temp+" "+E/K);
System.out.println(temp+" "+(M2/K-(M/K)*(M/K))/temp);
System.out.println(temp+" "+(E2/K-(E/K)*(E/K))/(temp*temp));

M=0;E=0;M2=0;E2=0;
temp += 0.05;
}
}
public static double deltaU(int i, int j)
{
int leftS, rightS, topS, bottomS;
if (i == 0) leftS = s[size-1][j]; else leftS = s[i-1][j];
if (i == size-1) rightS = s[0][j]; else rightS = s[i+1][j];
if (j == 0) topS = s[i][size-1]; else topS = s[i][j-1];
if (j == size-1) bottomS = s[i][0]; else bottomS = s[i][j+1];
5

return 2.0 * s[i][j] * (leftS + rightS + topS + bottomS);
}
public static double NangluongE(int i, int j)
{

int leftS, rightS, topS, bottomS; //values of neighboring spins
if (i == 0) leftS = s[size-1][j]; else leftS = s[i-1][j];
if (i == size-1) rightS = s[0][j]; else rightS = s[i+1][j];
if (j == 0) topS = s[i][size-1]; else topS = s[i][j-1];
if (j == size-1) bottomS = s[i][0]; else bottomS = s[i][j+1];
return -0.5*s[i][j] * (leftS + rightS + topS + bottomS);
}
}
III.Kết quả-Nhận xét.
A.Kết quả
Ta xét mẫu từ hóa mảng có kích thước 60X60 nguyên tử sắt từ,và sử dụng các
spin up và down.
Với T
0
=J/K. Có thể thấy rằng ở dưới nhiệt độ phân giới (hay nhiệt độ “Curie”),
T
c
, có sự từ hóa nhất thời: nghĩa là hiệu ứng trao đổi đủ lớn để khiến cho spin của các
nguyên tử lân cận xếp hàng một cách nhất thời.

Với T=3T
0
từ hình ảnh ta thấy mẫu hình thành những cụm nhỏ,các ô đen và hồng biểu
hiện cho các nguyên tử nhiễm từ.
6


Với T=2.8T
0
,các mẫu hình thành các cụm lớn hơn.


Với T=2.4T
0
ta thấy sự thay đổi khá lớn ở đây:các cụm được hình thành lớn hơn,đây
là nhiệt độ rất gần so với nhiệt độ chuyển pha của giải số.Nhiệt độ chuyển pha trong
giải số là T
c
=2.27T
0.


7


Tại T=2.3T
0
,ta thấy có sự khác biệt nhau nhiều,đây là điểm lân cận của chuyển
pha.Nhưng sự lân cận của chuyển pha này có khác hơn 1 chút so với giải tích.Mà nhiệt
độ chuyển pha trong chương trình mô phỏng này sẽ nằm trong khoảng (T
c
~2.3-2.4).Có
thể do lấy mẫu chưa lớn dẫn đến kết quả chưa chuẩn xác so với giải tích.

Tại T=2T
0
,tại nhiệt độ thấp hơn nhiệt độ chuyển pha,thì gần như đã có sự sắp
xếp hoàn toàn của các spin nguyên tử.Điều này ta thấy rõ hơn khi nhiệt độ giảm xuống
T=1.5T
0
.

8


B.Nhận xét:
Chương trình mô phỏng mô hình Ising ,cho ta thấy
+Khi ở nhiệt độ cao hơn nhiều so với nhiệt độ chuyển pha thì các spin sắp
xếp 1 cách ngẫu nhiên.
+Khi gần đến nhiệt độ chuyển pha thì có sự thay đổi rất lớn ,các spin sắp
xếp và lan rộng ra toàn bộ mảng.
+Khi nhiệt độ dưới nhiệt độ chuyển pha thì các spin gần như có sự sắp xếp
hoàn toàn với nhau để theo 1 chiều .
Việc nghiêng cứu mô hình Ising 2D là mô hình chuẩn để thử xem một thuật toán
trong khuôn khổ áp dụng của mô hình có hiệu quả không.Ngày nay,bài toán về mô hình
Ising được áp dụng rất nhiều trong thực tế và trong nhiều lĩnh vực như:các vấn để xã
hội(2 lựa chọn),trong vật lý,sinh học.






×