Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

CreateCoil

Guides

  • Creating Coils

Tech Notes

  • Physics of Creating Simple, Discrete Coils

Symbols

  • DesToErr
  • EllipseCoilPlot3D
  • EllipseCoilPlot
  • EllipseFieldPlot2D
  • EllipseFieldPlot
  • FindEllipseCoil
  • FindLoopCoil
  • FindSaddleCoilAxial
  • FindSaddleCoilAzimuthal
  • FindSaddleCoil
  • HarmonicFieldPlot
  • LoopCoilPlot3D
  • LoopCoilPlot
  • LoopFieldPlot2D
  • LoopFieldPlot
  • SaddleCoilPlot3D
  • SaddleCoilPlot
  • SaddleFieldPlot2D
  • SaddleFieldPlot
NoahH`CreateCoil`
FindSaddleCoil
​
FindSaddleCoil
[{
i
χ1
,
i
χ2
,…},{n,m},
k
ϕ
,{
χ
cmin
,
χ
cmax
}]
returns, for arc groups of turn ratios
i
χ1
,
i
χ2
,
…
, axial separations between
χ
c min
and
χ
c max
and azimuthal extents optimised to generate the field harmonic of order
n
and degree
m
, while nulling the first
k
ϕ
leading-order error harmonic degrees.
​
Details and Options

Examples  
(18)
Basic Examples  
(2)
Optimise a pair of arc groups to generate the
B
1, 1
(i.e.
n=1
,
m=1
) field harmonic, with a normalised separation between 0.01 and 3, and with one azimuthal extent per saddle:
In[1]:=
FindSaddleCoil
[{1},{1,1},1,{.01,3}]
Out[1]=
AxialSeparations{{Coilχc[1]2.,DesToErr542.649}},AzimuthalExtents{{Coilϕc[1]1.0472},{Coilϕc[1]2.0944}}
An
Association
of axial separations and azimuthal extents has been returned, given that the optimisation of separations and extents is orthogonal.
​
Optimise four pairs of arc groups, of turn ratios 1, -1, 1 and -1, to generate the
B
2, 1
(i.e.
n=2
,
m=1
) field harmonic, with normalised separations between 0.1 and 2.56 and two azimuthal extents per saddle.
First, we can use
HarmonicFieldPlot
to examine the Cartesian components of the desired field along the
x
-,
y
- and
z
-axes:
In[1]:=
HarmonicFieldPlot
[{2,1},ImageSizeSmall]
Out[1]=

,
,

Now find coils which aim to generate this field:
In[2]:=
sols=
FindSaddleCoil
[{1,-1,1,-1},{2,1},2,{0.1,2.56}]
Out[2]=
AxialSeparations{{Coilχc[1]0.2995,Coilχc[2]0.417035,Coilχc[3]0.654955,Coilχc[4]2.5558,DesToErr13.2438},{Coilχc[1]0.299514,Coilχc[2]0.417045,Coilχc[3]0.654995,Coilχc[4]2.54896,DesToErr13.2418},{Coilχc[1]0.299538,Coilχc[2]0.417063,Coilχc[3]0.655069,Coilχc[4]2.53669,DesToErr13.2381},{Coilχc[1]0.299551,Coilχc[2]0.417072,Coilχc[3]0.655106,Coilχc[4]2.5307,DesToErr13.2361},{Coilχc[1]0.299573,Coilχc[2]0.417088,Coilχc[3]0.655173,Coilχc[4]2.52024,DesToErr13.2325},{Coilχc[1]0.299573,Coilχc[2]0.417088,Coilχc[3]0.655174,Coilχc[4]2.52007,DesToErr13.2325},{Coilχc[1]0.299589,Coilχc[2]0.4171,Coilχc[3]0.655223,Coilχc[4]2.51282,DesToErr13.2299},{Coilχc[1]0.299595,Coilχc[2]0.417104,Coilχc[3]0.655239,Coilχc[4]2.51045,DesToErr13.229},{Coilχc[1]0.299609,Coilχc[2]0.417115,Coilχc[3]0.655283,Coilχc[4]2.50396,DesToErr13.2265},{Coilχc[1]0.299623,Coilχc[2]0.417124,Coilχc[3]0.655324,Coilχc[4]2.49811,DesToErr13.2242}},AzimuthalExtents{{Coilϕc[1]0.733038,Coilϕc[2]1.36136},{Coilϕc[1]0.10472,Coilϕc[2]1.15192}}
Use
SaddleFieldPlot
to plot the field along the
x
-,
y
- and
z
-axes generated by the best solution:
In[3]:=
SaddleFieldPlot
[First[sols["AxialSeparations"]],First[sols["AzimuthalExtents"]],{1,-1,1,-1},1,{2,1},ImageSizeSmall]
Out[3]=

,
,

Use
SaddleFieldPlot2D
to plot the
B
x
,
B
y
and
B
z
field components in the
xz
-plane:
In[4]:=
SaddleFieldPlot2D
[First[sols["AxialSeparations"]],First[sols["AzimuthalExtents"]],{1,-1,1,-1},1,{2,1},ImageSize150]
Out[4]=

,
,

Use
SaddleCoilPlot
to make a schematic of the coil in the
ϕz
-plane:
In[5]:=
SaddleCoilPlot
[First[sols["AxialSeparations"]],First[sols["AzimuthalExtents"]],{1,-1,1,-1},1,{2,1}]
Out[5]=
Contents cannot be rendered at this time; please try again later or download this notebook for full functionality »
Use
SaddleCoilPlot3D
to make a 3D plot of the coil:
In[6]:=
SaddleCoilPlot3D
[First[sols["AxialSeparations"]],First[sols["AzimuthalExtents"]],{1,-1,1,-1},1,{2,1}]
Out[6]=

© 2025 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com