flatspin is a GPU-accelerated simulator for systems of interacting nanomagnet spins arranged on a 2D lattice, also known as Artificial Spin Ice (ASI). flatspin can simulate the dynamics of large ASI systems with thousands of interacting elements. flatspin is written in Python and uses OpenCL for GPU acceleration. flatspin comes with extra bells and whistles for analysis and visualization.

Some example ASI systems are shown below:


Ready to learn more? Head over to Installation to download and install flatspin. Then dive into the Quickstart to get started using the simulator.

License and citation#

flatspin is open-source software. You are free to modify and distribute the source-code under under the GPLv3 license.

flatspin is developed and maintained by an interdisciplinary group of researchers at NTNU. If you use flatspin in any work or publication, we kindly ask you to cite:

“flatspin: A Large-Scale Artificial Spin Ice Simulator”, Phys. Rev. B 106, 064408 (2022).

  title = {flatspin: A large-scale artificial spin ice simulator},
  author = {Jensen, Johannes H. and Str\o{}mberg, Anders and
            Lykkeb\o{}, Odd Rune and Penty, Arthur and
            Leliaert, Jonathan and Sj\"alander, Magnus and
            Folven, Erik and Tufte, Gunnar},
  journal = {Phys. Rev. B},
  volume = {106},
  issue = {6},
  pages = {064408},
  numpages = {17},
  year = {2022},
  month = {Aug},
  publisher = {American Physical Society},
  doi = {10.1103/PhysRevB.106.064408},
  url = {https://link.aps.org/doi/10.1103/PhysRevB.106.064408}