# paste this code at the end of VectorFieldPlot 1.0
doc = FieldplotDocument('VFPt_cylindrical_coil_real', commons=True)
r = 1.4
field = Field({'ringcurrents':[[x*r,0,0,r/2,1] for x in sc.linspace(-1,1,6)]})
xy = lambda phi: sc.array([r,0]) + rot([sqrt(1.25)*r,0], phi)
Fr = lambda phi: sc.dot(rot([1,0], phi), field.F(xy(phi)))
phi0 = op.brentq(Fr, 2, pi)
doc.draw_currents(field)
n = 15
for i in range(n):
a = (0.5 + i) / n
phi = op.brentq(lambda phi: ig.quad(Fr, -phi0, phi)[0]
- a * ig.quad(Fr, -phi0, phi0)[0], -phi0, phi0)
line = FieldLine(field, xy(phi), directions='backward', bounds_func=lambda p: -p[0])
startp = line.get_polylines()[0]['path'][0]
line = FieldLine(field, startp, directions='both', maxr=10.0)
doc.draw_line(line, arrows_style={'dist':2,'offsets':[1.2,0.5,0.5,1.2]})
doc.write()