You have become trapped in the town of Lakeview. The town and surrounding landscape are under a constant barrage of storms. Not only are people being struck by lightning within the town but any vehicle or person trying to leave the city limits of Lakeview are instantly struck by lightning. The number of deaths due to lightning strikes in Lakeview in one week is larger than the amount the whole world has seen in the last 5 years. Jo Harding, a crazy local scientist who has had a few run-ins with storms before has an idea of putting up giant metal T's, with the base of the T inserted into the ground to try and stop the townspeople from being struck with lightning. Jo wants the base of the T to be made of wood and the horizontal top of the T to be a metal. Mayor Rachel Wando is up for reelection and is willing to listen to any ideas to stop the rising death toll but ever since the lightning storms started she has been in non-stop meetings in which electric fields are being constantly talked about and is becoming very concerned about what the electric fields would be like for these T-shaped objects. Rachel reaches out to her friends at the storm chaser HQ for a model of what the electric field will be for one of these T's after it has been struck by lightning.

The code below is the beginnings of your team's work on modeling the electric field from the giant T. Complete the program above to first represent the total electric field just to the right and left of the line of charges. Then, calculate the total electric field at a range of points surrounding the line of charges.

## Creating the scene for the code to run in
scene.range = 2

## Constants
TotalCharge = 15 #C
pointcharge = TotalCharge/7  
k = 9e9  
vscale = 1e-4

## Objects
charge1 = sphere(pos=vec(-3,0,0), Q=pointcharge,  color=color.red,  size=5e-1*vec(1,1,1))
charge2 = sphere(pos=vec(-2,0,0), Q=pointcharge,  color=color.red,  size=5e-1*vec(1,1,1))
charge3 = sphere(pos=vec(-1,0,0), Q=pointcharge,  color=color.red,  size=5e-1*vec(1,1,1))
charge4 = sphere(pos=vec(0,0,0), Q=pointcharge,  color=color.red,  size=5e-1*vec(1,1,1))
charge5 = sphere(pos=vec(1,0,0), Q=pointcharge,  color=color.red,  size=5e-1*vec(1,1,1))
charge6 = sphere(pos=vec(2,0,0), Q=pointcharge,  color=color.red,  size=5e-1*vec(1,1,1))
charge7 = sphere(pos=vec(3,0,0), Q=pointcharge,  color=color.red,  size=5e-1*vec(1,1,1))
charges = [charge1, charge2, charge3, charge4, charge5, charge6, charge7]

## Calculation Loop 1
E = vec(0,0,0)
point = vec(0,0,0)
for c in charges:
    r = point - c.pos
field = arrow(pos=point, axis=vscale*E, color = color.cyan)

## Calculation Loop 2
x = -5
dx = 0.5
xmax = 5
while x<=xmax:
    theta = 0
    dtheta = 0.1
    R = 0
    while theta < 2*pi:
        E = vec(0,0,0)
        point = vec(x, R*sin(theta), R*cos(theta))
        field = arrow(pos=point, axis = E*vscale, color = color.green)
        theta += dtheta

Learning Goals

  • Understand what a list (or an array) does in the code and why you would want to use one
  • Understand how a “for” loop works and how it is similar/different from a “while” loop
  • Make a model of a line of charge using point charges and be able to describe how you would improve your model
  • Use superposition to calculate and visualize the electric field around a line of charge

Conceptual Questions

  1. How do you know if your code is working correctly?
  2. What is superposition and how did you make use of it in the code?
  3. If you had to calculate the electric field by hand (at a single observation point), what steps would you have to use?
  4. What is the difference between an insulator and conductor?
  5. We assumed in this problem that the charge was divided equally among the spheres in our model. Is that a good assumption for conductors? Is that a good assumption for insulators? Why or why not?
  6. If you change the radius for your observation points, what happens to your E-Field arrows? Is that expected? Why or why not?
  7. What are the limitations of this model? How could you improve your model?
  • 184_projects/charge_the_line.txt
  • Last modified: 2023/09/07 13:36
  • by tdeyoung