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
summer_2018:gravitation [2018/06/19 03:33]
tallpaul [Part B]
summer_2018:gravitation [2018/06/19 03:52] (current)
tallpaul [Part B]
Line 19: Line 19:
  
 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 spacecraft, which has a mass of $15\times10^3$ kg. Your simulation should be generalized enough to model other types of orbits including elliptical ones. 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 spacecraft, which has a mass of $15\times10^3$ kg. Your simulation should be generalized enough to model other types of orbits including elliptical ones.
 +
 +To begin, copy the code below into a glowscript file.
  
 <​code>​ <​code>​
-from __future__ import division+get_library('​https://​rawgit.com/​perlatmsu/​physutil/​master/​js/​physutil.js'​) 
 +rom __future__ import division
 from visual import * from visual import *
 from visual.graph import * from visual.graph import *
-from physutil import * 
  
 #Window setup #Window setup
Line 32: Line 34:
  
 #Objects #Objects
-Earth = sphere(pos=vector(0,​0,​0),​ radius=6.4e6, ​material=materials.BlueMarble)+Earth = sphere(pos=vector(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=vector(7*Earth.radius,​ 0,0), radius=1e6, color=color.red,​ make_trail=True)
  
Line 49: Line 51:
 #​Calculation Loop #​Calculation Loop
 while t < tf: while t < tf:
- rate(10000) +    ​rate(10000) 
- Fnet = vector(0,​0,​0) +    Fnet = vector(0,​0,​0) 
- pSatellite = pSatellite + Fnet*dt +    pSatellite = pSatellite + Fnet*dt 
- Satellite.pos = Satellite.pos + (pSatellite/​mSatellite)*dt +    Satellite.pos = Satellite.pos + (pSatellite/​mSatellite)*dt 
- SatelliteMotionMap.update(t,​ pSatellite/​mSatellite) +    SatelliteMotionMap.update(t,​ pSatellite/​mSatellite) 
- t = t + dt +    t = t + dt 
-  +     
- #Earth Rotation (IGNORE) +    #Earth Rotation (IGNORE) 
- theta = 7.29e-5*dt +    theta = 7.29e-5*dt 
- Earth.rotate(angle=theta,​ axis=vector(0,​0,​1),​ origin=Earth.pos)+    Earth.rotate(angle=theta,​ axis=vector(0,​0,​1),​ origin=Earth.pos)
 </​code>​ </​code>​
  • summer_2018/gravitation.1529379202.txt.gz
  • Last modified: 2018/06/19 03:33
  • by tallpaul