Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
course_planning:184_projects:f18_project_4 [2018/09/25 16:38] – tallpaul | course_planning:184_projects:f18_project_4 [2019/01/29 17:37] (current) – tallpaul | ||
---|---|---|---|
Line 2: | Line 2: | ||
===== Project 4 ===== | ===== Project 4 ===== | ||
+ | ==== Project 4A: Better Thundercloud Model ==== | ||
+ | {{ 184_projects: | ||
+ | The storms over Lakeview have gotten worse, with an almost permanent pitch black cloud system hovering overhead. A new model for the thundercloud needs to be produced to obtain a better understansding of how it is functioning. While they greatly appreciated the model you created last week for the Mapping N$\vec{E}$twork Sensory Array (MNSA), the data they are collecting from the sensors are simply not matching the model' | ||
- | ==== Project 4A: Mini-Particle Accelerator | + | Given that the negative charge is much closer to the ground (and headquarters), the Lakeviewians want to prioritize what the Mapping N$\vec{E}$twork Sensory Array (MNSA) around HQ will show based on the bottom |
- | + | ||
- | S.P.A.R.T.A.N force, still trapped in the town of Lakeview, has been sent as part of a larger governmental team to work on developing a micro-particle accelerator | + | |
- | + | ||
- | === Part 1: === | + | |
- | The first bit of code that you have received is from the previous | + | |
< | < | ||
- | GlowScript | + | #Set up of the objects |
- | #Set up constants | + | ground = box(pos = vec(0,0,0), width=5000, length=5000, |
- | R = 0.02 | + | mountains = [cone(pos=vec(-1800, |
- | r_obs = 0.05 | + | cone(pos=vec(-1800, |
+ | | ||
+ | HQ = box(pos = vec(-100, | ||
+ | cloud = box(pos = vector(0,1000,0), size = vector(500, 1, 500), color = color.white) | ||
- | Q = 1e-9 | ||
- | N = 20 | ||
- | dq = Q/N | ||
- | scale=1e-4 | + | #Lines 13-48 create a grid of spheres to represent the bottom of the cloud (this part of the code doesn' |
- | oofpez = 9e9 #1/(4pi epsilon_0) in N m^2/C^2 | + | |
- | #Defining a ring at the origin | + | #Define how many chunks to split the cloud in the x direction |
- | myring = ring(pos = vector(0, | + | nx = 10 |
+ | #Define how many chunks to split the cloud in the z direction | ||
+ | nz = 10 | ||
- | #Create an empty list for the charges | + | #Define where the cloud should start/stop in the x direction |
- | ChargeList=[] | + | startx = -250 |
+ | endx = 250 | ||
+ | #Define the spacing between each chunk in the x, based on where the cloud start/stops and how many chunks there are | ||
+ | stepx = (endx - startx)/nx | ||
- | #Set up the step size and angle for creating | + | #Define where the cloud should start/stop in the z direction |
- | dtheta | + | startz |
- | theta = dtheta/2 | + | endz = 250 |
+ | #Define the spacing between each chunk in the z, based on where the cloud start/stops and how many chunks there are | ||
+ | stepz = (endz - startz)/nz | ||
- | #Create charges in a circle and add them to the ChargeList | + | #Create an empty list to store each cloud chunk |
- | while theta < 2*pi: | + | listOfCloudChunks |
- | rpiece = R*vector(cos(theta), | + | |
- | + | ||
- | particle = sphere(pos = rpiece, radius = R/20, color = color.yellow) | + | |
- | ChargeList.append(particle) | + | |
- | + | ||
- | theta = theta + dtheta | + | |
- | + | ||
- | #Create an empty list for the observation points | + | |
- | ObsList | + | |
- | + | ||
- | #Set up the step size and angle for creating the observation points | + | |
- | phi = 0 | + | |
- | dphi = pi/4 | + | |
- | #Create charges | + | #For each cloud chunk in the x-direction |
- | while phi < 2*pi: | + | for i in range(0,nx): |
- | r_obs_piece = r_obs*vector(cos(phi),sin(phi),1) #location of piece | + | |
| | ||
- | | + | |
+ | xloc = startx + i*stepx | ||
| | ||
- | | + | |
+ | for j in range(0,nz): | ||
| | ||
- | phi = phi + dphi | + | #Define the z-location of the cloud chunk |
+ | zloc = startz | ||
+ | |||
+ | #Make a sphere at that x-z location | ||
+ | cloudChunk = sphere(pos = vector(xloc, | ||
- | #Find the electric field at each observation point | + | |
- | for obs_point in ObsList: | + | |
- | | + | |
- | for charge in ChargeList: | + | |
- | Enet=vec(0,0,0) | + | |
- | </ | + | |
- | === Part 2 === | + | #This part needs to be fixed and commented... |
+ | obsLocation | ||
+ | Enet = vector(0, | ||
- | After you got this initial code working, your team was able to construct a model of a tube consisting of multiple rings, all with the same charge. But, the field doesn' | ||
- | < | + | Q = -15 |
- | num_points | + | dQ = Q/(nx*nz) |
- | num_rings | + | k = 9e9 |
- | 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, | ||
- | #draw points | + | for chunk in listOfCloudChunks: |
- | points = [] | + | |
- | for i in range(num_points): | + | |
| | ||
- | xr = 0.01*sin(i*2*pi/ | ||
- | yr = 0.01*cos(i*2*pi/ | ||
- | | ||
- | points.append(sphere(pos=vector(xr, | ||
- | |||
- | #make and draw rings | ||
- | rings = [] | ||
- | ring_charge = [Q, | ||
- | |||
- | for i in range(num_rings): | ||
- | | ||
- | loc = i - (num_rings)// | ||
- | rings.append(ring(pos=vector(0, | ||
- | |||
- | # Find net field | ||
- | for apoint in points: | ||
- | |||
Enet = vector(0, | Enet = vector(0, | ||
- | for i in range(len(rings)): | ||
- | aring = rings[i] # look at one ring | ||
- | |||
- | dq = ring_charge[i]/ | ||
- | dtheta = 2*pi/N #theta increment for our loop | ||
- | theta=dtheta/ | ||
- | Ering = vector(0, | ||
- | |||
- | rpoint = apoint.pos | ||
- | |||
- | scale=1.2*mag(rpoint)/ | ||
- | |||
- | while theta< | ||
- | rpiece = R*vector(cos(theta), | ||
- | 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, | ||
- | theta=theta+dtheta | ||
- | |||
- | Evector=arrow(pos=rpoint, | ||
</ | </ | ||
- | /* | ||
- | ==== Project 4B: Maverick and JPL ==== | ||
- | {{184_solutions: | + | < |
- | + | ||
- | 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 " | + | |
- | {{ 184_projects: | + | |
- | + | ||
- | Maverick is convinced that the time between when the problem happens and when the warning light comes on is way too long, and this delay in relaying the warning to him could lead to a very problematic incident in the future. He does not want to lose another co-pilot like Goose. You have been given the task of explaining to Maverick why this could not be the case, and your boss, Clint Howard, has given you the following circuit diagram to try and aid you in your explanation to Maverick. | + | |
- | + | ||
- | Maverick likes numbers, so part of your explanation should also include a calculation of the amount of time it takes the light to come on when the length of the wire in the circuit between the stabilizer control module switch and the warning light in the cockpit is 5.2$m$ distance. He should also understand what the electric field looks like in this circuit, and why it means that his original presumptions about the warning light " | + | |
- | + | ||
- | < | + | |
=== Learning Goals === | === Learning Goals === | ||
- | * Explain what happens to the surface charges and electric field in a circuit when wires are initially connected. | + | * Visualize |
- | * Explain why current starts | + | * Use multiple loops to create many observation points from many charges |
- | * Explain why a lightbulb would not turn on if it were only connected to the positive end of the battery. | + | * Identify patterns in the electric fields between 1D, 2D, and 3D charge distributions |
- | * Explain the role of the battery in lighting up the lightbulb. | + | * Compare/ |
</ | </ | ||
- | */ | + |