跳至內容

英文维基 | 中文维基 | 日文维基 | 草榴社区

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檔案的原始碼通過W3C驗證
 
vector image使用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 已授權您依據自由軟體基金會發行的無固定段落、封面文字和封底文字GNU自由文件授權條款1.2版或任意後續版本,對本檔進行複製、傳播和/或修改。該協議的副本列在GNU自由文件授權條款中。
w:zh:創用CC
姓名標示 相同方式分享
您可以自由:
  • 分享 – 複製、發佈和傳播本作品
  • 重新修改 – 創作演繹作品
惟需遵照下列條件:
  • 姓名標示 – 您必須指名出正確的製作者,和提供授權條款的連結,以及表示是否有對內容上做出變更。您可以用任何合理的方式來行動,但不得以任何方式表明授權條款是對您許可或是由您所使用。
  • 相同方式分享 – 如果您利用本素材進行再混合、轉換或創作,您必須基於如同原先的相同或兼容的條款,來分布您的貢獻成品。
您可以選擇您需要的授權條款。

說明

添加單行說明來描述出檔案所代表的內容

在此檔案描寫的項目

描繪內容

image/svg+xml

檔案歷史

點選日期/時間以檢視該時間的檔案版本。

日期/時間縮⁠圖尺寸使用者備⁠註
目前2010年8月7日 (六) 22:24於 2010年8月7日 (六) 22:24 版本的縮圖600 × 600(47 KB)Geek3VFPt_quadrupole_coils_1

下列頁面有用到此檔案:

全域檔案使用狀況

以下其他 wiki 使用了這個檔案:

詮釋資料