← Back to Portfolio

2D Ising Model Simulation

Visualization of a 2D Ising Model

matlabphysicssimulation View Source →

Monte Carlo Simulation of the 2D Ising model

Explores the properties of the generalized Ising Model in 2 dimensions. The spins are arranged in a square lattice and interact with the nearest neighbors only. Periodic boundary conditions are imposed in both directions. Link to the source code here.

Below is the visualization of the lattice over time given an inverse temperature and starting from a random configuration. The interaction between neighbors causes the elements of the lattice to group into like polarizations. As you can see in the video the lattice goes from very checkered and random to eventually showing clumps of polarizations grouped together.

ising2D Function Input Variables

The ising2D.m uses the Monte Carlo algorithm to simulate the behavior of a General 2D Ising Model under specified conditions. If the plot flag is set to 1 then it will show the real time change of the cell matrix over time.

T = Temperature

N = linear lattice size

J = Ising coupling

plot_flag - 1 to have the script plot the cell matrix evolution in real time

tempChange and T_C_investigation

These scripts graph the energy, magnetization, heat capacity, and magnetic susceptibility as temperature changes. The difference between them is that T_C_investigation.m focuses more on the range around the critical temperature.

Thermalization

The thermalization time is how long it takes for the algorithm to reach an equilibrium.

thermalization_relationship plots the thermalization time of the simulated ising models as the value of N is increased.