Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
| Download
Views: 1196
Kernel: Python 2 (SageMath)

Project 3: Part A: Geostationary orbit

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.

Write your solution up on a sheet of paper using the problem solving format. Turn in one per group.

Project 3: Part B: Geostationary orbit

Carver is impressed with your work, but remains unconvinced by your predictions. He has asked you to write a simulation that models the orbi 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×10315\times10^3 kg. Your simulation should be generalized enough to model other types of orbits including elliptical ones.

I will collect your code below automatically. On the paper you turn in describe the changes or additions you made to the code, why you made those changes, and list the name of the person in your group who has a working copy of the code.

from __future__ import division from vpython import * from physutil import * #Window setup scene.range=7e7 scene.width = 1024 scene.height = 760 #Objects Earth = sphere(pos=vector(0,0,0), radius=6.4e6) 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)
<IPython.core.display.Javascript object>
<IPython.core.display.Javascript object>
<IPython.core.display.Javascript object>
<IPython.core.display.Javascript object>
<IPython.core.display.Javascript object>
<IPython.core.display.Javascript object>
<IPython.core.display.Javascript object>
<IPython.core.display.Javascript object>