Python API Reference

Field Classes#

All field classes follow the same interface:

  • compute(magnetization) – returns the effective field as an (n, 3) array
  • energy(magnetization) – returns the energy as a scalar (Joules)

Magnetization m is always an (n, 3) array of unit vectors.


DemagFieldFK#

Demagnetizing field via the Fredkin-Koehler scalar potential method. This is the primary solver and supports multiple BEM backends.

DemagFieldFK(coordinates, elements, Ms, *,
           scale=1.0, tolerance=1e-8,
           solver=SolverType.AMG_CG,
           h2_cache="", h2params=None,
           fmm_params=None, backend=None,
           tree_type=None)
ParameterTypeDescription
coordinates(n, 3)Node positions
elements(ntet, 4)Tetrahedral connectivity, 0-indexed
Ms(n,)Saturation magnetization per node (A/m)
scalefloatLength unit: 1.0 = m, 1e-9 = nm
tolerancefloatIterative solver tolerance
solverSolverTypeGPU solver preset
h2_cachestrH2 matrix cache file path (empty = no caching)
h2paramsParamsFKH2LibH2-matrix compression parameters
fmm_paramsParamsFKFMMGPU FMM parameters
backendBemBackendBEM backend (default: FMM_GPU)
tree_typeTreeType or strFMM tree strategy

Additional methods: