Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
summer_2019:gravitation [2019/07/31 23:06]
wellerd
summer_2019:gravitation [2019/08/06 02:54]
tallpaul
Line 1: Line 1:
-====== Satellite Orbit Activity ======+**Follow this link for the activity and the instructions:​ [[https://​trinket.io/​library/​trinkets/​4b1a7a7441|link]]**
  
-===== Part A (Non-Computation) =====+You should see something that looks like this:
  
-{{ summer_2018:​river_photo_2.jpg?400 |}}+{{ satellite_trinket_screenshot.png?600 trinket screenshot}}
  
-The Carver Media Group is planning ​the launch of new communications satellite. Elliot Carver (head of Carver Media Group) is concerned about the launchThis is a $200,​000,​000 endeavor. In particular, he is worried about the orbital speed necessary ​to maintain ​the satellite'​s geostationary orbit (and if that depends on the launch mass)You were hired as an engineer on the launch team. Carver has asked that you allay his concerns+If you click on the "​Instructions"​ tab in the upper right, ​set of instructions for the activity should pop upClick between "​Instructions"​ and "​Result" ​to alternately view the instructions ​and the animationIf you prefer, ​the same instructions are also listed below.
  
-<WRAP info>+1. Run the code and see what happens! You should see a satellite shooting off into space, completely unaffected by gravity.
  
-==== Learning Goals ====+2. Read the code, and try to understand how each line is impacting the animation. If you're not sure, try changing the line, and see what happens. Keep track of what you find by writing comments. (Use the # character.)
  
-  * Forces cause changes in momentum +3. Try using your physics knowledge to fix the code so that gravitational force is being applied correctly.
-  * Uniform circular motion +
-  * Newtonian ​gravitational force+
  
-</​WRAP>​+4. **Extra**: Uncomment (take away the # characters) from the chunks of code marked '​Extra'​. Try to fix the graphs so that they correctly display the energy of the satellite. Try to add another curve to the graph that tracks the satellite'​s total energy.
  
-===== Part B (Computation) =====+5. **Extra Extra**: Uncomment from the chunks of code marked 'Extra Extra'​. Try to use it to help you create a net force arrow that updates as the satellite moves. Now you have a living, changing, free-body diagram! Try to add another arrow that models the updating satellite momentum.
  
-Carver is impressed with your work, but remains unconvinced by your predictions. He has asked you to write a simulation that models the orbit of the satellite. To truly convince Carver, the simulation should include representations of the net force acting ​on the spacecraftwhich has a mass of $15\times10^3$ kgYour simulation should be generalized enough to model other types of orbits including elliptical ones. +For more information ​on glowscript toolscheck out: [[https://​www.glowscript.org/​docs/​GlowScriptDocs/​index.html]]
- +
-To begin, copy the code below into a glowscript file.+
  
 <​code>​ <​code>​
 +GlowScript 2.7 VPython
  
-#Window setup +# Window setup 
-scene.range = 7e7 +scene.width = 600  
-scene.width = 1024 +scene.height = 400
-scene.height = 760+
  
-#Objects +# Objects 
-Earth = sphere(pos=vector(0,0,0), radius=6.4e6,​ texture=textures.earth) +Earth = sphere(pos=vec(0, 0, 0), radius=6.4e6,​ texture=textures.earth) 
-Satellite = sphere(pos=vector(7*Earth.radius,​ 0,0), radius=1e6, color=color.red,​ make_trail=True)+Satellite = sphere(pos=vec(7 * Earth.radius,​ 0, 0), radius=1e6, color=color.red,​ make_trail=True)
  
-#Parameters and Initial Conditions +# Parameters and Initial Conditions 
-mSatellite = 1 +G = 6.7e-11 
-pSatellite = vector(0,5000,0)+mEarth = 6e24 
 +mSatellite = 20 
 +pSatellite = vector(0, ​50000, 0)
  
-#Time and time step+# Time and time step
 t = 0 t = 0
-tf = 60*60*24+tFinal ​1 * 60 * 60 * 24     # 1 day
 dt = 1 dt = 1
  
-#MotionMap/​Graph +#############################​ Extra ##############################​ 
-SatelliteMotionMap ​MotionMap(Satellitetf20, markerScale=2000labelMarkerOrder=False)+## energyGraph ​graph(xtitle='​time (s)'ytitle='​energy (J)'​) ​ ## 
 +## kineticGraph = gcurve(color=color.greenlabel='​kinetic'​) ​   ## 
 +## potentialGraph = gcurve(color=color.bluelabel='​potential'​## 
 +##################################################################​
  
-#​Calculation Loop + 
-while t < tf:+#################################​ Extra Extra ###################################​ 
 +## FnetArrow = arrow(pos=Satellite.pos,​ axis=vec(0, 0, 0), color=color.yellow) ## 
 +#################################################################################​ 
 + 
 + 
 +# Calculation Loop 
 +while t < tFinal:
     rate(10000)     rate(10000)
-    ​Fnet = vector(0,0,0) + 
-    pSatellite = pSatellite + Fnet*dt +    ​Fnet = vec(0, 0, 0) 
-    Satellite.pos = Satellite.pos + (pSatellite/​mSatellite)*dt + 
-    ​SatelliteMotionMap.update(t,​ pSatellite/​mSatellite)+    pSatellite = pSatellite + Fnet * dt 
 +    Satellite.pos = Satellite.pos + (pSatellite / mSatellite) * dt 
     t = t + dt     t = t + dt
 +  ​
 +    ############​ Extra ############​
 +    ## kineticGraph.plot(t,​ 0)   ##
 +    ## potentialGraph.plot(t,​ 0) ##
 +    ###############################​
 +  ​
 +  ​
 +    ########### Extra Extra ###########
 +    ## FnetArrow.pos = vec(0, 0, 0)  ##
 +    ## FnetArrow.axis = vec(0, 0, 0) ##
 +    ###################################​
 +
     ​     ​
-    #Earth Rotation (IGNORE+    # Earth Rotation (just for fun!
-    theta = 7.29e-5*dt +    theta = 2 * pi * dt / tFinal 
-    Earth.rotate(angle=theta,​ axis=vector(0,0,1), origin=Earth.pos)+    Earth.rotate(angle=theta,​ axis=vec(0, 1, 0), origin=Earth.pos)
 </​code>​ </​code>​
  • summer_2019/gravitation.txt
  • Last modified: 2019/08/06 02:56
  • by tallpaul