The design and verification of Mumax3

The design and verification of Mumax3

10 Jul 2014 | Arne Vansteenkiste, Jonathan Leliaert, Mykola Dvornik, Felipe Garcia-Sanchez, Bartel Van Waeyenberge
The paper presents the design, verification, and performance of MUMAX3, an open-source GPU-accelerated micromagnetic simulation program. MUMAX3 solves the time- and space-dependent magnetization evolution in nano- to micro-scale magnets using a finite-difference discretization. It is written in Go and CUDA, and is freely available under the GPLv3 license. The software is verified by comparing results to analytical values and micromagnetic standard problems. It offers extensions such as MFM image generation, moving simulation window, edge charge removal, and material grains. MUMAX3 uses a finite difference (FD) discretization of space with a 2D or 3D grid of orthorhombic cells. Volumetric quantities are treated at the center of each cell, while interfacial quantities are considered on the faces between cells. Material parameters are stored in 1D look-up tables indexed by region indices, and interfacial parameters are stored in a 2D lower triangular matrix. Time-dependent parameters can be defined per region. The software uses Constructive Solid Geometry to define the shape of the magnet and material regions. Any shape is represented by a function that returns true when the point lies inside the shape. Shapes can be rotated, translated, scaled, and combined with boolean operations. MUMAX3 provides a scripting language that resembles a subset of the Go programming language, allowing for complex simulations to be defined. MUMAX3 calculates the evolution of the reduced magnetization vector, which has unit length. The software includes various dynamical terms such as the Landau-Lifshitz torque, Zhang-Li spin-transfer torque, and Slonczewski spin-transfer torque. It also includes magnetostatic field calculations, Heisenberg exchange interaction, Dzyaloshinskii-Moriya interaction, magneto-crystalline anisotropy, and thermal fluctuations. The software is verified by comparing results to analytical solutions and standard problems. It is tested against OOMMF, a widely used micromagnetic simulation program. The performance of MUMAX3 is evaluated in terms of speed and memory consumption. The software is optimized for GPU acceleration and has low memory requirements, allowing for large-scale simulations to be performed on inexpensive hardware. MUMAX3 provides extensions such as moving frame, Voronoi tessellation, and magnetic force microscopy (MFM) image generation. The software is designed to be modular and extensible, with some extensions merged into the mainline code. It is compatible with periodic boundary conditions and can simulate large-scale systems efficiently. The performance of MUMAX3 is influenced by the GPU hardware and simulation size, with large simulations benefiting most from GPU acceleration. The software is capable of simulating complex geometries and material parameters, and is used for a wide range of micromagnetic applications.The paper presents the design, verification, and performance of MUMAX3, an open-source GPU-accelerated micromagnetic simulation program. MUMAX3 solves the time- and space-dependent magnetization evolution in nano- to micro-scale magnets using a finite-difference discretization. It is written in Go and CUDA, and is freely available under the GPLv3 license. The software is verified by comparing results to analytical values and micromagnetic standard problems. It offers extensions such as MFM image generation, moving simulation window, edge charge removal, and material grains. MUMAX3 uses a finite difference (FD) discretization of space with a 2D or 3D grid of orthorhombic cells. Volumetric quantities are treated at the center of each cell, while interfacial quantities are considered on the faces between cells. Material parameters are stored in 1D look-up tables indexed by region indices, and interfacial parameters are stored in a 2D lower triangular matrix. Time-dependent parameters can be defined per region. The software uses Constructive Solid Geometry to define the shape of the magnet and material regions. Any shape is represented by a function that returns true when the point lies inside the shape. Shapes can be rotated, translated, scaled, and combined with boolean operations. MUMAX3 provides a scripting language that resembles a subset of the Go programming language, allowing for complex simulations to be defined. MUMAX3 calculates the evolution of the reduced magnetization vector, which has unit length. The software includes various dynamical terms such as the Landau-Lifshitz torque, Zhang-Li spin-transfer torque, and Slonczewski spin-transfer torque. It also includes magnetostatic field calculations, Heisenberg exchange interaction, Dzyaloshinskii-Moriya interaction, magneto-crystalline anisotropy, and thermal fluctuations. The software is verified by comparing results to analytical solutions and standard problems. It is tested against OOMMF, a widely used micromagnetic simulation program. The performance of MUMAX3 is evaluated in terms of speed and memory consumption. The software is optimized for GPU acceleration and has low memory requirements, allowing for large-scale simulations to be performed on inexpensive hardware. MUMAX3 provides extensions such as moving frame, Voronoi tessellation, and magnetic force microscopy (MFM) image generation. The software is designed to be modular and extensible, with some extensions merged into the mainline code. It is compatible with periodic boundary conditions and can simulate large-scale systems efficiently. The performance of MUMAX3 is influenced by the GPU hardware and simulation size, with large simulations benefiting most from GPU acceleration. The software is capable of simulating complex geometries and material parameters, and is used for a wide range of micromagnetic applications.
Reach us at info@study.space
[slides and audio] The design and verification of MuMax3