bluemira.magnetostatics.semianalytic_2d

Semi-analytic methods for Bx, Bz, and psi for circular coils of rectangular cross-section.

Functions

semianalytic_Bx(→ float | numpy.ndarray)

Calculate the Bx and Bz fields from a rectangular cross-section circular

semianalytic_Bz(→ float | numpy.ndarray)

Calculate the Bx and Bz fields from a rectangular cross-section circular

semianalytic_psi(→ float | numpy.ndarray)

Calculate the poloidal magnetic flux from a rectangular cross-section circular

Module Contents

bluemira.magnetostatics.semianalytic_2d.semianalytic_Bx(xc: float, zc: float, x: float | numpy.ndarray, z: float | numpy.ndarray, d_xc: float, d_zc: float) float | numpy.ndarray

Calculate the Bx and Bz fields from a rectangular cross-section circular coil with a unit current using a semi-analytic reduction of the Biot-Savart law.

Parameters:
  • xc (float) – Coil x coordinate [m]

  • zc (float) – Coil z coordinate [m]

  • x (float | numpy.ndarray) – Calculation x location

  • z (float | numpy.ndarray) – Calculation z location

  • d_xc (float) – The half-width of the coil

  • d_zc (float) – The half-height of the coil

Returns:

Radial magnetic field response (x, z)

Return type:

float | numpy.ndarray

Notes

\(B_{x}=\dfrac{\mu_{0}Jx}{2\pi}\sum^{2}_{i=1}(-1)^{i+j}\) \(P_x(R_{i},Z_{j})\)

References

DOI: 10.1109/TMAG.2011.2167981

bluemira.magnetostatics.semianalytic_2d.semianalytic_Bz(xc: float, zc: float, x: float | numpy.ndarray, z: float | numpy.ndarray, d_xc: float, d_zc: float) float | numpy.ndarray

Calculate the Bx and Bz fields from a rectangular cross-section circular coil with a unit current using a semi-analytic reduction of the Biot-Savart law.

Parameters:
  • xc (float) – Coil x coordinate [m]

  • zc (float) – Coil z coordinate [m]

  • x (float | numpy.ndarray) – Calculation x location

  • z (float | numpy.ndarray) – Calculation z location

  • d_xc (float) – The half-width of the coil

  • d_zc (float) – The half-height of the coil

Returns:

Vertical magnetic field response at (x, z)

Return type:

float | numpy.ndarray

Notes

\(B_{z}=\dfrac{\mu_{0}Jx}{2\pi}\sum^{2}_{i=1}(-1)^{i+j}\) \(P_z(R_{i},Z_{j})\)

References

DOI: 10.1109/TMAG.2011.2167981

bluemira.magnetostatics.semianalytic_2d.semianalytic_psi(xc: float, zc: float, x: float | numpy.ndarray, z: float | numpy.ndarray, d_xc: float, d_zc: float) float | numpy.ndarray

Calculate the poloidal magnetic flux from a rectangular cross-section circular coil with a unit current using a semi-analytic reduction of the Biot-Savart law.

Parameters:
  • xc (float) – Coil x coordinate [m]

  • zc (float) – Coil z coordinate [m]

  • x (float | numpy.ndarray) – Calculation x location

  • z (float | numpy.ndarray) – Calculation z location

  • d_xc (float) – The half-width of the coil

  • d_zc (float) – The half-height of the coil

Returns:

Poloidal magnetic flux response at (x, z)

Return type:

float | numpy.ndarray

Notes

The function returns

\[2 \times 10^{-7} {\frac{1}{4 d_{xc} d_{zc}}} \psi\]

The function integrates \(x B_z\) to resolve psi. More analytical approaches are possible and will no doubt be faster.