Skip to content

Creating an Interactive Implementation of the 2D Ising Model, solved using the Metropolis Algorithm in C++

Notifications You must be signed in to change notification settings

armbrusl/Ising-Model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

Ising-Model-2D

In order for this code to work add the header file (olcPixelGameEngine.h) found at https://github.com/OneLoneCoder/olcPixelGameEngine.

The Energy (E=...) and Magnetization (M=...) are printed out continuously.

Commands one can use so far:

  • Left Click (Hold) → Changing a 10 x 10 block of spins to value 1 (White).

  • Right Click (Hold) → Changing a 10 x 10 block of spins to value -1 (Black).

  • I Button (Pressed) → Resets the entire grid and all variables.

  • H Button (Hold) + UP Button (Pressed) / DOWN Button (Pressed) → Increasing / Decreasing the value of the magnetic field.

  • J Button (Hold) + UP Button (Pressed) / DOWN Button (Pressed) → Increasing / Decreasing the coupling constant J.

  • T Button (Hold) + UP Button (Pressed) / DOWN Button (Pressed)→ Increasing / Decreasing the temperature.

  • H Button (Hold) + ENTER (Pressed) → Setting H to its original value.

  • J Button (Hold) + ENTER (Pressed) → Setting J to its original value.

  • T Button (Hold) + ENTER (Pressed) → Setting the Temperature to its original value.

  • H Button (Held) + F Button (Pressed) → Entering a seperated canvas to increaase/ decrease the magnetic field in specific regions.
    -> * Left Click (Hold) → Increasing magnetic field. -> * Right Click (Hold) → Decreasing magnetic field.

About

Creating an Interactive Implementation of the 2D Ising Model, solved using the Metropolis Algorithm in C++

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages