Skip to main content

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_approx
  • bottcher_2021
  • kim_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)

Source distribution for pyzfn 1.0.6
File Size Uploaded
pyzfn-1.0.6.tar.gz 42.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyzfn 1.0.6
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.0.6 This release

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

0.1.16

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page