# paste this code at the end of VectorFieldPlot 3.3
# https://commons.wikimedia.org/wiki/User:Geek3/VectorFieldPlot
doc
=
FieldplotDocument
(
'VFPt_Solenoid_correct2'
,
width
=
490
,
height
=
200
,
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
=
3.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
()