Ubermag#
With ubermag
you can drive your micromagnetic simulations from the Jupyter
notebook. A single notebook can contain problem description, numerical solving,
and data analysis in a self-consistent fashion. Using Python ubermag
defines
a domain-specific language to describe micromagnetic problems and automatically
communicates with low-level simulation tools such as OOMMF.
On the Ubermag mailing list we announce new
versions of ubermag
and new features. Additionally, Ubermag users can use
the mailing list or the Ubermag Zulip chat to ask questions and help others.
Features and packages#
Ubermag is a collection of several independent Python packages that can be used
independently as well as in combination. The whole set of packages – the
ubermag
meta-package – is tailored to micromagnetic simulations. The
individual sub-packages can be used in other fields, e.g. fluid dynamics.
discretisedfield
Finite-difference scalar and vector fields
common mathematical operations
domain-specific tools (e.g. topological charge)
reading and writing
vtk
,ovf
, andhdf5
Visualisation with
matplotlib
,k3d
, andholoviews
micromagneticmodel
Physics of the micromagnetic system
Energy equation (Exchange, Zeeman, DMI, …)
Dynamics equation (damping, precession, …)
micromagneticdata
Analysis and visualisation of spatially resolved simulation data (magnetisation snapshots)
ubermagtable
Analysis and visualisation of scalar data (reads OOMMF
odt
and mumax3txt
)
mag2exp
Simulations of experimental techniques used to study magnetism such as
Lorentz Transmission Electron Microscopy
Magnetic Force Microscopy
X-ray Holography
Small Angle Neutron Scattering
micromagnetictests
Tests for micromagnetic calculators in
ubermag
ubermagutil
Definition of typesystem descriptors, decorators and shared internal utilities
What is ubermag
?#
As a whole, ubermag
is a level of (Python) utilities sitting above (”über”)
existing micromagnetic simulation packages, such as OOMMF and mumax3. We refer
to packages such as OOMMF and mumax3 as the computational backends, or as
(micromagnetic) calculators.
By exposing micromagnetic simulations to the Python ecosystem and integration into Jupyter, all the popular tools used in scientific computing for data analysis, numerical analysis, visualisation, machine learning, etc. become readily available.
The ubermag
Python packages allow to specify a micromagnetic problem (without
making use of any micromagnetic calculator). Only when the micromagnetic problem
needs to be solved, the task is delegated to the computational backend.
Design objectives of Ubermag are:
Work towards a common interface (domain spacific language) to multiple simulation packages,
Expose micromagnetic simulations to Python ecosystem,
Make it easier to compare simulation results obtained with different simulation packages, and
Allow execution of micromagnetic simulation in the cloud.
Documentation and tutorials#
If you are new to ubermag
you should consider first looking at
Getting started which will give a gentle introduction into all
the packages inside ubermag
.
If you already know the basics of ubermag
there is a collection of
Examples that show how to solve particular (physical) questions
using ubermag
and its subpackages. For a documentation of more technical
functionality of the different packages please refer to the
Package documentation and the API Reference.
An online-workshop has been given in June 2020 for spintalks (spintalks.org), supported by IEEE Magnetics Society (ieeemagnetics.org). A recording of these sessions is available on YouTube. Please note that some functionality in Ubermag has been changed and extended since the workshop recording.
ubermag
in the cloud#
If you do not want to install ubermag
on your machine, you can use it in the
cloud via Binder. This does not require you to have anything installed on your
machine and no files will be created. To access it, please use the following
badge:
You can setup your own simulation from scratch or upload the notebook you prepared previouly. Please remember to download the notebook after you are done, so that you can upload it again when you start a new online session.
How to cite#
If you use Ubermag or any of its sub-packages for your research please cite:
M. Beg, M. Lang and H. Fangohr, “Ubermag: Toward More Effective Micromagnetic Workflows,” in IEEE Transactions on Magnetics, vol. 58, no. 2, pp. 1-5, Feb. 2022, Art no. 7300205, doi: 10.1109/TMAG.2021.3078896.
@article{beg2022,
author = {Beg, Marijan and Lang, Martin and Fangohr, Hans},
journal = {IEEE Transactions on Magnetics},
title = {Ubermag: Towards more effective micromagnetic workflows},
year = {2022},
volume = {58},
number = {2},
pages = {1-5},
doi = {10.1109/TMAG.2021.3078896}
}
License#
Licensed under the BSD 3-Clause “New” or “Revised” License. For details, please refer to the LICENSE file.
Acknowledgements#
Ubermag is a part of the Horizon 2020 European Research Infrastructure OpenDreamKit project (Project ID 676541). This work was supported by the Fonds Wetenschappelijk Onderzoek (FWO-Vlaanderen) through Project No. G098917N (Jeroen Mulkers) and with a postdoctoral fellowship (Jonathan Leliaert). We also acknowledge support from the Engineering and Physical Scienes Research Council (EPSRC/UKRI) Programme Grant on Skyrmionics (EP/N032128/1).