File:VFPt capacitor-round-plate potential.svg
Original file (SVG file, nominally 800 × 600 pixels, file size: 128 KB)
Captions
Summary
[edit]DescriptionVFPt capacitor-round-plate potential.svg |
English: Electric field of simple parallel plate capacitor. The capacitor consists of two round plates. The field is accurately computed for a uniform charge distribution on each plate, but therefore the potential on each plate is not exactly constant. The potential at each position is plotted as the background color from positive (fuchsia) through neutral (yellow) to negative (aqua). |
Date | |
Source | Own work |
Author | Geek3 |
SVG development InfoField | This plot was created with VectorFieldPlot. |
Source code InfoField | Python code# paste this code at the end of VectorFieldPlot 2.1
doc = FieldplotDocument('VFPt_capacitor-round-plate_potential',
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., 'Q':1.},
{'x0':-l/2., 'y0':-d/2., 'x1':l/2., 'y1':-d/2., 'Q':-1.}]
field = Field([ ['charged_disc', plates[0] ], ['charged_disc', 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
startpoints = Startpath(field, startpath).npoints(nlines)
# plot field lines
for p0 in startpoints:
line = FieldLine(field, p0, directions='both')
doc.draw_line(line, arrows_style={'dist':2, 'min_arrows':1})
# plot round 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'
defs = doc.draw_object('g', {})
grad = doc.draw_object('linearGradient', {'id':'grad',
'x1':str(l/2.), 'x2':str(-l/2.), 'y1':'0', 'y2':'0',
'gradientUnits':'userSpaceOnUse'}, defs)
for o, c, a in ((0, '#000', 0.3), (0.3, '#999', 0.2),
(0.8, '#fff', 0.25), (1, '#fff', 0.65)):
doc.draw_object('stop', {'id':'grad',
'offset':str(o), 'stop-color':c, 'stop-opacity':str(a)}, grad)
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 = '#f00'
sign = plus
else:
col = '#12f'
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, 'transform':transform,
'style':'fill:{:s}; stroke:none'.format(col)})
doc.draw_object('rect', {'x':-vabs(R)-lw/2., 'width':2*vabs(R)+lw,
'y':-D, 'height':2*D, 'transform':transform,
'style':'fill:url(#grad); stroke:#000; stroke-width:{:.6g}'.format(lw)})
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'})
# draw potential
U0 = field.V([0., d/2. + D + lw/2.])
doc.draw_scalar_field(func=field.V, cmap=doc.cmap_AqYlFs, vmin=-U0, vmax=U0)
doc.write()
|
Licensing
[edit]- You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
- Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 14:32, 14 September 2019 | 800 × 600 (128 KB) | Geek3 (talk | contribs) | User created page with UploadWizard |
You cannot overwrite this file.
File usage on Commons
The following page uses this file:
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
Short title | VFPt_capacitor-round-plate_potential |
---|---|
Image title | VFPt_capacitor-round-plate_potential
created with VectorFieldPlot 2.1 https://commons.wikimedia.org/wiki/User:Geek3/VectorFieldPlot about: https://commons.wikimedia.org/wiki/File:VFPt_capacitor-round-plate_potential.svg rights: Creative Commons Attribution ShareAlike 4.0 |
Width | 800 |
Height | 600 |