跳转到内容

File:VFPt quadrupole coils 1.svg

页面内容不支持其他语言。
这个文件来自维基共享资源
维基百科,自由的百科全书

原始文件 (SVG文件,尺寸为600 × 600像素,文件大小:47 KB)


摘要

描述
English: Magnetic field of four coils creating a quadrupole field. This field configuration is used for strong focusing accelerator physics for instance.
日期
来源 自己的作品
作者 Geek3
其他版本 VFPt quadrupole coils 2.svg
SVG开发
InfoField
 
SVG的源代码为有效代码
 
矢量图使用VectorFieldPlot创作。
源代码
InfoField

Python code

# paste this code at the end of VectorFieldPlot 1.1
doc = FieldplotDocument('VFPt_quadrupole_coils_1',
    width=600, height=600, unit=100, commons=True)
R = 1.2
rs = 0.5
ls = 0.4
field = Field({'coils':[
    [-R, R, -pi/4, rs, ls, -1.0], [R, R, pi/4, rs, ls, -1.0],
    [R, -R, -pi/4, rs, ls, 1.0], [-R, -R, pi/4, rs, ls, 1.0]]})
r0 = op.brentq(lambda r: field.F([0, r])[0], 0.1 * R, 2.0 * R)
Fs = ig.quad(lambda r: field.F([0, r])[0], 0.0, r0)[0]
n = 4
for i in range(n):
    a = (i + 0.5) / n
    r = op.brentq(lambda r: ig.quad(
        lambda r1: field.F([0, r1])[0], 0.0, r)[0] - a * Fs, 0.0, r0)
    for phi in range(4):
        line = FieldLine(field, rot([r, 0], phi * pi / 2.0), directions='both')
        doc.draw_line(line, arrows_style={'dist':1.3, 'offsets':[0.0, 0.5, 0.5, 1.0]})
for phi in range(4):
    xy = rot([R, R], phi * pi / 2.0)
    for d in (-1, 1):
        xy1 = xy + d * rot([0.427, 0], (phi-0.5) * pi / 2.0)
        line = FieldLine(field, xy1, directions='both')
        doc.draw_line(line, arrows_style={'dist':1.3})

# draw coils
windings = 9
b = ls / (windings - 1.0)
coil_defs = doc.draw_object('defs', {})
grad_back = doc.draw_object('linearGradient', {'id':'grad_back',
    'x1':'0', 'x2':'0', 'y1':str(-rs-b), 'y2':str(rs+b),
    'gradientUnits':'userSpaceOnUse'}, group=coil_defs)
for of, col in ((0.00, '#ac7d6b'), (0.15, '#220e0b'), (0.35, '#8a634f'),
    (0.60, '#ffffff'), (0.80, '#8a634f'), (0.90, '#371f18'), (1.00, '#a37e6b')):
    doc.draw_object('stop', {'offset':str(of), 'stop-color':col}, group=grad_back)
grad_front = doc.draw_object('linearGradient', {'id':'grad_front',
    'x1':str(-b), 'x2':str(b), 'y1':'0', 'y2':'0',
    'gradientUnits':'userSpaceOnUse'}, group=coil_defs)
for of, col, opa in ((0.00, '#ad7d63', 0.90), (0.48, '#ad8169', 0.31), 
    (0.65, '#8f6050', 0.14), (0.83, '#844038', 0.42), (1.00, '#2d1412', 1.00)):
    doc.draw_object('stop', {'offset':str(of), 'stop-color':col, 'stop-opacity':str(opa)}, group=grad_front)
wire = doc.draw_object('g', {'id':'wire'}, group=coil_defs)
wire_string = 'M -{0},{1} L -{0},-{1} A {0},{0} 0 1 1 {0},-{1} L {0},{1} A {0},{0} 0 1 1 -{0},{1} Z'.format(b, rs)
wire_back = doc.draw_object('path', {'d':wire_string, 'stroke':'none',
    'fill':'url(#grad_back)'}, group=wire)
wire_front = doc.draw_object('path', {'d':wire_string, 'stroke':'#000000',
    'stroke-width':'0.01', 'fill':'url(#grad_front)'}, group=wire)
coil = doc.draw_object('g', {'id':'coil'}, group=coil_defs)
for i in range(windings):
    doc.draw_object('use', {'{http://www.w3.org/1999/xlink}href':'#wire',
        'x':str(b * (2 * i + 1 - windings))}, group=coil)
doc.draw_object('use', {'{http://www.w3.org/1999/xlink}href':'#coil',
    'transform':'translate(-{0},{0}) scale(-1,1) rotate(45)'.format(R)})
doc.draw_object('use', {'{http://www.w3.org/1999/xlink}href':'#coil',
    'transform':'translate({0},{0}) rotate(45)'.format(R)})
doc.draw_object('use', {'{http://www.w3.org/1999/xlink}href':'#coil',
    'transform':'translate({0},-{0}) scale(-1,1) rotate(45)'.format(R)})
doc.draw_object('use', {'{http://www.w3.org/1999/xlink}href':'#coil',
    'transform':'translate(-{0},-{0}) rotate(45)'.format(R)})

doc.write()

许可协议

我,本作品著作权人,特此采用以下许可协议发表本作品:
GNU head 已授权您依据自由软件基金会发行的无固定段落及封面封底文字(Invariant Sections, Front-Cover Texts, and Back-Cover Texts)的GNU自由文件许可协议1.2版或任意后续版本的条款,复制、传播和/或修改本文件。该协议的副本请见“GNU Free Documentation License”。
w:zh:知识共享
署名 相同方式共享
您可以自由地:
  • 共享 – 复制、发行并传播本作品
  • 修改 – 改编作品
惟须遵守下列条件:
  • 署名 – 您必须对作品进行署名,提供授权条款的链接,并说明是否对原始内容进行了更改。您可以用任何合理的方式来署名,但不得以任何方式表明许可人认可您或您的使用。
  • 相同方式共享 – 如果您再混合、转换或者基于本作品进行创作,您必须以与原先许可协议相同或相兼容的许可协议分发您贡献的作品。
您可以选择您需要的许可协议。

说明

添加一行文字以描述该文件所表现的内容

此文件中描述的项目

描绘内容

文件来源 简体中文(已转写)

上传者的原创作品 简体中文(已转写)

image/svg+xml

文件历史

点击某个日期/时间查看对应时刻的文件。

日期/时间缩⁠略⁠图大小用户备注
当前2010年8月7日 (六) 22:242010年8月7日 (六) 22:24版本的缩略图600 × 600(47 KB)Geek3VFPt_quadrupole_coils_1

以下页面使用本文件:

全域文件用途

以下其他wiki使用此文件:

元数据