bluemira.magnetostatics.circuits

Three-dimensional current source terms.

Classes

ArbitraryPlanarRectangularXSCircuit

An arbitrary, planar current loop of constant rectangular cross-section

HelmholtzCage

Axisymmetric arrangement of current sources about the z-axis.

Module Contents

class bluemira.magnetostatics.circuits.ArbitraryPlanarRectangularXSCircuit(shape: numpy.typing.NDArray[numpy.float64] | bluemira.geometry.coordinates.Coordinates, breadth: float, depth: float, current: float)

Bases: PlanarCircuit

Inheritance diagram of bluemira.magnetostatics.circuits.ArbitraryPlanarRectangularXSCircuit

An arbitrary, planar current loop of constant rectangular cross-section and uniform current density.

Parameters:
  • shape (numpy.typing.NDArray[numpy.float64] | bluemira.geometry.coordinates.Coordinates) – The geometry from which to form an ArbitraryPlanarRectangularXSCircuit

  • breadth (float) – The breadth of the current source (half-width) [m]

  • depth (float) – The depth of the current source (half-height) [m]

  • current (float) – The current flowing through the source [A]

Notes

Works best with planar x-z geometries.

breadth: float
depth: float
class bluemira.magnetostatics.circuits.HelmholtzCage(circuit: bluemira.magnetostatics.baseclass.CurrentSource, n_TF: int)

Bases: bluemira.magnetostatics.baseclass.SourceGroup

Inheritance diagram of bluemira.magnetostatics.circuits.HelmholtzCage

Axisymmetric arrangement of current sources about the z-axis.

Parameters:

Notes

The plane at 0 degrees is set to be between two circuits.

n_TF
_pattern(circuit: bluemira.magnetostatics.baseclass.CurrentSource) list[bluemira.magnetostatics.baseclass.CurrentSource]

Pattern the CurrentSource axisymmetrically.

Returns:

List of arranged sources

Parameters:

circuit (bluemira.magnetostatics.baseclass.CurrentSource)

Return type:

list[bluemira.magnetostatics.baseclass.CurrentSource]

ripple(x: float | numpy.typing.NDArray[numpy.float64], y: float | numpy.typing.NDArray[numpy.float64], z: float | numpy.typing.NDArray[numpy.float64]) float

Get the toroidal field ripple at a point.

Parameters:
  • x (float | numpy.typing.NDArray[numpy.float64]) – The x coordinate(s) of the points at which to calculate the ripple

  • y (float | numpy.typing.NDArray[numpy.float64]) – The y coordinate(s) of the points at which to calculate the ripple

  • z (float | numpy.typing.NDArray[numpy.float64]) – The z coordinate(s) of the points at which to calculate the ripple

Returns:

The value of the TF ripple at the point(s) [%]

Return type:

float