Soubor:VFPt cylindrical magnets orthogonal.svg

Původní soubor(soubor SVG, nominální rozměr: 720 × 600 pixelů, velikost souboru: 52 KB)

Popis

Popis
English: Magnetic field of an two ideal cylindrical magnets with their axis of symmetry inside the image plane. The magnets are aligned orthogonal to each other, creating complex winding field lines.
Datum
Zdroj Vlastní dílo
Autor Geek3
Další verze
SVG vývoj
InfoField
 
Zdrojový kód tohoto SVG je validní.
 
Tento vektorový obrázek byl vytvořen programem VectorFieldPlot
 
This file uses embedded text.
Zdrojový kód
InfoField

Python code

# paste this code at the end of VectorFieldPlot 1.4
M = 1.0 # magnetic moment
l = 0.75
r = 0.25
x = 1.25
doc = FieldplotDocument('VFPt_cylindrical_magnets_orthogonal',
                        width=720, height=600, commons=True)
fieldB = Field({'coils':[[-x, 0, 0, r, l, M/(r**2*pi)], [x, 0, pi/2, r, l, M/(r**2*pi)]]})
# use the H-field with magnetic monopoles, because its lines terminate
# easier. The shape of the field of H and B is actually identical.
fieldH = Field({'charged_discs':[
          [-x-l, -r, -x-l, r, -0.5*M/l], [-x+l, -r, -x+l, r,  0.5*M/l],
          [x-r, -l, x+r, -l, -0.5*M/l], [x-r, l, x+r, l,  0.5*M/l]]})
doc.draw_magnets(fieldB)

def startpoints(funcxy, t0, t1, n, field):
    '''
    find n startpoints for magnetic fieldlines that are distributed evenly
    along a path defined by the parametric function funcxy, such that the
    integrated field perpendicular to the path is equal between
    neighbouring startpoints
    '''
    f = lambda t: sc.array(funcxy(t)) # wrap
    eps = 1e-7
    def orth(t):
        dfdt = (f(t+eps) - f(t-eps)) / (2*eps)
        return fabs(sc.cross(dfdt, field.F(f(t))))
    
    Ftot = ig.quad(orth, t0, t1)[0]
    FF = sc.linspace(0, 1, n, endpoint=False) + 0.5/n
    tlist = [op.fsolve(lambda t:ig.quad(orth, t0, t)[0]/Ftot - F,
             t0 + F * (t1 - t0), xtol=1e-6) for F in FF]
    return [funcxy(t) for t in tlist]

pts = startpoints(lambda t: [-x-l+cos(t)*l,sin(t)*l], 0, 2*pi, 20, fieldH)
pts2 = startpoints(lambda t: [x-sin(t)*l,-l+cos(t)*l], 0, 2*pi, 20, fieldH)
pts3 = startpoints(lambda t: [x-sin(t)*l,l-cos(t)*l], 2.37, 4.39, 6, fieldH)
for pt in pts + pts2 + pts3:
    maxr = 6.5
    if pt in pts3: maxr = 3
    line = FieldLine(fieldH, pt, directions='both', maxr=maxr)
    doc.draw_line(line, arrows_style={'dist':1.7, 'offsets':[1., .5, .5, 1.]})

doc.write()


Licence

Já, držitel autorských práv k tomuto dílu, ho tímto zveřejňuji za podmínek následující licence:
w:cs:Creative Commons
uveďte autora zachovejte licenci
Dílo smíte:
  • šířit – kopírovat, distribuovat a sdělovat veřejnosti
  • upravovat – pozměňovat, doplňovat, využívat celé nebo částečně v jiných dílech
Za těchto podmínek:
  • uveďte autora – Máte povinnost uvést autorství, poskytnout odkaz na licenci a uvést, pokud jste provedli změny. Toho můžete docílit jakýmkoli rozumným způsobem, avšak ne způsobem naznačujícím, že by poskytovatel licence schvaloval nebo podporoval vás nebo vaše užití díla.
  • zachovejte licenci – Pokud tento materiál jakkoliv upravíte, přepracujete nebo použijete ve svém díle, musíte své příspěvky šířit pod stejnou nebo slučitelnou licencí jako originál.

Popisky

Přidejte jednořádkové vysvětlení, co tento soubor představuje

Položky vyobrazené v tomto souboru

zobrazuje

Historie souboru

Kliknutím na datum a čas se zobrazí tehdejší verze souboru.

Datum a časNáhledRozměryUživatelKomentář
současná25. 5. 2017, 23:51Náhled verze z 25. 5. 2017, 23:51720 × 600 (52 KB)Geek3User created page with UploadWizard

Tento soubor používá následující stránka:

Globální využití souboru

Tento soubor využívají následující wiki:

Metadata