# paste this code at the end of VectorFieldPlot 3.3
# https://commons.wikimedia.org/wiki/User:Geek3/VectorFieldPlot
doc = FieldplotDocument('VFPt_Solenoid_correct3',
width=490, height=490, unit=100, commons=True, bg_color=None)
doc.arrow_geo = {'x_nock':-2, 'x_head':4, 'x_tail':-2, 'width':4}
R = 0.49
L = 1.96
field = Field([ ['coil', {'x':0, 'y':0, 'phi':0, 'R':R, 'Lhalf':L/2, 'I':1}] ])
for a in [-0.455, -0.385, -0.275, -0.165, -0.055, 0.055, 0.165, 0.275, 0.385, 0.455]:
line = FieldLine(field, [0, a], directions='both', maxr=5)
doc.draw_line(line, linewidth=1.0, arrows_style={'dist':1.5,
'min_arrows':1, 'max_arrows':3, 'scale':2,
'offsets':{'start':1, 'leave_image':0.25, 'enter_image':0.25, 'end':1} })
current_out = doc.draw_object('g', {'id':'current_out'}, group=doc._get_defs())
doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':12.5, 'fill':'#ffffff',
'stroke':'#000000', 'stroke-width':3}, group=current_out)
doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':2.6, 'fill':'#000000',
'stroke':'none'}, group=current_out)
current_in = doc.draw_object('g', {'id':'current_in'}, group=doc._get_defs())
doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':12.5, 'fill':'#ffffff',
'stroke':'#000000', 'stroke-width':3}, group=current_in)
doc.draw_object('path', {'d':"M -8.8,-8.8 L 8.8,8.8 M -8.8,8.8 L 8.8,-8.8",
'fill':'none', 'stroke':'#000000', 'stroke-width':3}, group=current_in)
for x in sc.linspace(-0.84, 0.84, 7):
doc.draw_object('use', {'{http://www.w3.org/1999/xlink}href':'#current_out',
'transform':"translate({:.3f},{:.3f}) scale(0.01, 0.01)".format(x, R)})
doc.draw_object('use', {'{http://www.w3.org/1999/xlink}href':'#current_in',
'transform':"translate({:.3f},{:.3f}) scale(0.01, 0.01)".format(x, -R)})
doc.write()