bluemira.magnetostatics.circuits ================================ .. py:module:: bluemira.magnetostatics.circuits .. autoapi-nested-parse:: Three-dimensional current source terms. Classes ------- .. autoapisummary:: bluemira.magnetostatics.circuits.ArbitraryPlanarRectangularXSCircuit bluemira.magnetostatics.circuits.HelmholtzCage Module Contents --------------- .. py:class:: ArbitraryPlanarRectangularXSCircuit(shape: numpy.typing.NDArray[numpy.float64] | bluemira.geometry.coordinates.Coordinates, breadth: float, depth: float, current: float) Bases: :py:obj:`PlanarCircuit` .. autoapi-inheritance-diagram:: bluemira.magnetostatics.circuits.ArbitraryPlanarRectangularXSCircuit :parts: 1 :private-bases: An arbitrary, planar current loop of constant rectangular cross-section and uniform current density. :param shape: The geometry from which to form an ArbitraryPlanarRectangularXSCircuit :param breadth: The breadth of the current source (half-width) [m] :param depth: The depth of the current source (half-height) [m] :param current: The current flowing through the source [A] .. rubric:: Notes Works best with planar x-z geometries. .. py:attribute:: breadth :type: float .. py:attribute:: depth :type: float .. py:class:: HelmholtzCage(circuit: bluemira.magnetostatics.baseclass.CurrentSource, n_TF: int) Bases: :py:obj:`bluemira.magnetostatics.baseclass.SourceGroup` .. autoapi-inheritance-diagram:: bluemira.magnetostatics.circuits.HelmholtzCage :parts: 1 :private-bases: Axisymmetric arrangement of current sources about the z-axis. :param circuit: Current source to pattern :param n_TF: Number of sources to pattern .. rubric:: Notes The plane at 0 degrees is set to be between two circuits. .. py:attribute:: n_TF .. py:method:: _pattern(circuit: bluemira.magnetostatics.baseclass.CurrentSource) -> list[bluemira.magnetostatics.baseclass.CurrentSource] Pattern the CurrentSource axisymmetrically. :returns: List of arranged sources .. py:method:: 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. :param x: The x coordinate(s) of the points at which to calculate the ripple :param y: The y coordinate(s) of the points at which to calculate the ripple :param z: The z coordinate(s) of the points at which to calculate the ripple :returns: The value of the TF ripple at the point(s) [%]