YOMEDIA
![](images/graphics/blank.gif)
ADSENSE
Lecture Monte carlo simulations: Application to lattice models: Part II - TS. Ngô Văn Thanh
64
lượt xem 5
download
lượt xem 5
download
![](https://tailieu.vn/static/b2013az/templates/version1/default/images/down16x21.png)
Lecture Monte carlo simulations: Application to lattice models, part II - Monte carlo simulation methods. The main contents of this chapter include all of the following: The spin models, boundary conditions, simple sampling monte carlo methods, importance sampling monte carlo methods.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Lecture Monte carlo simulations: Application to lattice models: Part II - TS. Ngô Văn Thanh
- VSOP19, Quy Nhon 3-18/08/2013 Ngo Van Thanh, Institute of Physics, Hanoi, Vietnam.
- Part II. Monte Carlo Simulation Methods II.1. The spin models II.2. Boundary conditions II.3. Simple sampling Monte Carlo methods II.4. Importance sampling Monte Carlo methods
- A Guide to Monte Carlo Simulations in Statistical Physics D. Landau and K. Binder, (Cambridge University Press, 2009). Monte Carlo Simulation in Statistical Physics: An Introduction K. Binder and D. W. Heermann (Springer-Verlag Berlin Heidelberg, 2010). Understanding Molecular Simulation : From Algorithms to Applications D. Frenkel, (Academic Press, 2002). Frustrated Spin Systems H. T. Diep, 2nd Ed. (World Scientific, 2013). Lecture notes PDF files : http://iop.vast.ac.vn/~nvthanh/cours/vsop/ Example code : http://iop.vast.ac.vn/~nvthanh/cours/vsop/code/
- II.1. The spin models Introduction Spin model = spin kind + lattice structure (with including the dimension) Spin kinds : Ising XY Heisenberg Lattice structure : Simple cubic (SC) Body center cubic (BCC) Face center cubic (FCC) Stacked triangular (hexagonal) … Dimensions : 2D, 3D or films
- n-vector model The hamiltonian (2.1) n : number of conponent n = 0 : The Self-Avoiding Walks n = 1 : Ising model n = 2 : XY model n = 3 : Heisenberg model exchange interaction J : Ferromagnetic interaction : Antiferromagnetic interaction : Spin glass The sum is taken over nearest neighbours spin pair next nearest neighbours spin pair …
- Ising spin model The hamiltonian (2.2) the probability that the system is in state s (2.3) For the ferromagnetic Ising model on 2D simple cubic lattice The energy (2.4)
- XY spin model This is the special case of the n-vector model, for n = 2 The hamiltonian (2.5) Using polar coordinate, with and (2.6) the system in a external magnetic field (2.7)
- Heisenberg spin model This is the special case of the n-vector model, for n = 3 The hamiltonian with (2.8) The equation of motion in the continuum limit (2.9) The Potts model The standard Potts model, spin (2.10) : is the Kronecker delta (2.11)
- II.2. Boundary conditions Periodic boundary condition (PBC)
- Free boundary condition Using for a thin-film geometry Applying the free boundary condition on z-direction only Use PBC on (x, y) plane film thickness
- II.3. Simple sampling Monte Carlo methods Comparisons of methods for numerical integration of given functions: Simple methods Consider a definite integral (2.12) draw a box extending from a to b and from 0 to y0 Using random numbers drawn y from a uniform distribution y0 drop N points randomly into the box count the number N0 which fall below f(x) f(x) An estimate for the integral (2.13) 0 a b x
- Crude method choose N values of x randomly, then calculate f(x) (2.14) Intelligent methods : control variate method (2.15) where selects a integrable function
- Simulation of radioactive decay : Consider sample of N nuclei which decay at rate the rate of decay (2.16) the nuclei is chosen randomly The number of undecayed nuclei (2.17) N0 : the initial number of nuclei, related to the ‘half-life’ of the system Simulation Dividing the time into discrete intervals during the time interval, test for decay of each undecayed nucleus Determine the number of undecayed nuclei Increasing the time step, then repeat the process
- Program structure N = N0 ; NP = N0 LOOP from (t = dt) to Tmax , step dt LOOP from 1 to NP ! Loop over each remaining parent nucleus R = uniform_RandomNumber() ! 0 R 1 IF ( R < λ dt ) THEN N = N-1 END IF END LOOP over nuclei NP = N Record t, N END LOOP over time
- Source : radioactive_decay.f90 PROGRAM RADIOACTIVE_DECAY IMPLICIT NONE REAL :: t,tmax,dt,r,lambda INTEGER :: n,n0,np,nt,i ! CALL RANDOM_SEED() n0 = 1000; tmax = 50.0 dt = 0.1; lambda = 0.1 n = n0; t = 0.0 DO WHILE (t 0) t = t + dt np = n DO i = 1,np CALL RANDOM_NUMBER(r) IF (r < lambda*dt) n = n - 1 END DO nt = NINT(n0*exp(-t*lambda)) print*,t,n,nt END DO END PROGRAM RADIOACTIVE_DECAY
- Finding the groundstate of a hamiltonian Consider a system of Ising spins Algorithm Randomly chosen an initial state of the system Choose a random site on the lattice Try to overturn the spin, determining the change in energy if the energy is lowered, then accept the overturn of the spin otherwise it is left unchanged, go to the next site. the system is then either in the groundstate or in some metastable state. We can use different initial configurations, one tests to see if the same state is reached as before if a lower energy state is found.
- Source : groundstate.f90 PROGRAM GROUNDSTATE IMPLICIT NONE INTEGER, PARAMETER :: N = 10 REAL,DIMENSION(n,n) :: S INTEGER :: i,j,k,l,ip,im,jp,jm REAL :: r,e1,e2,temp ! initial configuration CALL RANDOM_SEED() CALL RANDOM_NUMBER(S) DO i = 1,n DO j = 1,n IF (S(i,j) > 0.5) THEN S(i,j) = 1.0 ELSE S(i,j) = -1.0 ENDIF ENDDO ENDDO print*,0,etot()
- DO l = 1,60 ! Simulation DO k = 1,40 CALL RANDOM_NUMBER(r) i = INT(r*float(n))+1 CALL RANDOM_NUMBER(r) j = INT(r*float(n))+1 ! periodic boundary condition ip = i + 1; im = i - 1 jp = j + 1; jm = j - 1 IF (ip > n) ip = 1; IF (im < 1) im = n IF (jp > n) jp = 1; IF (jm < 1) jm = n ! calculate the energy e1 = -S(i,j)*(S(ip,j)+S(im,j)+S(i,jp)+S(i,jm)) e2 = -e1 IF (e2
- CONTAINS ! list of subroutine/function REAL FUNCTION etot temp = 0.0 DO i = 1,n ip = i + 1; im = i - 1 IF (ip > n) ip = 1 IF (im < 1) im = n DO j = 1,n jp = j + 1; jm = j - 1 IF (jp > n) jp = 1 IF (jm < 1) jm = n temp = temp & - S(i,j)*(S(ip,j)+S(im,j)+S(i,jp)+S(i,jm)) ENDDO ENDDO etot = 0.5*temp/float(n*n) END FUNCTION etot ! END PROGRAM GROUNDSTATE
![](images/graphics/blank.gif)
Thêm tài liệu vào bộ sưu tập có sẵn:
![](images/icons/closefanbox.gif)
Báo xấu
![](images/icons/closefanbox.gif)
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
![](https://tailieu.vn/static/b2013az/templates/version1/default/js/fancybox2/source/ajax_loader.gif)