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ô-mô-men tổng hợp có độ lớn đáng kể.. P
Trang 1TRƯỜ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
Trang 2I.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ô-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 = L2
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
Trang 3thá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;
}
}
Trang 4while (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];
Trang 5return 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 T0=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=3T0 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ừ
Trang 6Với T=2.8T0,các mẫu hình thành các cụm lớn hơn
Với T=2.4T0 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à Tc=2.27T0.
Trang 7Tại T=2.3T0,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 (Tc~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=2T0,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.5T0
Trang 8B.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