Project 3: Geostationary orbit

Part A

The Carver Media Group is planning the launch of a new communications satellite. Elliot Carver (head of Carver Media Group) is concerned about the launch. This 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.

Project 3: Learning Goals

  • Forces cause changes in momentum
  • Uniform circular motion
  • Newtonian gravitational force

Part B

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.

get_library('https://rawgit.com/perlatmsu/physutil/master/js/physutil.js')
rom __future__ import division
from visual import *
from visual.graph import *

#Window setup
scene.range = 7e7
scene.width = 1024
scene.height = 760

#Objects
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)

#Parameters and Initial Conditions
mSatellite = 1
pSatellite = vector(0,5000,0)

#Time and time step
t = 0
tf = 60*60*24
dt = 1

#MotionMap/Graph
SatelliteMotionMap = MotionMap(Satellite, tf, 20, markerScale=2000, labelMarkerOrder=False)

#Calculation Loop
while t < tf:
    rate(10000)
    Fnet = vector(0,0,0)
    pSatellite = pSatellite + Fnet*dt
    Satellite.pos = Satellite.pos + (pSatellite/mSatellite)*dt
    SatelliteMotionMap.update(t, pSatellite/mSatellite)
    t = t + dt
    
    #Earth Rotation (IGNORE)
    theta = 7.29e-5*dt
    Earth.rotate(angle=theta, axis=vector(0,0,1), origin=Earth.pos)
  • summer_2018/gravitation.txt
  • Last modified: 2018/06/19 03:52
  • by tallpaul