Uppsala Atomistic Spin Dynamics software
The UppASD software package is a simulation suite to study magnetization dynamics by means of the atomistic version of the Landau-Lifshitz-Gilbert (LLG) equation.
Applications:
- Critical temperature determination
- Magnon spectra simulations
- Micromagnetic exchange and DMI stiffness calculations
- Current, field, and temperature-driven dynamics
- Linear spin wave theory calculations
Features:
- LLG, Metropolis, and Heat-bath algorithms
- Generalized Hamiltonian including
- bilinear and biquadratic Heisenberg exchange
- Dzyaloshinskii-Moriya exchange
- magnetocrystalline anisotropies.
- Spin-lattice simulations
- Multiscale functionalities
- Support for arbitrary crystal structures and random alloys
- Spin-transfer and spin-orbit torques
- Temperature models for ultrafast demagnetization simulations
- Temperature gradients
- Quantum statistics
Detailed information about the method can be found in
Atomistic Spin Dynamics: Foundations and Applications
O. Eriksson et. al, Oxford University Press 2017
Download and unpack a binary from the Release page. Installers are available for Linux and Windows. After a successful installation, the code can be run by uppasd from the command line.
Note: The pre-compiled binaries are not optimized, so building from source is recommended for production usage
UppASD uses cmake for compiling the code. With cmake installed, UppASD can be compiled with
cmake -S . -B build
cmake --build build
which results in a compiled binary uppasd locade in the ./bin/ directory.
Python bindings for UppASD are available for installation using pip as follows
python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple uppasdThe pip installation also provides the binary uppasd.
Examples are provided in the ./examples/ folder.
The code is documented in the UppASD manual.
A tutorial with examples and exercises on atomistic spin-dynamics are contained in the UppASD tutorial.
For developers: Please look at the development guidelines in the CONTRIBUTING.md file, about how to make your contributions to UppASD.
A python based QT GUI, named asd_gui, for the code is also available in the repository.
The GUI allows for:
- Visualization of outputs via
VTK. - Plotting of several quantities via integrated
matplotlibfunctionalities. - Automatic generation of input files for
UppASD.
The recommended way to use asd_gui is to install the offical version using pip as below:
pip install asd_gui
This will install the GUI as a Python module that is started by issuing the asd_gui command at the command prompt.
For developing purposes, the GUI can also be installed from source using pip
cd ASD_GUI
pip install -e .
This install the GUI as an editable Python module that is started by issuing the asd_gui command at the command prompt.
(C) 2008-2026 UppASD group