Convergence of lattice Ising model

Click For Summary
SUMMARY

The discussion focuses on simulating the 2D Ising model of magnetic materials using Monte Carlo methods. A user reports being stuck in a local equilibrium after 300 Monte Carlo moves at a temperature of 1E-8 K with a 10x10 spin configuration. Experts suggest starting from a zero-temperature limit of perfectly aligned spins to avoid local minima and recommend gradually heating the system to observe phase transitions, specifically not exceeding 2.6 Kelvin. They emphasize the importance of measuring average magnetization and susceptibility to analyze phase transitions effectively.

PREREQUISITES
  • Understanding of the 2D Ising model
  • Familiarity with Monte Carlo simulation techniques
  • Knowledge of statistical mechanics and phase transitions
  • Experience with programming simulations in a suitable language (e.g., Python, C++)
NEXT STEPS
  • Learn about the zero-temperature limit in Ising model simulations
  • Research methods for measuring average magnetization and susceptibility
  • Explore techniques for gradually heating systems in Monte Carlo simulations
  • Investigate the significance of lattice sweeps in Monte Carlo methods
USEFUL FOR

Researchers and students in physics, particularly those focused on statistical mechanics, computational physics, and anyone interested in simulating magnetic materials using the Ising model.

Leonardo Machado
Messages
56
Reaction score
2
Hello everyone.
I'm working on a program to solve 2D Ising model of magnetic materials, using a system with 10x10 spins for simplicity at a temperature of 1E-8 K. I'm using this parameters to get a faster result of m=1 and guarantee it is correct. but...

For now i already pass 300 Monte Carlo's moves and it is in the same position of when it was in 50... is that normal ? I've watch a vídeo on youtube where they took like a 10 million moves to compute a 200x200 system. I'm a bit scared with the time it will cost me.

Thanks.
 
Physics news on Phys.org
Could I check what your initial state was? If you started with an arbitrary random state and immediately put it at such a low temperature, it is highly likely for the system to become stuck in a local equilibrium. Most of the Monte Carlo moves will be rejected because the extremely low temperature essentially prevents moves that increase the energy of the system from occurring.

Also, it is also worth noting that such Monte Carlo simulations are often measured in terms of lattice sweeps (total number of moves / number of lattice sites) - the idea being that in each update one should allow for every lattice spin to have a chance to flip on average.
 
Fightfish said:
Could I check what your initial state was? If you started with an arbitrary random state and immediately put it at such a low temperature, it is highly likely for the system to become stuck in a local equilibrium. Most of the Monte Carlo moves will be rejected because the extremely low temperature essentially prevents moves that increase the energy of the system from occurring.

Also, it is also worth noting that such Monte Carlo simulations are often measured in terms of lattice sweeps (total number of moves / number of lattice sites) - the idea being that in each update one should allow for every lattice spin to have a chance to flip on average.

yes, I've made it totally random and in it first move it was already at such temperature.. So, how should i proceed ? Low the temperature gradually ?
 
I usually prefer the alternative - to heat the system up instead. So instead of starting from a random state, I start with the zero temperature limit of perfectly aligned spins. This avoids the problem of getting trapped in local minima.
 
Fightfish said:
I usually prefer the alternative - to heat the system up instead. So instead of starting from a random state, I start with the zero temperature limit of perfectly aligned spins. This avoids the problem of getting trapped in local minima.

Not sure if I've got it. So, you start your system at a temperature of approximate 0 ( not exactly zero because of the exponential of delta E / T ), then you heat the system until what temperature ? It cannot pass 2.6..something Kelvin because i want to observe the consequence of phase transition.
 
Not sure what it is that you want to achieve but here is a set of pictures of representative states of a Ising system at different temperatures that I've done in the past:
download.png


You can either start with the uniformly aligned state each time or use the final output system state of the lower temperature as the starting state for the next (higher temperature) simulation.

However, it must be noted that these are just representative states of the system. In order to "observe" the phase transition, one has to measure other quantities such as the average magnetization and the susceptibility, which are averaged over the Monte Carlo runs.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
1
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 0 ·
Replies
0
Views
873
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K