Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Bài 4:Mô phỏng Monte Carlo
cho các hệ khí lỏng
Under construction.
Mô hình hóa hệ khí lỏng
Các nguyên tử (phân tử) được coilà các hạt hình cầu.
Các hạt có tương tác.
Xét N hạt trong một thể tích hình hộp lập phương với kích thước L.
Sử dụng điều kiện biên tuần hoàn.
L
Thế năng tương tác
V p=∑iv1( r⃗ i)+∑
i∑i< j
v2 (r ij)+∑i∑j∑k
v3( r⃗ i , r⃗ j , r⃗ k)+.. .
tương tác vớitrường ngoài
tương tác cặp tương tác 3 hạt(đáng kể đối với chất lỏng, ~ 10% tổng thế năng)
V p≈∑iv1( r⃗ i)+∑
i∑i< j
v2eff(r ij)
thế năng hiệu dụng chotất cả các tương tác đa hạt
Thế năng Lennard-Jones
vLJ (rij )=4 ϵ[( σr ij )12
−(σr ij )
6
]
experiments on liquid argon
LJ 6-12
đẩy hút
Một số loại thế năng hiệu dụng khác
(a) Hard-sphere (HS)
(b) Square well (SW)
(c,d) Soft-sphere
short-ranged
v (r )=ϵ(σ / r )ν
v (r )∼r−12
v (r )=∞(r<σ)0 (r≥σ)
v (r )=0 (r≥σ)
∞ (r<σ1)−ϵ (σ1≤r<σ2)
long-ranged v (r )∼r−1
Tách thế năng LJ
repulsive LJ
attractive LJ
rmin=σ 21/6
Tách thế năng LJ
repulsive LJ
attractive LJ
rmin=σ 21/6
● Trong 1 bước Monte Carlo:
– Chọn ngẫu nhiên 1 hạt i
– Dịch chuyển hạt i theo một bước ngẫu nhiên với một biên độ tối đa cho trước.
Cần dịch chuyển với xác suất như nhau tới mọiđiểm trong ô xám.
Mô phỏng Monte Carlo
δ E=∑j≠i
v (|r⃗ in− r⃗ j|)−v (|⃗r i
m− r⃗ j|)
δ E=Enew−Eold
– Phương pháp Metropolis: chấp nhận dịch chuyển với xác suất
k nm=min{1,exp(−βδ E )}
Chọn ngẫu nhiên x trong khoảng (0,1).Nếu : chấp nhận dịch chuyểnNếu : quay lại trạng thái cũ
x< k nm
x≥k nm
δ E=δV
Biên độ dịch chuyển tối đa● Thông thường, chọn ● Trong quá trình mô phỏng, có thể điều chỉnh biên độ
dịch chuyển tối đa sao cho khoảng 50% số dịch chuyển được chấp nhận.
if (mod(ntrial,nadjst) .eq. 0) then ratio = real (naccpt) / real (nadjst) if (ratio > 0.5) then drmax = drmax * 1.05 else drmax = drmax * 0.95 endif naccpt = 0endif
δ rmax
δ rmax≈0.3σ
Chọn hạt cho dịch chuyển
● Các cách chọn sau là tương đương:– chọn 1 hạt ngẫu nhiên trong mỗi bước MC– chọn một cách tuần tự từ hạt thứ nhất tới hạt
cuối cùng (MC cycle)– chọn tất cả các hạt cùng 1 lúc
Cắt thế năng LJ● Để giảm thời gian tính, chỉ tính thế năng cho khoảng
cách
● Thông thường chọn cut-off
● Sau đó cần hiệu chỉnh lại năng lượng toàn phần
r c=2.5
r< rc
E full≈E cE LRC=E c2 N ∫r c
∞
r2v r dr
E LRC=8/9 N r c −9
−8/3 N r c −3
LRC: long range correction
Điều kiện biên tuần hoàn
Cắt thế năng với điều kiện biên tuần hoàn
r c< L
x(i) = x(i) – L * anint( x(i) / L )y(i) = y(i) – L * anint( y(i) / L )z(i) = z(i) – L * anint( z(i) / L)
Box (-L/2, L/2) (-L/2,L/2) (-L/2,L/2)
xij = x(i) – x(j)xij = xij – L * anint( xij / L)
Sử dụng hệ tọa độ rút gọn:
x = x/L y=y/L z=z/L
x(i) = x(i) – anint(x(i))
xij = xij - anint(xij)
Ảnh hưởng của điều kiện biên tuần hoàn lên kết quả mô phỏng
● Không mô tả được biến thiên ở bước sóng dài hơn kích thước hộp (l > L), do vậy không tốt khi mô phỏng hệ ở chuyển pha (tại chuyển pha xảy ra biến thiên mật độ ở kích thước lớn).
● Kích thước hộp phải đủ lớn:
● Không tốt đối với thế năng tương tác xa (ví dụ Coulomb):
● Trong một số trường hợp có thể tạo nên tính bất đẳng hướng của chất lỏng
● Trường ngoài cần có tính chất tuần hoàn giống như hộp mô phỏng
L≥6σ
v (r )∼r−ν ν<d
● Tuy nhiên, điều kiện biên tuần hoàn được sử dụng rộng rãi và khá tốt khi mô phỏng:
– Hệ với các tương tác tầm ngắn (short-range)
– Hệ ở cách xa điều kiện chuyển pha.
Mô phỏng hệ đẳng nhiệt đẳng áp (NPT=constant)
⟨A⟩NPT=∫0
∞
dV exp(−βPV )V N∫d s⃗ A( s⃗ )exp(−βV p ( s⃗))
Z NPT
s⃗=L−1 r⃗
s⃗=( s⃗1 , s⃗2 , ... , s⃗N ) scaledcoordinates
L=V−3
Dùng phương pháp Metropolis với phân bố cân bằng:
peq( s⃗ )∼exp(−β(PV +E p ( s⃗))+N lnV )
● Tạo trạng thái mới n từ trạng thái cũ m bằng cách dịch chuyển ngẫu nhiên 1 hạt
hoặc thay đổi ngẫu nhiên thể tích:
● Chấp nhận trạng thái mới với xác suất:
s⃗in= s⃗i
m+ δ smax (2x−1)
V n=V m+ δV max (2x−1)
δH nm=δE p+P (V n−V m)−N β−1 ln (V n /V m)
k nm=min(1,exp(−βδH nm))
Tính thay đổi thế năng khi thay đổi thể tích
Hiển thị kết quả mô phỏng
● Rasmol: phần mềm hiển thị cấu trúc phân tử ● VMD (Visual Molecular Dynamics): hiển thị chuyển
động của các phân tử ● Định dạng file: PDB (Protein Data Bank)
open(15,file='x.pdb')do i=1,N write(15,'(a,i5,2x,a,a,i6,f12.3,2f8.3)') & 'HETATM',i,'AR ','GAS',i,x(i),y(i),z(i)enddo write(15,'(a)')'END'close(15)
Thực hành
● Viết chương trình mô phỏng Monte Carlo cho hệ khí Argon trong điều kiện N,V,T=const với tương tác Lennard-Jones:
– σ = 3.349 Angstroms
– e/kB= 140 Kelvin
– điều kiện biên tuần hoàn.
● Tính nhiệt dung riêng CV phụ thuộc vào nhiệt độ T.
● Tính áp suất tức thì và áp suất trung bình.