Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
course_planning:184_projects:s18_project_4 [2018/01/30 17:43] – created dmcpadden | course_planning:184_projects:s18_project_4 [2018/02/01 17:29] (current) – dmcpadden | ||
---|---|---|---|
Line 9: | Line 9: | ||
(There' | (There' | ||
+ | ==== Project 4B: Better Thundercloud Model ==== | ||
+ | {{ 184_notes: | ||
+ | Your colleagues back in Lakeview have called again as the storms continue to get worse. While they greatly appreciated the model you created last week for the Mapping N→Etwork Sensory Array (MNSA), the data they are collecting from the sensors are simply not matching the model' | ||
+ | |||
+ | Given that the negative charge is much closer to the ground (and headquarters), | ||
+ | |||
+ | < | ||
+ | #Set up of the objects | ||
+ | ground = box(pos = vec(0,0,0), width=5000, length=5000, | ||
+ | mountains = [cone(pos=vec(-1800, | ||
+ | cone(pos=vec(-1800, | ||
+ | cone(pos=vec(-1800, | ||
+ | HQ = box(pos = vec(-100, | ||
+ | cloud = box(pos = vector(0, | ||
+ | |||
+ | |||
+ | #Lines 13-48 create a grid of spheres to represent the bottom of the cloud: | ||
+ | |||
+ | #Define how many chunks to split the cloud in the x direction (define x size of the cloud grid) | ||
+ | nx = 10 | ||
+ | #Define how many chunks to split the cloud in the z direction (define z size of the cloud grid) | ||
+ | nz = 10 | ||
+ | |||
+ | #Define where the cloud should start/stop in the x direction | ||
+ | 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 | ||
+ | |||
+ | #Define where the cloud should start/stop in the z direction | ||
+ | startz = -250 | ||
+ | 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 an empty list to store each cloud chunk | ||
+ | listOfCloudChunks = [] | ||
+ | |||
+ | #For each cloud chunk in the x-direction | ||
+ | for i in range(0, | ||
+ | | ||
+ | #Define the x-location of the cloud chunk | ||
+ | xloc = startx + i*stepx | ||
+ | | ||
+ | #For each cloud chunk in the z-direction | ||
+ | for j in range(0, | ||
+ | | ||
+ | #Define the z-location of the cloud chunk | ||
+ | zloc = startz + j*stepz | ||
+ | | ||
+ | #Make a sphere at that x-z location | ||
+ | cloudChunk = sphere(pos = vector(xloc, | ||
+ | |||
+ | #Add the sphere to the list of cloud chunks (so we can use it later) | ||
+ | listOfCloudChunks.append(cloudChunk) | ||
+ | |||
+ | #This part needs to be fixed and commented... | ||
+ | obsLocation = vector(0, | ||
+ | Enet = vector(0, | ||
+ | |||
+ | |||
+ | Q = -15 | ||
+ | dQ = Q/(nx*nz) | ||
+ | k = 9e9 | ||
+ | |||
+ | |||
+ | for chunk in listOfCloudChunks: | ||
+ | | ||
+ | Enet = vector(0, | ||
+ | </ |