intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lecture Monte carlo simulations: Application to lattice models: Part II - TS. Ngô Văn Thanh

Chia sẻ: Little Little | Ngày: | Loại File: PDF | Số trang:76

64
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Lecture Monte carlo simulations: Application to lattice models: Part II - TS. Ngô Văn Thanh

  1. VSOP19, Quy Nhon 3-18/08/2013 Ngo Van Thanh, Institute of Physics, Hanoi, Vietnam.
  2. 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
  3. 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/
  4. 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
  5. 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 …
  6. 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)
  7. 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)
  8. 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)
  9. II.2. Boundary conditions Periodic boundary condition (PBC)
  10. 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
  11. 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
  12.  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
  13. 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
  14.  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
  15. 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
  16. 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.
  17. 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()
  18. 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
  19. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2