184_projects:s21_project_4

This is an old revision of the document!


Outside of the town of Lakeview work is being completed on the Artemis 13 spacecraft. Another engineering and science task force titled T.R.O.J.A.N force are working with The Jet Propulsion Laboratory (JPL) Division of NASA testing a new and highly experimental spacecraft capable of in atmosphere flight as well as outer orbit maneuvering (Artemis 13). Lieutenant Pete “Maverick” Mitchell has been testing the new spacecraft now for a few weeks, including a detailed look at all the wiring in the spacecraft. His crew has been creating a model of the wire using multiple rings of charge, but they are having a difficult time justifying where the constant electric field in the wire comes from. Initially, the crew created a model of the wire consisting of multiple rings, all with the same charge. But, the field doesn't look quite right - it's not constant as expected. It's up to you to adjust the code so that it models a constant electric field.

num_points = 10
num_rings = 11
N = 11
spacing = 0.02

# Set some constants and stuff
R=0.02 #radius of ring in m
ax = vector(0,0,1) # simplify things
Q=1e-9 #charge of ring in C
oofpez=9e9 #1/(4pi epsilon_0) in N m^2/C^2

#draw axis
zaxis=cylinder(pos=-2*R*ax, radius=0.015*R, axis=4*R*ax, color=color.black)

#draw points
points = []
for i in range(num_points):
    
    xr = 0.01*sin(i*2*pi/num_points)
    yr = 0.01*cos(i*2*pi/num_points)
    
    points.append(sphere(pos=vector(xr,yr,0.01), color=color.red, radius=5*zaxis.radius))

#make and draw rings
rings = []
ring_charge = [Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q]

for i in range(num_rings):
    
    loc = i - (num_rings)//2
    rings.append(ring(pos=vector(0,0,spacing*loc), radius=R, axis=ax, color=color.blue, thickness=0.02*R))

# Find net field
for apoint in points:

    Enet = vector(0,0,0)
    for i in range(len(rings)):
        aring = rings[i] # look at one ring

        dq = ring_charge[i]/N #charge of a piece
        dtheta = 2*pi/N #theta increment for our loop
        theta=dtheta/2 #initial theta for first piece of loop
        Ering = vector(0,0,0) #net electric field for single ring

        rpoint = apoint.pos

        scale=1.2*mag(rpoint)/8000 #used to scale the arrows representing E-field

        while theta<2*pi:
            rpiece = R*vector(cos(theta),sin(theta),aring.pos.z/R) #location of piece
            r = rpoint-rpiece #vector from piece to point in space
            rmag = mag(r) #magnitude of r
            rhat = norm(r) #unit vector for r
            dE = oofpez * dq / rmag / rmag * rhat # Electric field of peice of ring
            Enet = Enet + dE
            particle=sphere(pos=rpiece, radius=apoint.radius, color=color.yellow) #draw a particlee
            theta=theta+dtheta

    Evector=arrow(pos=rpoint, axis=scale*Enet, color=color.orange, shaftwidth=apoint.radius/2)

Learning Goals

  • Explain what a “constant electric field” means
  • Explain what a “surface charge gradient” is in context of a wire
  • Explain how a surface charge gradient creates a constant electric field
  • 184_projects/s21_project_4.1613407582.txt.gz
  • Last modified: 2021/02/15 16:46
  • by waterso8