Original file (SVG file, nominally 800 × 600 pixels, file size: 27 KB)
This is a file from the Wikimedia Commons. Information from its description page there is shown below. Commons is a freely licensed media file repository. You can help. |
DescriptionVFPt capacitor-square-plate.svg |
English: Accurately computed electric field of simple parallel plate capacitor. The capacitor consists of two square plates with plate size a and distance d=a/3. The field is accurately computed for a uniform charge distribution on each plate, but therefore the potential on each plate is not exactly constant. |
Date | |
Source | Own work |
Author | Geek3 |
Other versions |
Slightly different field configurations:
|
SVG development InfoField | This plot was created with VectorFieldPlot. |
Source code InfoField | Python code# paste this code at the end of VectorFieldPlot 2.0
doc = FieldplotDocument('VFPt_capacitor-square-plate', width=800, height=600, commons=True)
l = 4.5
d = 1.5
plates = [{'x0':-l/2., 'y0':d/2., 'x1':l/2., 'y1':d/2., 'Lz':l, 'Q':1.},
{'x0':-l/2., 'y0':-d/2., 'x1':l/2., 'y1':-d/2., 'Lz':l, 'Q':-1.}]
field = Field([['charged_rect', plates[0]], ['charged_rect', plates[1]]])
def startpath(t):
# take an oval with stright lines and half-cirles around one plate
tt = (t%1) * (2 * l + pi * d)
if tt <= l*0.5:
return sc.array([tt, d])
elif tt <= l*0.5 + pi/2.*d:
phi = (tt - l*0.5) / (d/2.)
return sc.array([l*0.5 + d*0.5*sin(phi), d*0.5 + d*0.5*cos(phi)])
elif tt <= l*1.5 + pi/2.*d:
return sc.array([l - (tt - pi/2.*d), 0.])
elif tt <= l*1.5 + pi*d:
phi = (tt - l*1.5) / (d/2.)
return sc.array([-l*0.5 + d*0.5*sin(phi), d*0.5 + d*0.5*cos(phi)])
else:
return sc.array([tt - (l*2. + pi*d), d])
nlines = 22
p0list = Startpath(field, startpath).npoints(nlines)
# plot field lines
for p0 in p0list:
line = FieldLine(field, p0, directions='both')
doc.draw_line(line, arrows_style={'dist':2, 'min_arrows':1})
# plot capacitor plates
D = 0.055
lw = 0.01
nsign = nlines
plus = 'M 0,-0.02 v 0.04 M -0.02,0 h 0.04'
minus = 'M -0.02,0 h 0.04'
for p in plates:
M = 0.5 * (sc.array([p['x0'], p['y0']]) + sc.array([p['x1'], p['y1']]))
R = sc.array([p['x1'], p['y1']]) - M
a = atan2(R[1], R[0])
if p['Q'] > 0:
col = '#e22'
sign = plus
else:
col = '#45e'
sign = minus
transform = 'translate({:.6g},{:.6g})'.format(M[0], M[1])
transform += ' rotate({:.6g})'.format(degrees(a))
doc.draw_object('rect', {'x':-vabs(R)-lw/2., 'width':2*vabs(R)+lw,
'y':-D, 'height':2*D,
'style':'fill:{:s}; stroke:#000; stroke-width:{:.6g}'.format(col, lw),
'transform':transform})
for i in range(nsign):
pos = M + R * (2 * (i + 0.5) / nsign - 1)
doc.draw_object('path', {'d':sign,
'transform':'translate({:.6g},{:.6g})'.format(*pos),
'style':'fill:none; stroke:#000; stroke-width:{:.6g}; '.format(2*lw) +
'stroke-linecap:square'})
doc.write()
|
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 21:50, 7 September 2019 | 800 × 600 (27 KB) | Geek3 | User created page with UploadWizard |
The following other wikis use this file:
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
If the file has been modified from its original state, some details may not fully reflect the modified file.
Short title | VFPt_capacitor-square-plate |
---|---|
Image title | VFPt_capacitor-square-plate
created with VectorFieldPlot 2.0 https://commons.wikimedia.org/wiki/User:Geek3/VectorFieldPlot about: https://commons.wikimedia.org/wiki/File:VFPt_capacitor-square-plate.svg rights: Creative Commons Attribution ShareAlike 4.0 |
Width | 800 |
Height | 600 |