Basic Examples (2)
Compare the uniform axial Bz field (encoded as the B1, 0 field harmonic) generated by a Helmholtz pair, and by three optimised pairs of loops covering the same axial extent:
Optimise a saddle coil and an ellipse coil to generate the uniform transverse Bx field (encoded as the B1, 1 field harmonic):
Visualise the coils as 2D schematics:
Visualise the coils as 3D plots. Colour each ellipse primitive differently to distinguish them more easily:
Plot the Bx field component generated by each coil in the xz-plane:
Scope (3)
The search domain can be constrained to account for physical constraints. Optimise a loop coil of three pairs to generate the B2, 0 field harmonic, with axial separations constrained between 0.5 and 1 times the coil radius:
When the mouse hovers over a wire in a 2D or 3D coil plot, all other wires belonging to the same coil primitive are highlighted, and a tooltip shows the parameters describing that primitive:

By default, FindLoopCoil, FindSaddleCoil, and FindEllipseCoil null one fewer leading-order error field harmonics than there are coil parameters, meaning that solutions lie on a 1D contour embedded in a solution space whose dimensionality is equal to the number of coil parameters. Points are found on the solution contour by searching over a coarse mesh of search seeds. These points are interpolated to produce a fine mesh of search seeds, which yield the final set of solutions:
The solutions are then ranked by the ratio of the desired-to-leading-order error field harmonic magnitudes.
Specifying fewer field harmonics to be nulled results in a solution contour of higher dimensionality. Use three saddle primitives to null only one field harmonic, and the solution contour is a 2D surface embedded in a 3D space:
Although the interpolation algorithm works for arbitrary solution contour and search space dimensions, it is currently only optimised for a 1D solution contour (the default and most useful case).