ising_2d_simulation


ising_2d_simulation, a Fortran90 code which carries out a Monte Carlo simulation of a 2D Ising model, using gnuplot() to create graphics images of the initial and final configurations.

A 2D Ising model is defined on an MxN array of cells. Each cell can have a "charge" or "spin" of +1 or -1. A neighborhood of a cell is defined to be itself, and the four immediate neighbors to the north, south, east, and west. A cell may change its charge; the likelihood of doing so depends on whether the charge of the neighbors agrees with the charge of the cell.

This program begins with a random assignment of charges to the cells. It then computes the neighbor agreement at each cell. It then updates the entire configuration in one step, using the neighbor agreement to determine the likelihood of flipping.

Currently, the chance that a cell will "flip" is determined from a table of probabilities based on the number of agreeing neighbors:

Agree12344
Prob0.980.850.500.150.02

Usage:

ising_2d_simulation m n iterations thresh seed
where

Note that the user might also want to vary the transition probabilities. This cannot currently be done on the command line, and requires editing the program and recompiling it.

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

ising_2d_simulation is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and Programs:

ising_2d_simulation_test

f90_simulation, a Fortran90 code which uses simulation to study card games, contests, and other processes which have a random element. Usually, the purpose is to try to predict the average behavior of the system over many trials.

gnuplot_test, Fortran90 codes which write data and command files so that gnuplot() can create plots.

mandelbrot, a Fortran90 code which generates an ASCII PPM image of the Mandelbrot set;

Reference:

  1. American National Standard for Programming Language: Fortran - Extended,
    American National Standards Institute, 1992,
    pages 296-299.
  2. Bryan Hayes,
    The World in a Spin,
    On the Ising model of ferromagnets and other physical systems,
    American Scientist,
    Volume 88, Number 5, September-October 2000, pages 384-388,

Source Code:


Last revised on 19 July 2020.