File:VFPt magnet B.svg
Une page de Wikimedia Commons, la médiathèque libre.
Aller à la navigation
Aller à la recherche
- Fichier
- Historique du fichier
- Utilisations locales du fichier
- Utilisations du fichier sur d’autres wikis
- Métadonnées
Taille de cet aperçu PNG pour ce fichier SVG : 400 × 300 pixels. Autres résolutions : 320 × 240 pixels | 640 × 480 pixels | 1 024 × 768 pixels | 1 280 × 960 pixels | 2 560 × 1 920 pixels.
Fichier d’origine (Fichier SVG, nominalement de 400 × 300 pixels, taille : 30 kio)
Informations sur le fichier
Données structurées
Légendes
Description[modifier]
DescriptionVFPt magnet B.svg |
English: Magnetic B-field inside and outside of a cylindrical bar magnet. The field is accurately computed with a physical model. Discrete field lines are drawn. |
Date | |
Source | Travail personnel |
Auteur | Geek3 |
Autres versions | with electric current symbols |
SVG information InfoField | Cette représentation graphique a été créée avec VectorFieldPlot |
Code source InfoField | Python code# paste this code at the end of VectorFieldPlot 1.4
import scipy.optimize as op
M = 1.0 # magnetic moment
r = 0.65; l = 1.2
n = 10
fieldB = Field({'coils':[[0, 0, 0, r, l, M/(r**2*pi)]]})
fieldH = Field({'charged_discs':[[-l, -r, -l, r, -0.5*M/l],
[ l, -r, l, r, 0.5*M/l]]})
inside = lambda p: -min(1-fabs(p[0]/l), 1-fabs(p[1]/r))
outside = lambda p: min(1-fabs(p[0]/l), 1-fabs(p[1]/r))
for field in ['B', 'H']:
fname = 'VFPt_magnet_' + field
doc = FieldplotDocument(fname, width=400, height=300, commons=True)
for i in range(n):
r_rel = 2 * (0.5 + i) / n - 1
y0 = r * (r_rel + 0.16 * (r_rel - r_rel**3))
p0 = sc.array([l, y0])
line1 = FieldLine(fieldB, p0*(1+1e-9), directions='forward',
maxr=1e4, maxn=1e4, stop_funcs=2*[outside])
doc.draw_line(line1, arrows_style={})
# B-field inside magnet
line2 = FieldLine(fieldB, p0*(1-1e-9), directions='backward',
stop_funcs=2*[inside])
if field == 'B':
doc.draw_line(line2, arrows_style={})
# H-field inside magnet
line3 = FieldLine(fieldH, p0*(1-1e-9), directions='forward',
stop_funcs=2*[inside])
if field == 'H':
doc.draw_line(line3, arrows_style={
'min_arrows':0, 'dist':0.6, 'max_arrows':2})
p1 = line3.nodes[-1]['p'] # where lines leave the magnet on the side
if fabs(p1[1]) >= r * (1-1e-8):
p1[1] = copysign(max(r, fabs(p1[1])), p1[1])
line4 = FieldLine(fieldH, p1, directions='forward',
stop_funcs=2*[outside])
doc.draw_line(line4, arrows_style={'max_arrows':2})
p2 = line4.nodes[-1]['p'] # where lines re-enter the magnet
line5 = FieldLine(fieldH, p2, directions='forward',
stop_funcs=2*[inside])
if field == 'H':
doc.draw_line(line5, arrows_style={
'min_arrows':0, 'dist':0.6, 'max_arrows':2})
line6 = FieldLine(fieldB, p1*(1-1e-9), directions='backward',
stop_funcs=2*[inside])
if field == 'B':
doc.draw_line(line6, arrows_style={})
if field == 'H':
doc.draw_object('path', {'d':'M {},{} V {} M {},{} V {}'.format(
-l, -r, r, l, -r, r), 'style':'stroke:#999999; stroke-width:0.02'})
doc.draw_magnets(fieldB)
# postprocessing: strip text and add opacity
for el in doc.svg.iter():
if el.tag.endswith('g'):
if el.get('id') != None and 'magnet' in el.get('id'):
el.set('opacity', '0.4')
if el.tag.endswith('text'):
el.getparent().remove(el)
doc.write()
|
Conditions d’utilisation[modifier]
Moi, en tant que détenteur des droits d’auteur sur cette œuvre, je la publie sous la licence suivante :
Ce fichier est sous la licence Creative Commons Attribution – Partage dans les Mêmes Conditions 4.0 International.
- Vous êtes libre :
- de partager – de copier, distribuer et transmettre cette œuvre
- d’adapter – de modifier cette œuvre
- Sous les conditions suivantes :
- paternité – Vous devez donner les informations appropriées concernant l'auteur, fournir un lien vers la licence et indiquer si des modifications ont été faites. Vous pouvez faire cela par tout moyen raisonnable, mais en aucune façon suggérant que l’auteur vous soutient ou approuve l’utilisation que vous en faites.
- partage à l’identique – Si vous modifiez, transformez, ou vous basez sur cette œuvre, vous devez distribuer votre contribution sous la même licence ou une licence compatible avec celle de l’original.
Historique du fichier
Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.
Date et heure | Vignette | Dimensions | Utilisateur | Commentaire | |
---|---|---|---|---|---|
actuel | 1 mai 2017 à 13:25 | 400 × 300 (30 kio) | Geek3 (d | contributions) | User created page with UploadWizard |
Vous ne pouvez pas remplacer ce fichier.
Utilisations locales du fichier
Les 3 pages suivantes utilisent ce fichier :
Utilisations du fichier sur d’autres wikis
Les autres wikis suivants utilisent ce fichier :
- Utilisation sur en.wikipedia.org
- Utilisation sur en.wikiversity.org
- Utilisation sur fr.wikiversity.org
Métadonnées
Ce fichier contient des informations supplémentaires, probablement ajoutées par l'appareil photo numérique ou le numériseur utilisé pour le créer.
Si le fichier a été modifié depuis son état original, certains détails peuvent ne pas refléter entièrement l'image modifiée.
Titre court | VFPt_magnet_B |
---|---|
Titre de l’image | VFPt_magnet_B
created with VectorFieldPlot 1.4 http://commons.wikimedia.org/wiki/User:Geek3/VectorFieldPlot about: http://commons.wikimedia.org/wiki/File:VFPt_magnet_B.svg rights: Creative Commons Attribution ShareAlike 4.0 |
Largeur | 400 |
Hauteur | 300 |