Scientific Computing

MicromagneticsSimulation Engine

Under Development

Simulate magnetization orientations, domain wall dynamics, and spin vectors at nanometer scales using GPU clusters.

Micromagnetic Solvers

The micromagnetics pipeline solves the Landau-Lifshitz-Gilbert (LLG) equation to determine the spatial distribution of magnetization vectors in magnetic alloys. We support both GPU-accelerated finite-difference engines (MuMax3) and CPU-oriented solvers (OOMMF).

GPU Accelerated

MuMax3 Engine

A Go-based finite-difference micromagnetic solver that runs on CUDA GPUs. Designed to compute large structures containing millions of mesh cells.

CPU Oriented

OOMMF Framework

The Object Oriented Micromagnetic Framework (OOMMF) from NIST. Provides modular C++ class interfaces and detailed micro-scale energy models.

MuMax3 Simulation Code

The following script defines a thin ferromagnetic Permalloy strip, initializes it with uniform spin, and simulates its relaxation under an external field.

simulation.mx3
1# Mumax3 script template to simulate magnetization dynamics in a thin ferromagnetic film
2setgridsize(128, 64, 1) // Set cell dimensions
3setcellsize(5e-9, 5e-9, 5e-9) // Cell dimensions in meters (5nm resolution)
4
5// Define material properties for Permalloy (NiFe)
6Msat = 860e3 // Saturation magnetization (A/m)
7Aex = 13e-12 // Exchange stiffness constant (J/m)
8alpha = 0.02 // Landau-Lifshitz damping parameter
9
10// Define shape and initial state
11DefRegion(1, Box(0, 0, 0))
12m = uniform(1, 0, 0) // Initialize magnetization spin oriented along X-axis
13
14// Apply external magnetic field to trigger relaxation
15B_ext = vector(0.01, 0.002, 0) // External field in Tesla
16
17// Solve and output magnetization state snapshots
18relax()
19save(m)