Dosiero:VFPt sphere-magnet potential.svg
El testwiki
Salti al navigilo
Salti al serĉilo
Grando de tiu PNG antaŭprezento de tiu SVGa dosiero: 600 × 600 rastrumeroj. Aliaj distingivoj: 240 × 240 rastrumeroj | 480 × 480 rastrumeroj | 768 × 768 rastrumeroj | 1 024 × 1 024 rastrumeroj | 2 048 × 2 048 rastrumeroj.
Fonta dosiero (SVG-dosiero, 600 × 600 rastrumeroj, grandeco de dosiero: 90 KB)
Ĉi tiu dosiero estas de Vikimedia Komunejo kaj estas uzebla de aliaj projektoj. Jen la priskribo en ties dosier-priskriba paĝo.
Resumo
| PriskriboVFPt sphere-magnet potential.svg |
English: Drawing of a homogeneously magnetized spherical magnet with exactly computed magnetic field lines. A spherical magnet has the remarkable property that its field outside the magnet is identical to that of an ideal point-like dipole. Inside the magnetized volume, the field is exactly constant and aligned along the north-south axis. The magnetic scalar potential 𝜓 is shown in the background from positive (fuchsia) through zero (yellow) to negative (aqua). Note that the field lines follow the gradient of the scalar potential. |
| Dato | |
| Fonto | Propra verko |
| Aŭtoro | Geek3 |
| Ceteraj versioj |
|
| SVG genesis InfoField | |
| Fontkodo InfoField | Python code# paste this code at the end of VectorFieldPlot 2.2
doc = FieldplotDocument('VFPt_sphere-magnet_potential', commons=True,
width=600, height=600)
R = 1.0
c = np.array([0., 0.])
M = np.array([0., 1.])
field_outside = Field([ ['dipole', {'x':c[0], 'y':c[1], 'px':M[0]*4./3.*pi*R**3, 'py':M[1]*4./3.*pi*R**3}] ])
Bfield_inside = Field([ ['homogeneous', {'Fx':2./3.*M[0], 'Fy':2./3.*M[1]}] ])
Hfield_inside = Field([ ['homogeneous', {'Fx':-1/3.*M[0], 'Fy':-1/3.*M[1]}] ])
def spheremagnet_Bfield(xy):
if vabs(xy - c) < R:
return Bfield_inside.F(xy)
else:
return field_outside.F(xy)
def spheremagnet_potential(xy):
if vabs(xy - c) < R:
return Hfield_inside.V(xy)
else:
return field_outside.V(xy)
field = Field([ ['custom', {'F':spheremagnet_Bfield, 'V':spheremagnet_potential}] ])
U0 = field.V(c + R * vnorm(M))
doc.draw_scalar_field(func=field.V, cmap=doc.cmap_AqYlFs, vmin=-U0, vmax=U0)
nlines = 20
for iline in range(nlines):
p0 = (R * (2 * (iline + 0.5) / nlines - 1), 0.)
line = FieldLine(field, p0, directions='both', maxr=7)
if fabs(iline - (nlines - 1) / 2.) < 1.:
of = 0.2
elif fabs(iline - (nlines - 1) / 2.) < 2.:
of = 0.23
elif fabs(iline - (nlines - 1) / 2.) < 3.:
of = 0.3
elif fabs(iline - (nlines - 1) / 2.) < 4.:
of = 0.53
elif fabs(iline - (nlines - 1) / 2.) < 5.:
of = 0.4
elif fabs(iline - (nlines - 1) / 2.) < 6.:
of = 0.38
else:
of = 0.3
off = {'start':0.9, 'leave_image':of, 'enter_image':of, 'end':0.9}
doc.draw_line(line, arrows_style={'dist':2.0,
'max_arrows':2, 'offsets':off})
# draw the spherical magnet
g = doc.draw_object('g', {'id':'sphere',
'transform':'translate({},{})'.format(*c)})
defs = doc.draw_object('defs', {}, group=g)
grad = doc.draw_object('radialGradient', {'id':'grad', 'r':str(1.2*R),
'cx':'0', 'cy':str(0.2*R), 'fx':'0', 'fy':str(0.6*R),
'gradientUnits':'userSpaceOnUse'}, group=defs)
for col, of, opa in [['#ffffff', '0', '0.8'], ['#ffffff', '0.04', '0.7'],
['#ffffff', '0.11', '0.4'], ['#ffffff', '0.22', '0.2'],
['#555555', '0.7', '0.3'], ['#000000', '1', '0.6']]:
stop = doc.draw_object('stop', {'stop-color':col, 'offset':of,
'stop-opacity':opa}, group=grad)
clip = doc.draw_object('clipPath', {'id':'circle_clip'}, group=defs)
doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':str(R)}, group=clip)
gc = doc.draw_object('g', {'clip-path':'url(#circle_clip)'}, group=g)
doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':str(R),
'style':'fill:#00cc00; stroke:none;'}, group=gc)
doc.draw_object('path', {'d':'M -1,0 A 1,1 0 0 0 1,0 L -1,0 Z',
'style':'fill:#ff0000; stroke:none;'}, group=gc)
text_N = doc.draw_object('text', {'text-anchor':'middle', 'x':'0', 'y':'0',
'transform':'translate({},{}) scale({},{})'.format(0, 0.56*R-0.2, 0.05, -0.05),
'style':'fill:#000000; stroke:none; ' +
'font-size:12px; font-family:Bitstream Vera Sans;'}, group=g)
text_N.text = 'N'
text_S = doc.draw_object('text', {'text-anchor':'middle', 'x':'0', 'y':'0',
'transform':'translate({},{}) scale({},{})'.format(0, -0.56*R-0.2, 0.05, -0.05),
'style':'fill:#000000; stroke:none; ' +
'font-size:12px; font-family:Bitstream Vera Sans;'}, group=g)
text_S.text = 'S'
doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':str(R),
'style':'fill:url(#grad); stroke:none;',
'transform':'rotate(30) scale(1.4,1)'}, group=gc)
doc.draw_object('circle', {'cx':'0', 'cy':'0', 'r':str(R),
'style':'fill:none; stroke:#000000; stroke-width:0.04;'}, group=g)
doc.write()
|
Permesiloj:
Mi, la posedanto de la aŭtorrajto por ĉi tiu verko, ĉi-maniere publikigas tiun laŭ la jena permesilo:
Ĉi tiu dosiero disponeblas laŭ la permesilo Krea Komunaĵo Atribuite-Samkondiĉe 4.0 Tutmonda.
- Vi rajtas:
- kunhavigi – kopii, distribui kaj publikigi la verkon
- aliigi – modifi, adapti, kompletigi, transformi, uzi la tutan verkon aŭ ties partojn, memstare aŭ en aliaj verkoj
- La verko rajtas esti kunhavigata nur:
- atribuite – Vi devas atribui aŭtorecon, liveri ligilon al la permesilo kaj marki ĉu ŝanĝoj estis faritaj. Faru tion en aprobinda maniero, tamen ne sugestante, ke permesinto aprobas vin aŭ vian uzon.
- samkondiĉe – Se vi rekombinas la verkon, transformas ĝin aŭ kreas devenaĵon bazitan sur ĝi, vi rajtas distribui la rezultan verkon nur laŭ la sama aŭ kongrua permesilo kompare kun ĉi tiu.
Titoloj
Donu unulinian priskribon de la enhavo de ĉi tiu dosiero
Eroj prezentitaj en ĉi tiu dosiero
montras
Iu valoro sen Vikidatumoj ero
22 sep. 2019
image/svg+xml
Dosiera historio
Klaku daton/tempon por vidi la dosieron kia ĝi aspektis tiam.
| Dato/tempo | Bildeto | Dimensioj | Uzanto | Komento | |
|---|---|---|---|---|---|
| nuna | 11:55, 22 sep. 2019 | 600 × 600 (90 KB) | wikimediacommons>Geek3 | User created page with UploadWizard |
Dosiera uzado
La jena paĝo ligas al ĉi tiu dosiero: