pyzfn
Pyzfn is a Python library for post-processing micromagnetic simulation data generated by amumax, a fork of mumax3. It is designed for use with Zarr-backed datasets and supports spatially resolved frequency-domain analysis, visualization, and export of magnetization dynamics.
Features
- 🧊 Zarr-native API for reading/writing simulation results
- ⚡ FFT-based mode analysis across 5D datasets (
(t, z, y, x, c)) - 📈 Interactive spectrum visualization with peak-picking
- 🌈 Mode visualization in amplitude and phase
- 🖼️ Snapshot tools for spatial magnetization structure
- 💾 OVF (OOMMF Vector Field) export for simulation interoperability
- 📚 Predefined theoretical dispersion models (Kittel, Kalinikos-Slavin, DMI-included...)
Installation
pip install pyzfn
Usage
Loading a Zarr Dataset
from pyzfn import Pyzfn
zfn = Pyzfn("my_simulation.zarr")
zfn.p # Show tree structure
Calculate Modes
zfn.calc_modes(dset_in_str="m", dset_out_str="modes")
Performs time-FFT over magnetization and stores spatially resolved modes in modes/....
Visualize Frequency Spectrum + Modes
zfn.ispec(dset_str="modes")
- Left: Spectral line plot
- Right: Mode amplitude, phase, and composite maps
- Click to explore frequency slices interactively
Visualize a Snapshot
zfn.snapshot(dset_str="m", t=-1, z=0)
Visualizes the magnetization vector field at a given time and layer.
Dispersion Models
You can compute theoretical resonance frequencies for comparison:
from pyzfn.equations import kittel_1948
f_res = kittel_1948(B=0.23, Ms=1.15e6, Ku=0.938e6)
print(f_res, "Hz")
Other supported models:
kalinikos_1986,kalinikos_1986_no_approxbottcher_2021kim_2016(DMI included)cortes_ortuno_2013
OVF Support
Save to OVF
from pyzfn.ovf import save_ovf
save_ovf("mode.ovf", array, dx=1e-9, dy=1e-9, dz=1e-9)
Load from OVF
from pyzfn.ovf import load_ovf
arr = load_ovf("mode.ovf")
Development
Run Tests
pytest
Run Type Checks
mypy pyzfn
Format & Lint
We use pre-commit hooks:
pre-commit install
Release files for pyzfn 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyzfn-1.0.6.tar.gz | 42.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyzfn-1.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 87.9 kB
Release files / pyzfn-1.0.6.tar.gz
| Download URL | pyzfn-1.0.6.tar.gz |
|---|---|
| Size | 42.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d88eee88c5b0b8cc42df27a81a632c6c828c9444691cd2b512565d53eb742740
|
|
BLAKE2b-256 checksum How to use checksums |
1db33f71849aa9c00f01dbb47f7d7564f2c3e237757e4671b70b69396bc10be4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2025.
Transparency logRelease files / pyzfn-1.0.6-py3-none-any.whl
| Download URL | pyzfn-1.0.6-py3-none-any.whl |
|---|---|
| Size | 45.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aa27ba0056586f25a9894cf87a966694b203fbe822d013d1fa6f49988e77d55e
|
|
BLAKE2b-256 checksum How to use checksums |
a780c20bd79d9e03f5de4b81e8ac2628a214fe023fc272b43a583291701478bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2025.
Transparency log