Thermodynamic Magnetic Simulations Ising Model with Metropolis Algorithm Rubin H Landau Sally Haerer, Producer-Director Based on A Survey of Computational Physics by Landau, Páez, & Bordeianu with Support from the National Science Foundation Course: Computational Physics II 1 / 1
Problem: Explain Thermal Behavior of Ferromagnets What are Magnets and How Do They Behave? Ferromagnets = � finite domains Domain: all atoms’ spins aligned External � B : align domains ⇒ magnetized T ↑ : � magnetism ↓ (spins flip?) @ T curie : phase transition, � M = 0 Explain more than usual 2 / 1
Ising Model: N Magnetic Dipoles on Linear Chain Constrained Many Body Quantum System E = + J E = – J Same model 2-D, 3-D Particle i , spin s i ≡ s z , i = ± 1 Fixed ⇒ no movements 2 Ψ : N spin values Spin dynamics � � ± 1 2 , ± 1 j = 1 , . . . , 2 N | α j � = | s 1 , s 2 , . . . , s N � = 2 , . . . , 3 / 1
Ising Model Continued Quantum Interaction of N Magnetic Dipoles E = + J s i · � V i = − J � s i · � s i + 1 − g µ b � B J > 0: ferromagnet ↑↑↑ E = – J J < 0: antiferromagnet ↑↓↑↓ s i = ↑ , ↓ ⇒ 2 N states g = gyromagnetic ratio Fixed ⇒ no exchange � J = g � µ µ · � Energy: � µ · � µ + � B µ b = e � / ( 2 m e c ) J = exchange energy 4 / 1
Many Body Problem ( N ≥ 2 , 3 Unsolved) Beyond N = 2, 3 Use Statistics, Approximations E = + J N − 1 N � � E α k = − J s i s i + 1 − B µ b s i i = 1 i = 1 E = – J 2 N → large (2 20 > 10 6 ) Not equilibrium approach 10 23 : hah! Curie Temperature: B ext → 0 ⇒ no direction � M ( T > T c ) ≡ 0 ⇒ < � M > = 0 T < T c : quantum macroscopic order Yet spins aligned?? 1D: no phase transition Spontaneous reversal 5 / 1
Statistical Mechanics (Theory) Microscopic Origin of Thermodynamics Basis: all configurations < constraints possible Microcanonical Ensemble : energy fixed Canonical Ensemble : (here) T , V , N fixed, not E “At temperature T ”: equilibrium � E � ∝ T Equilibrium � static ⇒ continual random fluctuates Canonical ensemble: E α vary via Boltzmann ( k B ): P ( E α , T ) = e − E α / k B T E = + J Z ( T ) � e − E α / k B T Z ( T ) = E = – J α Sum: individual states, not g ( E α ) weighted sum 6 / 1
Analytic Solutions N → ∞ Ising Model 1-D Ising U = � E � (1) k B T = − N e J / k B T − e − J / k B T N , k B T → 0 , U J J = − N tanh e J / k B T + e − J / k B T = (2) 0 , k B T → ∞ Ne J / k B T sinh ( B / k B T ) M ( k B T ) = . (3) � e 2 J / k B T sinh 2 ( B / k B T ) + e − 2 J / k B T 2-D Ising 0 , T > T c M ( T ) = (4) ( 1 + z 2 ) 1 / 4 ( 1 − 6 z 2 + z 4 ) 1 / 8 √ , T < T c , 1 − z 2 z = e − 2 J / k B T , kT c ≃ 2 . 269185 J , (5) 7 / 1
Metropolis Algorithm (A Top 10 Pick) Basic Concepts (Mystery That It Works) Boltzmann � system remain lowest E state Boltzmann ⇒ higher E less likely than lower E T → 0: only lowest E Finite T : ∆ E ∼ k B T fluctuations ∼ equilibrium Metropolis, Rosenbluth, Teller & Teller: n transport Clever way improve Monte Carlo averages Simulates thermal equilibrium fluctuations Randomly change spins, � follows � ≃ Boltzmann Combo: variance reduction & von Neumann rejection 8 / 1 Random, most likely predominant
Metropolis Algorithm Implementation Number of Steps, Multiple Paths to Equilibrium Configuration Start: fixed T , arbitrary α k = { s 1 , s 2 , . . . , s N } , E α k 1 Trial: flip random spin(s), calculate E trial 2 If E trial ≤ E α k , accept: α k + 1 = α trial 3 − ∆ E kBT : If E trial > E α k , accept + relative probable R = e 4 Choose uniform 0 ≤ r i ≤ 1 α trial , if R ≥ r j (accept) , Set α k + 1 = α k , if R < r j (reject) . Iterate, equilibrate (wait ≃ 10 N ) 5 Physics = fluctuations → M ( T ) , U ( T ) 6 Change T , repeat 7 9 / 1
Metropolis Algorithm Implementation ( IsingViz.py ) Hot start: random 1st J = k B T = 1, N ≤ 20 Cold start: parallel, anti Watch equilibrate: ∆ starts > 10 N iterates no Large flucts: ↑ T , ↓ N matter Large k B T : instabilities More averages better Small k B T : slow equilibrate Data structure = s[N] Domain formation & total E Print + , − ea site ( E > 0: ↑↓ , ↓↑ ) Periodic BC 10 / 1
Calculate Thermodynamic Properties Average in Equilibrium 100 spins 1 1 C C E 0. 0 .3 3 M M – –0 0. .4 4 0 0. .2 2 0. .5 5 0. .1 1 –0 0. .8 8 0. .0 0 0 0 2 2 4 4 0 0 2 2 4 4 kT T k kT T N − 1 N C simple = 1 d � E � � � E α j = − J s i s i + 1 , M j = s i , N dT i = 1 i = 1 � � M ( k b T → ∞ ) → 0 M ( k b T → 0 ) → N / 2 11 / 1
Get to Work! 12 / 1
Recommend
More recommend