Spirit – Atomistic Spin Code

Modular C++ code for numerical optimizations and dynamics simulations of atomistic spin systems – providing live visualisations during simulations.

Download Spirit or Try the Web version

Distinguishing features


This code is written in platform-independent C++, the build process is platform-independent as well, due to the use of CMake. This code has been tested on Windows 7 and 10, OS X Yosemite and upwards and various Linux distributions.

Few dependencies

During development of the Spirit core, a key focus was the independence from third party libraries. Due to this, the core can be used in almost any context and for various purposes.

Modularity and extensibility

Spirit utilizes a modular class structure to enable flexible workflows. This allows the core to be extended for your specific simulation requirements and to be used with a variety of user interfaces.

User Interface with live visualisation

Spirit comes with an optional graphical user interface (GUI), based on Qt and OpenGL. For use on clusters and other headless systems, command line interfaces are also available. The core provides a C API, so that other UIs or programming languages may easily incorporate it.

Web interface for education and portable presentations

A web-based interface has been written, which runs in most modern browsers and even on some mobile devices. The Spirit core can be transpiled to JavaScript using Emscripten, allowing you to simulate spin dynamics right in your browser.

Try Spirit Web!

Spins simulated using Spirit Web
Spins simulated using Spirit Web