User interfaces for computational science: a domain specific language for OOMMF embedded in Python
arXiv:1609.07432 · doi:10.1063/1.4977225
Abstract
Computer simulations are used widely across the engineering and science disciplines, including in the research and development of magnetic devices using computational micromagnetics. In this work, we identify and review different approaches to configuring simulation runs: (i) the re-compilation of source code, (ii) the use of configuration files, (iii) the graphical user interface, and (iv) embedding the simulation specification in an existing programming language to express the computational problem. We identify the advantages and disadvantages of different approaches and discuss their implications on effectiveness and reproducibility of computational studies and results. Following on from this, we design and describe a domain specific language for micromagnetics that is embedded in the Python language, and allows users to define the micromagnetic simulations they want to carry out in a flexible way. We have implemented this micromagnetic simulation description language together with a computational backend that executes the simulation task using the Object Oriented MicroMagnetic Framework (OOMMF). We illustrate the use of this Python interface for OOMMF by solving the micromagnetic standard problem 4. All the code is publicly available and is open source.
5 pages, 2 figures
References in corpus (3)
Cited by in corpus (12)
- Using Jupyter for reproducible scientific workflows
- Ubermag: Towards more effective micromagnetic workflows
- Proposal for a micromagnetic standard problem for materials with Dzyaloshinskii-Moriya interaction
- Fidimag -- a finite difference atomistic and micromagnetic simulation package
- Heterobilayer moiré magnets: moiré skyrmions and the commensurate-incommensurate transition
- Large Unidirectional Magnetoresistance in Metallic Heterostructures in the Spin Transfer Torque Regime
- Precipitating Ordered Skyrmion Lattices from Helical Spaghetti
- Bloch points in nanostrips
- Computational micromagnetics with Commics
- Digital Scientific Notations as a Human-Computer Interface in Computer-Aided Research
- Controlling stable Bloch points with electric currents
- Numerical simulation projects in micromagnetics with Jupyter