API Reference

Top-level package

Differentiable JAX-native magnetic field toolkit.

class magpylib_jax.Circle(current=None, diameter=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Circular current loop in the local xy-plane.

Parameters:
  • current (ArrayLike | None)

  • diameter (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

class magpylib_jax.Collection(*children, position=(0.0, 0.0, 0.0), orientation=None, style_label=None, **_kwargs)[source]

Container for source and sensor objects with Magpylib-like behavior.

Parameters:
  • children (object)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

class magpylib_jax.Cuboid(dimension=None, polarization=None, magnetization=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Homogeneously polarized cuboid.

Parameters:
  • dimension (ArrayLike | None)

  • polarization (ArrayLike | None)

  • magnetization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

class magpylib_jax.CustomSource(field_func=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

User-defined source that can optionally supply a callable field function.

Parameters:
  • field_func (callable | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

class magpylib_jax.Cylinder(dimension=None, polarization=None, magnetization=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Homogeneously polarized cylinder with diameter-height dimensions.

Parameters:
  • dimension (ArrayLike | None)

  • polarization (ArrayLike | None)

  • magnetization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

class magpylib_jax.CylinderSegment(dimension=None, polarization=None, magnetization=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Uniformly polarized cylinder segment (r1, r2, h, phi1_deg, phi2_deg).

Parameters:
  • dimension (ArrayLike | None)

  • polarization (ArrayLike | None)

  • magnetization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

class magpylib_jax.Dipole(moment=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Magnetic dipole source with optional rigid transform.

Parameters:
  • moment (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

exception magpylib_jax.MagpylibBadUserInput[source]

Raised when invalid or unsupported user inputs are provided.

exception magpylib_jax.MagpylibMissingInput[source]

Raised when required source inputs are missing.

class magpylib_jax.Polyline(current=None, vertices=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Piecewise-linear current path through vertices.

Parameters:
  • current (ArrayLike | None)

  • vertices (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

class magpylib_jax.Sensor(pixel=None, position=(0.0, 0.0, 0.0), orientation=None, handedness='right', style=None, style_label=None, **kwargs)[source]

Sensor with one or multiple pixel locations.

Parameters:
  • pixel (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • handedness (str)

  • style_label (str | None)

class magpylib_jax.Sphere(diameter=None, polarization=None, magnetization=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Homogeneously polarized sphere with scalar diameter.

Parameters:
  • diameter (ArrayLike | None)

  • polarization (ArrayLike | None)

  • magnetization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

class magpylib_jax.Tetrahedron(vertices=None, polarization=None, magnetization=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Homogeneously polarized tetrahedron defined by four vertices.

Parameters:
  • vertices (ArrayLike | None)

  • polarization (ArrayLike | None)

  • magnetization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

class magpylib_jax.Triangle(vertices=None, polarization=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Triangular magnetic surface with homogeneous polarization.

Parameters:
  • vertices (ArrayLike | None)

  • polarization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

class magpylib_jax.TriangleSheet(vertices=None, faces=None, current_densities=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Surface current densities flowing over indexed triangular faces.

Parameters:
  • vertices (ArrayLike | None)

  • faces (ArrayLike | None)

  • current_densities (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

class magpylib_jax.TriangleStrip(vertices=None, current=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Current flowing through adjacent triangles defined by a vertex strip.

Parameters:
  • vertices (ArrayLike | None)

  • current (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

class magpylib_jax.TriangularMesh(vertices=None, faces=None, polarization=None, magnetization=None, position=(0.0, 0.0, 0.0), orientation=None, reorient_faces=True, check_open='warn', in_out='auto', style=None, style_label=None, **kwargs)[source]

Uniformly polarized magnet defined by mesh vertices and triangular faces.

Parameters:
  • vertices (ArrayLike | None)

  • faces (ArrayLike | None)

  • polarization (ArrayLike | None)

  • magnetization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • reorient_faces (bool)

  • check_open (bool | str)

  • in_out (str)

  • style_label (str | None)

magpylib_jax.getB(source, observers=None, *, position=(0.0, 0.0, 0.0), orientation=None, squeeze=True, sumup=False, pixel_agg=None, output='ndarray', in_out='auto', **kwargs)[source]

Return B-field in Tesla from source type strings or source objects.

Parameters:
  • source (str | object)

  • observers (Any | None)

  • position (Any)

  • orientation (Any | None)

  • squeeze (bool)

  • sumup (bool)

  • pixel_agg (str | None)

  • output (str)

  • in_out (str)

  • kwargs (Any)

Return type:

Array

magpylib_jax.getH(source, observers=None, *, position=(0.0, 0.0, 0.0), orientation=None, squeeze=True, sumup=False, pixel_agg=None, output='ndarray', in_out='auto', **kwargs)[source]

Return H-field in A/m from source type strings or source objects.

Parameters:
  • source (str | object)

  • observers (Any | None)

  • position (Any)

  • orientation (Any | None)

  • squeeze (bool)

  • sumup (bool)

  • pixel_agg (str | None)

  • output (str)

  • in_out (str)

  • kwargs (Any)

Return type:

Array

magpylib_jax.getJ(source, observers=None, *, position=(0.0, 0.0, 0.0), orientation=None, squeeze=True, sumup=False, pixel_agg=None, output='ndarray', in_out='auto', **kwargs)[source]

Return J-field from source type strings or source objects.

Parameters:
  • source (str | object)

  • observers (Any | None)

  • position (Any)

  • orientation (Any | None)

  • squeeze (bool)

  • sumup (bool)

  • pixel_agg (str | None)

  • output (str)

  • in_out (str)

  • kwargs (Any)

Return type:

Array

magpylib_jax.getM(source, observers=None, *, position=(0.0, 0.0, 0.0), orientation=None, squeeze=True, sumup=False, pixel_agg=None, output='ndarray', in_out='auto', **kwargs)[source]

Return M-field from source type strings or source objects.

Parameters:
  • source (str | object)

  • observers (Any | None)

  • position (Any)

  • orientation (Any | None)

  • squeeze (bool)

  • sumup (bool)

  • pixel_agg (str | None)

  • output (str)

  • in_out (str)

  • kwargs (Any)

Return type:

Array

Functional API

Functional public interface and compatibility dispatch.

magpylib_jax.functional.getB(source, observers=None, *, position=(0.0, 0.0, 0.0), orientation=None, squeeze=True, sumup=False, pixel_agg=None, output='ndarray', in_out='auto', **kwargs)[source]

Return B-field in Tesla from source type strings or source objects.

Parameters:
  • source (str | object)

  • observers (Any | None)

  • position (Any)

  • orientation (Any | None)

  • squeeze (bool)

  • sumup (bool)

  • pixel_agg (str | None)

  • output (str)

  • in_out (str)

  • kwargs (Any)

Return type:

Array

magpylib_jax.functional.getH(source, observers=None, *, position=(0.0, 0.0, 0.0), orientation=None, squeeze=True, sumup=False, pixel_agg=None, output='ndarray', in_out='auto', **kwargs)[source]

Return H-field in A/m from source type strings or source objects.

Parameters:
  • source (str | object)

  • observers (Any | None)

  • position (Any)

  • orientation (Any | None)

  • squeeze (bool)

  • sumup (bool)

  • pixel_agg (str | None)

  • output (str)

  • in_out (str)

  • kwargs (Any)

Return type:

Array

magpylib_jax.functional.getJ(source, observers=None, *, position=(0.0, 0.0, 0.0), orientation=None, squeeze=True, sumup=False, pixel_agg=None, output='ndarray', in_out='auto', **kwargs)[source]

Return J-field from source type strings or source objects.

Parameters:
  • source (str | object)

  • observers (Any | None)

  • position (Any)

  • orientation (Any | None)

  • squeeze (bool)

  • sumup (bool)

  • pixel_agg (str | None)

  • output (str)

  • in_out (str)

  • kwargs (Any)

Return type:

Array

magpylib_jax.functional.getM(source, observers=None, *, position=(0.0, 0.0, 0.0), orientation=None, squeeze=True, sumup=False, pixel_agg=None, output='ndarray', in_out='auto', **kwargs)[source]

Return M-field from source type strings or source objects.

Parameters:
  • source (str | object)

  • observers (Any | None)

  • position (Any)

  • orientation (Any | None)

  • squeeze (bool)

  • sumup (bool)

  • pixel_agg (str | None)

  • output (str)

  • in_out (str)

  • kwargs (Any)

Return type:

Array

magpylib_jax.functional.vgetB(source_type, observers, **kwargs)[source]

Vectorized alias for getB (shape-preserving).

Parameters:
  • source_type (str)

  • observers (Any)

  • kwargs (Any)

Return type:

Array

magpylib_jax.functional.vgetH(source_type, observers, **kwargs)[source]

Vectorized alias for getH (shape-preserving).

Parameters:
  • source_type (str)

  • observers (Any)

  • kwargs (Any)

Return type:

Array

Object containers

Collection compatibility layer for mixed source/sensor containers.

class magpylib_jax.collection.Collection(*children, position=(0.0, 0.0, 0.0), orientation=None, style_label=None, **_kwargs)[source]

Container for source and sensor objects with Magpylib-like behavior.

Parameters:
  • children (object)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Sensor compatibility layer.

class magpylib_jax.sensor.Sensor(pixel=None, position=(0.0, 0.0, 0.0), orientation=None, handedness='right', style=None, style_label=None, **kwargs)[source]

Sensor with one or multiple pixel locations.

Parameters:
  • pixel (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • handedness (str)

  • style_label (str | None)

Current sources

Differentiable circular current loop source object.

class magpylib_jax.current.circle.Circle(current=None, diameter=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Circular current loop in the local xy-plane.

Parameters:
  • current (ArrayLike | None)

  • diameter (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Differentiable polyline current source.

class magpylib_jax.current.polyline.Polyline(current=None, vertices=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Piecewise-linear current path through vertices.

Parameters:
  • current (ArrayLike | None)

  • vertices (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Differentiable triangular current-sheet source.

class magpylib_jax.current.triangle_sheet.TriangleSheet(vertices=None, faces=None, current_densities=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Surface current densities flowing over indexed triangular faces.

Parameters:
  • vertices (ArrayLike | None)

  • faces (ArrayLike | None)

  • current_densities (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Differentiable triangular-strip current source.

class magpylib_jax.current.triangle_strip.TriangleStrip(vertices=None, current=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Current flowing through adjacent triangles defined by a vertex strip.

Parameters:
  • vertices (ArrayLike | None)

  • current (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Magnet sources

Differentiable cuboid magnet source.

class magpylib_jax.magnet.cuboid.Cuboid(dimension=None, polarization=None, magnetization=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Homogeneously polarized cuboid.

Parameters:
  • dimension (ArrayLike | None)

  • polarization (ArrayLike | None)

  • magnetization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Differentiable cylinder magnet source.

class magpylib_jax.magnet.cylinder.Cylinder(dimension=None, polarization=None, magnetization=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Homogeneously polarized cylinder with diameter-height dimensions.

Parameters:
  • dimension (ArrayLike | None)

  • polarization (ArrayLike | None)

  • magnetization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Differentiable cylinder-segment magnet source.

class magpylib_jax.magnet.cylinder_segment.CylinderSegment(dimension=None, polarization=None, magnetization=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Uniformly polarized cylinder segment (r1, r2, h, phi1_deg, phi2_deg).

Parameters:
  • dimension (ArrayLike | None)

  • polarization (ArrayLike | None)

  • magnetization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Differentiable sphere magnet source.

class magpylib_jax.magnet.sphere.Sphere(diameter=None, polarization=None, magnetization=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Homogeneously polarized sphere with scalar diameter.

Parameters:
  • diameter (ArrayLike | None)

  • polarization (ArrayLike | None)

  • magnetization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Differentiable tetrahedron magnet source.

class magpylib_jax.magnet.tetrahedron.Tetrahedron(vertices=None, polarization=None, magnetization=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Homogeneously polarized tetrahedron defined by four vertices.

Parameters:
  • vertices (ArrayLike | None)

  • polarization (ArrayLike | None)

  • magnetization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Differentiable triangular-mesh magnet source.

class magpylib_jax.magnet.triangular_mesh.TriangularMesh(vertices=None, faces=None, polarization=None, magnetization=None, position=(0.0, 0.0, 0.0), orientation=None, reorient_faces=True, check_open='warn', in_out='auto', style=None, style_label=None, **kwargs)[source]

Uniformly polarized magnet defined by mesh vertices and triangular faces.

Parameters:
  • vertices (ArrayLike | None)

  • faces (ArrayLike | None)

  • polarization (ArrayLike | None)

  • magnetization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • reorient_faces (bool)

  • check_open (bool | str)

  • in_out (str)

  • style_label (str | None)

Miscellaneous sources

Differentiable dipole source object.

class magpylib_jax.misc.dipole.Dipole(moment=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Magnetic dipole source with optional rigid transform.

Parameters:
  • moment (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Differentiable triangular magnetic surface source.

class magpylib_jax.misc.triangle.Triangle(vertices=None, polarization=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

Triangular magnetic surface with homogeneous polarization.

Parameters:
  • vertices (ArrayLike | None)

  • polarization (ArrayLike | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Custom source stub for compatibility with Magpylib collections.

class magpylib_jax.misc.custom.CustomSource(field_func=None, position=(0.0, 0.0, 0.0), orientation=None, style=None, style_label=None, **kwargs)[source]

User-defined source that can optionally supply a callable field function.

Parameters:
  • field_func (callable | None)

  • position (ArrayLike)

  • orientation (ArrayLike | None)

  • style_label (str | None)

Core internals

Geometry helpers for frame transforms and coordinate conversions.

magpylib_jax.core.geometry.broadcast_pose(*, position=(0.0, 0.0, 0.0), orientation=None)[source]

Broadcast position/orientation path lengths with singleton expansion.

Parameters:
  • position (Any)

  • orientation (Any | None)

Return type:

tuple[Array, Array]

magpylib_jax.core.geometry.cart_to_cyl(observers)[source]

Convert Cartesian coordinates to cylindrical coordinates.

Parameters:

observers (Array)

Return type:

tuple[Array, Array, Array]

magpylib_jax.core.geometry.cyl_field_to_cart(phi, hr, hphi_or_hz, hz=None)[source]

Convert cylindrical field components to Cartesian field vectors.

Backward-compatible call forms: - cyl_field_to_cart(phi, hr, hz) assumes Hphi=0 - cyl_field_to_cart(phi, hr, hphi, hz) uses full cylindrical vector

Parameters:
  • phi (Array)

  • hr (Array)

  • hphi_or_hz (Array)

  • hz (Array | None)

Return type:

Array

magpylib_jax.core.geometry.ensure_observers(observers)[source]

Normalize observers to a rank-2 array of shape (n, 3).

Parameters:

observers (Any)

Return type:

Array

magpylib_jax.core.geometry.normalize_orientation(orientation)[source]

Return a 3x3 rotation matrix.

Parameters:

orientation (Any | None)

Return type:

Array

magpylib_jax.core.geometry.normalize_orientations(orientation=None)[source]

Return orientations as shape (p, 3, 3).

Parameters:

orientation (Any | None)

Return type:

Array

magpylib_jax.core.geometry.normalize_positions(position=(0.0, 0.0, 0.0))[source]

Return positions as shape (p, 3).

Parameters:

position (Any)

Return type:

Array

magpylib_jax.core.geometry.to_global_field(field_local, rotation_matrix)[source]

Map local-frame vectors back to global coordinates.

Parameters:
  • field_local (Array)

  • rotation_matrix (Array)

Return type:

Array

magpylib_jax.core.geometry.to_local_coordinates(observers, *, position=(0.0, 0.0, 0.0), orientation=None)[source]

Map global observer coordinates into source-local frame.

Parameters:
  • observers (Any)

  • position (Any)

  • orientation (Any | None)

Return type:

tuple[Array, Array]

JAX-native differentiable magnetic field kernels.

magpylib_jax.core.kernels.current_circle_bfield(observers, diameter, current)[source]

B-field of a current circle (Tesla).

Parameters:
  • observers (Any)

  • diameter (Any)

  • current (Any)

Return type:

Array

magpylib_jax.core.kernels.current_circle_hfield(observers, diameter, current, *, singular_tol=1e-15)[source]

H-field of circular current loops centered at the origin in the xy plane.

Parameters:
  • observers (Any)

  • diameter (Any)

  • current (Any)

  • singular_tol (float)

Return type:

Array

magpylib_jax.core.kernels.dipole_bfield(observers, moments)[source]

B-field of a dipole (Tesla).

Parameters:
  • observers (Any)

  • moments (Any)

Return type:

Array

magpylib_jax.core.kernels.dipole_hfield(observers, moments)[source]

H-field of dipole moments located at the origin.

Parameters:
  • observers (Any)

  • moments (Any)

Return type:

Array

magpylib_jax.core.kernels.magnet_cuboid_bfield(observers, dimensions, polarizations)[source]

B-field of homogeneously polarized cuboids centered at the origin.

Parameters:
  • observers (Any)

  • dimensions (Any)

  • polarizations (Any)

Return type:

Array

magpylib_jax.core.kernels.magnet_cuboid_hfield(observers, dimensions, polarizations)[source]

H-field for homogeneously polarized cuboids.

Parameters:
  • observers (Any)

  • dimensions (Any)

  • polarizations (Any)

Return type:

Array

magpylib_jax.core.kernels.magnet_cuboid_jfield(observers, dimensions, polarizations)[source]

J-field for homogeneously polarized cuboids.

Parameters:
  • observers (Any)

  • dimensions (Any)

  • polarizations (Any)

Return type:

Array

magpylib_jax.core.kernels.magnet_cuboid_mfield(observers, dimensions, polarizations)[source]

M-field for homogeneously polarized cuboids.

Parameters:
  • observers (Any)

  • dimensions (Any)

  • polarizations (Any)

Return type:

Array

magpylib_jax.core.kernels.magnet_cylinder_axial_bfield(z0, r, z)[source]

B-field in cylindrical coordinates for axially polarized cylinders.

Parameters:
  • z0 (Array)

  • r (Array)

  • z (Array)

Return type:

Array

magpylib_jax.core.kernels.magnet_cylinder_bfield(observers, dimensions, polarizations)[source]

B-field of homogeneously polarized cylinders centered at the origin.

Parameters:
  • observers (Any)

  • dimensions (Any)

  • polarizations (Any)

Return type:

Array

magpylib_jax.core.kernels.magnet_cylinder_diametral_hfield(z0, r, z, phi)[source]

H-field in cylindrical coordinates for diametral polarization.

Parameters:
  • z0 (Array)

  • r (Array)

  • z (Array)

  • phi (Array)

Return type:

Array

magpylib_jax.core.kernels.magnet_cylinder_hfield(observers, dimensions, polarizations)[source]

H-field of homogeneously polarized cylinders centered at the origin.

Parameters:
  • observers (Any)

  • dimensions (Any)

  • polarizations (Any)

Return type:

Array

magpylib_jax.core.kernels.magnet_cylinder_jfield(observers, dimensions, polarizations)[source]

J-field for homogeneously polarized cylinders.

Parameters:
  • observers (Any)

  • dimensions (Any)

  • polarizations (Any)

Return type:

Array

magpylib_jax.core.kernels.magnet_cylinder_mfield(observers, dimensions, polarizations)[source]

M-field for homogeneously polarized cylinders.

Parameters:
  • observers (Any)

  • dimensions (Any)

  • polarizations (Any)

Return type:

Array

Extended kernels for additional source families.

magpylib_jax.core.kernels_extended.current_circle_bfield_jit(observers, diameter, current)[source]

JIT-specialized circle B-field for fixed observer counts.

Parameters:
  • observers (Any)

  • diameter (Any)

  • current (Any)

Return type:

Array

magpylib_jax.core.kernels_extended.current_polyline_bfield_jit(observers, segments_start, segments_end, currents)[source]

JIT-specialized polyline B-field for fixed observer + segment counts.

Parameters:
  • observers (Any)

  • segments_start (Any)

  • segments_end (Any)

  • currents (Any)

Return type:

Array

magpylib_jax.core.kernels_extended.current_polyline_bfield_masked(observers, segments_start, segments_end, currents, segment_mask)[source]

B-field of current segments with segment masking.

Parameters:
  • observers (Any)

  • segments_start (Any)

  • segments_end (Any)

  • currents (Any)

  • segment_mask (Any)

Return type:

Array

magpylib_jax.core.kernels_extended.current_polyline_hfield(observers, segments_start, segments_end, currents)[source]

H-field of straight current segments.

Parameters:
  • observers (Any)

  • segments_start (Any)

  • segments_end (Any)

  • currents (Any)

Return type:

Array

magpylib_jax.core.kernels_extended.current_trisheet_bfield_jit(observers, vertices, faces, current_densities)[source]

JIT-specialized triangle sheet B-field for fixed observer counts.

Parameters:
  • observers (Any)

  • vertices (Any)

  • faces (Any)

  • current_densities (Any)

Return type:

Array

magpylib_jax.core.kernels_extended.current_trisheet_bfield_masked(observers, triangles, current_densities, face_mask)[source]

B-field of triangle sheet with face masking.

Parameters:
  • observers (Any)

  • triangles (Any)

  • current_densities (Any)

  • face_mask (Any)

Return type:

Array

magpylib_jax.core.kernels_extended.current_tristrip_bfield_jit(observers, vertices, current)[source]

JIT-specialized triangle strip B-field for fixed observer counts.

Parameters:
  • observers (Any)

  • vertices (Any)

  • current (Any)

Return type:

Array

magpylib_jax.core.kernels_extended.magnet_cylinder_segment_bfield_jit(observers, dimensions, polarizations, in_out='auto')[source]

JIT-specialized cylinder-segment B-field for fixed observer counts.

Parameters:
  • observers (Any)

  • dimensions (Any)

  • polarizations (Any)

  • in_out (str)

Return type:

Array

magpylib_jax.core.kernels_extended.magnet_cylinder_segment_bfield_jit_faces(observers, dimensions, polarizations, in_out='auto')[source]

JIT-specialized cylinder-segment B-field for fixed observer + face counts.

Parameters:
  • observers (Any)

  • dimensions (Any)

  • polarizations (Any)

  • in_out (str)

Return type:

Array

magpylib_jax.core.kernels_extended.magnet_sphere_bfield(observers, diameters, polarizations)[source]

B-field of homogeneously polarized spheres centered at the origin.

Parameters:
  • observers (Any)

  • diameters (Any)

  • polarizations (Any)

Return type:

Array

magpylib_jax.core.kernels_extended.magnet_trimesh_bfield(observers, mesh, polarizations, in_out='auto')[source]

B-field of uniformly polarized closed triangular meshes.

Parameters:
  • observers (Any)

  • mesh (Any)

  • polarizations (Any)

  • in_out (str)

Return type:

Array

magpylib_jax.core.kernels_extended.magnet_trimesh_bfield_jit(observers, mesh, polarizations, in_out='auto')[source]

JIT-specialized triangular mesh B-field for fixed observer counts.

Parameters:
  • observers (Any)

  • mesh (Any)

  • polarizations (Any)

  • in_out (str)

Return type:

Array

magpylib_jax.core.kernels_extended.magnet_trimesh_bfield_jit_faces(observers, mesh, polarizations, in_out='auto')[source]

JIT-specialized triangular mesh B-field for fixed observer + face counts.

Parameters:
  • observers (Any)

  • mesh (Any)

  • polarizations (Any)

  • in_out (str)

Return type:

Array

magpylib_jax.core.kernels_extended.magnet_trimesh_bfield_jit_faces_precomp(observers, mesh, polarizations, nvec, L, l1, l2, in_out='auto')[source]

JIT-specialized triangular mesh B-field using precomputed geometry.

Parameters:
  • observers (Any)

  • mesh (Any)

  • polarizations (Any)

  • nvec (Any)

  • L (Any)

  • l1 (Any)

  • l2 (Any)

  • in_out (str)

Return type:

Array

magpylib_jax.core.kernels_extended.magnet_trimesh_bfield_precomp_masked(observers, mesh, polarizations, nvec, L, l1, l2, face_mask, in_out_flag)[source]

B-field of triangular mesh using precomputed geometry with face masking.

Parameters:
  • observers (Any)

  • mesh (Any)

  • polarizations (Any)

  • nvec (Any)

  • L (Any)

  • l1 (Any)

  • l2 (Any)

  • face_mask (Any)

  • in_out_flag (int)

Return type:

Array

magpylib_jax.core.kernels_extended.precompute_cylinder_segment_geometry(dimension, *, n_phi=96, n_r=1, n_z=1)[source]

Precompute cylinder segment mesh + geometry terms.

Parameters:
  • dimension (Any)

  • n_phi (int)

  • n_r (int)

  • n_z (int)

Return type:

tuple[Array, Array, Array, Array, Array]

magpylib_jax.core.kernels_extended.precompute_trimesh_geometry(mesh)[source]

Precompute triangle mesh geometry terms for reuse.

Parameters:

mesh (Any)

Return type:

tuple[Array, Array, Array, Array, Array]

magpylib_jax.core.kernels_extended.tetrahedron_bfield_jit(observers, vertices, polarizations, in_out='auto')[source]

JIT-specialized tetrahedron B-field for fixed observer counts.

Parameters:
  • observers (Any)

  • vertices (Any)

  • polarizations (Any)

  • in_out (str)

Return type:

Array

magpylib_jax.core.kernels_extended.triangle_bfield(observers, vertices, polarizations)[source]

B-field of magnetically charged triangular surfaces.

Parameters:
  • observers (Any)

  • vertices (Any)

  • polarizations (Any)

Return type:

Array

magpylib_jax.core.kernels_extended.triangle_bfield_jit(observers, vertices, polarizations)[source]

JIT-specialized triangle B-field for fixed observer counts.

Parameters:
  • observers (Any)

  • vertices (Any)

  • polarizations (Any)

Return type:

Array