problem3_spring2023
Project 3: Learning goals
Predict the motion of a system of gravitationally interacting objects analytically and computationally.
Evaluate the validity of predictions for the motion of gravitationally interacting objects.
Generate free body diagrams for a system of multiple objects and identify the Newton’s 3rd Law force pairs in order to explain physical phenomena.
Determine the net force acting on a single-particle system using a diagrammatic representation (free-body diagram) and by performing any necessary calculations.
Explain the motion of single-particle systems using interactions (forces) as the basis for the explanation.
Project 3: Learning issues
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.
Project 3 Solution: Part A: Geostationary orbit
Compared to the previous two problems that students have solved, this problem is a bit more straightforward. However, it deals with a critical concept that is well-documented that students struggle to understand: the “centripetal” force. One reason this problem is so short is to give tutors a lot of space to help students build their understanding of this concept, its relationship to the momentum principle (acceleration), the net force, the gravitational force, and the associated tools to develop that understanding (i.e., free-body diagrams).
To that end, give students plenty of time to come up with their own ideas of what they need to do and how to do it. Do not tell them what a geosynchronous/geostationary orbit is; they should research this.
Through this research students might decide to use the circumference of the orbit to find the speed. That's fine, but they should be pushed to show that the same result can be obtained using the forces. The learning issues slide is meant to prompt them to do this, so use that as leverage to encourage them to solve the problem that way.
Additional questioning that you engage groups with should push hard on their understanding of the relationship between the net force, the centripetal force, and the gravitational force.
We want uniform circular motion, so we know that the magnitude of the inward radial force, given by $mv^{2}/r$ (from Uniform Circular Motion notes) has to be equal to the magnitude of the net force due to gravity, $GM_{\oplus}m/r^{2}$ (from Non-Constant Force: Newtonian Gravitation notes): $$\frac{mv^{2}}{r}=G\frac{M_{\oplus}m}{r^{2}}\quad\longrightarrow\quad r=G\frac{M_{\oplus}}{v^{2}}\quad\mbox{and}\quad v=\sqrt{G\frac{M_{\oplus}}{r}}.$$
Tutor Questions
Question: What is a geostationary orbit? What makes it special compared to other circular orbits?
Expected Answer: It's a orbit that takes precisely one day to make an orbit. It stays in the same place in the sky relative to observers on Earth.
Question: What type of motion is this satellite executing in geostationary orbit? How do you know?
Expected Answer: Uniform circular motion. The object needs to move at a constant speed around the Earth to stay in the same location in the sky.
Now, we don't know the velocity of the satellite OR the radius of orbit. So, we need to use the additional formula $\Delta t=r\theta/v$ to fix this problem (this formula can also be found in Uniform Circular Motion notes). Rearranging to $v=r\theta/\Delta t$, we see: $$r=G\frac{M_{\oplus}}{\big(r\theta/\Delta t)^{2}}.$$ Solving this again for $r$ gives $$r=\bigg(G\frac{M_{\oplus}}{(\theta/\Delta t)^{2}}\bigg)^{1/3}\approx 4.22\times 10^{7}\,{\rm m},$$ Where we have used the fact that the change in time $\Delta t$ is $1\,{\rm day}$ and the angle of rotation $\theta$ is $2\pi\,{\rm rad}$.
With this radius, we can go back and solve for the velocity $$v\approx 3073\,{\rm m/s}$$
Tutor Questions
Question: What is holding the satellite in circular motion? How does that work?
Expected Answer: The gravitational force between the earth and the satellite. The satellite is accelerating as it moves in a circular orbit, the gravitational force the Earth exerts on the satellite means the satellite accelerates precisely with $GM/R^2$ all the time. Initial conditions are incredibly important here (as you will see tomorrow), but the gist is that a circular orbit is only one of many orbits that the satellite could execute and it results form a particular value of the velocity (magnitude and direction).
Question: What's the difference between the gravitational force, the net force, and the centripetal force ($mv^2/r$) in this case?
Expected Answer: The gravitational force is the real force exerted by the Earth on the satellite. Because it's the only force on the satellite in this model, it is the net force. If there were other forces exerted by other objects, it wouldn't be the net force. In this case, the centripetal force is a mathematical convenience ; it's the mathematical form that the net force takes when an object is moving with uniform circular motion. It is not a real force and is only applicable (by itself) when an object moves in a circle. Later you will learn it can be used in conjunction with the tangential force to understand general motion, but that's later.
Question: Does the momentum, velocity, or speed change through the path?
Expected Answer: Only the direction of the momentum and velocity, as the force is perpendicular to the motion.
Question: Is there a force exerted on Earth? Why do we ignore it?
Expected Answer: Yes, according to Newton's third law, but the Earth is so massive we ignore it. Its velocity change is negligible.
Question: Explain to me the difference between mass and weight.
Expected Answer: Weight is a force; it depends on the local acceleration the body experiences. Mass, on the other hand, is the amount of matter you have and doesn't change based on the local acceleration (mass is used in the measure of the amount of attraction between a body and another).
Question: Why doesn't the satellite crash into Earth?
Answer: It is constantly falling around it. It is actually in free fall, but with a very special set of initial conditions.
Question: Probe about the difference between Newtonian and local gravitation. Which applies here and why? What is the acceleration that the satellite experiences?
Expected Answer: Since we are far from the surface of Earth, we need to use Newtonian. How far is far? Have them calculate the acceleration at the location of the satellite. We often will accept a variation of about 1% in g before we really worry about it, so how far is far enough to care? About 25km from the surface or so.
Question: What would happen if an astronaut on the satellite released from rest his hand-held laser spanner (the tool is at rest with respect to his hand at release)?
Expected Answer: It will follow along with the satellite. The motion of the laser spanner is such that it orbits the Earth (like the astronaut and satellite), so it's “in the same frame” as the astronaut and satellite, so while relative to them it might not be moving, it is moving the same way as they are around the Earth (i.e., orbiting around the Earth).
Question: Why do you feel weightless in space? Do you have mass in space?
Expected Answer: Yes you have mass in space. Your sense of your weight is based on the force of the floor on you. There is no floor pushing back up on you.
Follow up Question: How does this work in an elevator? When do you feel heavier/lighter? What is your motion?
Expected Answer: An example: When the elevator accelerates upward; the force of the floor is larger on you; you feel heavier. But when the elevator is moving at constant speed you feel the same as standing still.
Tutor Question: If you added in another body, what two forces would constitute the net force acting on the satellite?
Expected Answer: $\vec{F}_{\rm net}=-GM_{1}m\hat{r}_{1}/r_{1}^{2}-GM_{2}m\hat{r}_{2}/r_{2}^{2}$
Main Points
This is a short(er) problem than the last two.
Students should be able to explain the process they went through (from a forces perspective) to find the proper speed.
Students should be able to explain the difference between and relationship among the gravitational force, the net force, and the centripetal force using tools like the free-body diagram.
Students should be able to explain weightlessness and “apparent weight” (we don't use this term) in a variety of scenarios. Focus on their own experiences to do this.
Common Difficulties
Groups are “free” to choose a number of parameters, or at least they think they are. A geostationary orbit is a very specific kind of orbit. Just make sure their research leads them to this specific orbit. Don't tell them what it is.
Some groups will get confused about the distance in the gravitational formula because the quoted distance for an orbit is form the surface of the Earth. Let them discuss what this value should be and why.
Most groups will struggle to distinguish between the gravitational force, the net force, and the centripetal force. This should be used as an opportunity for tutor questions.
The concept of weightlessness is well-documented in the literature as a difficult concept for students, so use this problem as an opportunity to ask students about it and help them develop their understanding of it.
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 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.
starter code:
Conceptual questions:
What changes can you make to your code in order to put the satellite into an elliptical orbit?
How does the program demonstrate that mass is inconsequential to the model?
Can you think of an alternate way of writing the separation vector between the Earth and the satellite?
In both the Tuesday problem and the Thursday problem we pretend that the moon does not exist - what impact would the moon have in this model?
What change or changes could you make to the code to create a more accurate model?
Project 3 Solution: Part B: Geosynchronous orbit
This programming problem requires students to put in the correct initial conditions from Tuesday, but also to model the gravitational force appropriately (i.e., translate the equation to code). This is tough for some groups because vector calculations can be challenging.
There's lots to play with once they get a working code. Ask them to demonstrate how they know it's circular. See what they come up with, but you can push them to think about plotting the separation between the Earth and the satellite. Make sure you have them test different time steps when they do that. You can have them check it works for an elliptical orbit.
Also, asking them to create an arrow for the momentum and net force would be worthwhile from a conceptual standpoint.
Tutor Questions
Question: Can you sketch the satellite in its geostationary orbit about Earth? Include the net force acting on the object and the separation vector.
Expected Answer:…
Question: Where does the separation vector point? From where to where?
Expected Answer: It points from the center of Earth to the satellite.
Question: In what direction does the net force vector acting on the satellite point?
Expected Answer: The force points toward the center of Earth.
Question: How are $\vec{r}$, $\left | \vec{r} \right |$ and $\hat{r}$ related?
Expected Answer: $\vec{r} = \left | \vec{r} \right | \cdot \hat{r}$
We want to input our radius of a geostationary orbit and the necessary velocity, as well as any constants:
#Objects
Satellite = sphere(pos=vector(42164e3,0,0), radius=1e6, color=color.red, make_trail=True)
#Parameters and Initial Conditions
mSatellite = 15e3
pSatellite = mSatellite*vector(0,3073,0)
G = 6.67e-11
mEarth = 5.97e24
Next, we want to incorporate the force due to gravity. Change the given null vector to the required gravitational force:
Tutor Question
Question: How can you enter the magnitude of a vector into the code?
Expected Answer In the notes and in the pre-class homework we used mag(), so we will try using mag(Satellite.pos) here for the magnitude of our separation vector.
#Calculation Loop
Fgrav = -G*mSatellite*mEarth*Satellite.pos/(mag(Satellite.pos)**3)
Fnet = Fgrav
Important
Many students in previous semesters have used the acceleration to update the position, as opposed to the velocity.
There will likely be two versions of the force: $$\vec{F}=G\frac{Mm}{r^{2}}\hat{r}\quad\mbox{or}\quad\vec{F}=G\frac{Mm}{r^{3}}\vec{r},$$ both are A-okay.
The representation of the force is given through a motion map, as follows:
#MotionMap/Graph
FnetMotionMap = MotionMap(Satellite, tf, 20, markerScale=2000, labelMarkerOrder=False)
#Calculation Loop
FnetMotionMap.update(t, Fnet)
The addition of the non-constant Newtonian force is challenging for students. If the group is struggling to correctly model it, do not push them to add a graph. Rather, focus on correctly completing the previous tasks and ask any remaining tutor questions.
Tutor Questions:
Question: Can you use your program to demonstrate your answer from Tuesday about the dependence on mass?
Expected Answer: Yes, changing the mass doesn't change its motion.
Question: What does $dt$ stand for? What happens if you make it bigger? What is going on here? (Remember when increasing/decreasing $dt$ you must accordingly decrease/increase the rate by the same factor.)
Expected Answer: It is the step in time that passes every loop of the calculation loop. Increasing the time step makes for a “rougher” approximation to the real world phenomenon.
* Question: How can you prove that the orbit is actually circular?
Part C includes adding this graph:
#MotionMap/Graph
separationGraph = PhysGraph(numPlots=1)
#Calculation Loop
separationGraph.plot(t,mag(Satellite.pos))
Main Points:
For groups that get through this part (it's tough for many groups), they should check that the orbit is circular and explain that and they should add arrows to represent different physical quantities (i.e., the momentum of the satellite, etc.).
Common Difficulties:
As a reminder, the addition of the non-constant Newtonian force is challenging for students. If the group is struggling to correctly model it, do not push them to add in a graph. Rather, focus on correctly completing the previous tasks and ask any remaining tutor questions.
Working code for part B:
GlowScript 2.9 VPython
get_library('https://cdn.rawgit.com/PERLMSU/physutil/master/js/physutil.js')
#Window setup
scene.range=7e7
scene.width = 1024
scene.height = 760
#Objects
Earth = sphere(pos=vector(0,0,0), radius=6.4e6, color=color.blue)
Satellite = sphere(pos=vector(42164e3, 0,0), radius=1e6, color=color.red, make_trail=True) #modify position of satellite
#Parameters and Initial Conditions
mSatellite = 15e3 # edit mass of the satellite
pSatellite = mSatellite*vector(0,3073,0) #edit momentum of the satellite
G = 6.67e-11 # add universal gravitational constant
mEarth = 5.97e24 # add mass of Earth
#Time and time step
t = 0
tf = 60*60*24
dt = 1
#MotionMap/Graph
SatelliteMotionMap = MotionMap(Satellite, tf, 20, markerScale=2000, labelMarkerOrder=False)
FnetMotionMap = MotionMap(Satellite, tf, 20, markerScale=2000, labelMarkerOrder=False) # add Fnet force arrows - also need to add in loop)
#Calculation Loop
while t < tf:
rate(10000)
Fgrav = -G*mSatellite*mEarth*Satellite.pos/(mag(Satellite.pos)**3) # Add Fgrav change Fnet
Fnet = Fgrav # change Fnet from zero
pSatellite = pSatellite + Fnet*dt
Satellite.pos = Satellite.pos + (pSatellite/mSatellite)*dt
SatelliteMotionMap.update(t, pSatellite/mSatellite)
FnetMotionMap.update(t, Fnet) # Add Fnet vector arrows
t = t + dt
#Earth Rotation (IGNORE)
theta = 7.29e-5*dt
Earth.rotate(angle=theta, axis=vector(0,0,1), origin=Earth.pos)
Changes made to the given code:
Project 3: Part C: Geostationary orbit
While you have continued to impress Carver, he remains unsure about the size of the force acting on the satellite and its distance from Earth. He seems particularly concerned the distance of the satellite from Earth not very more than $\pm$ 1%. Graphs of its distance from Earth and the magnitude of the net force acting on it may convince him.
The syntax you need to work with in order to include a graph involves two lines of code(mass of Earth vs time is given as an example). One outside the while loop and the second inside as the variable being plotted on the vertical axis changes with time:
Outside the while loop, add: graphExample = PhysGraph(numPlots=1)
Inside the while loop, add: graphExample.plot(t, mEarth)
Tutor Questions
Question: The plotted distance is varying with time. Is this a concern? WHy is this?
Expected Answer: It is not a concern. We inputted given values to a couple of significant figures and the variations are just a small fraction of the distance…
Project 3: Part D: Geostationary orbit
On a single graph, plot both the x-component of the satellite's momentum and the x-component of the net force acting on the satellite.
Tutor Questions
Question: Why does it seem as though the net force is zero?
Expected Answer: It looks that way because the size of the force plotted by Python is several orders of magnitude smaller than the size of the plotted momentum. We fixed this by adding a scale and plotting the force in units of $10^4$ N
Question From the plotted graph, what is the relationship between Fnet,x and p,x?
Expected Answer When Fnet,x is at an extreme value, p,x is zero; when Fnet,x is zero, p,x is at an extreme value.
Solution code for parts C and D
GlowScript 2.9 VPython
get_library('https://cdn.rawgit.com/PERLMSU/physutil/master/js/physutil.js')
#Window setup
scene.range=7e7
scene.width = 1024
scene.height = 760
#Objects
Earth = sphere(pos=vector(0,0,0), radius=6.4e6, color=color.blue)
Satellite = sphere(pos=vector(42164e3, 0,0), radius=1e6, color=color.red, make_trail=True) #modify position of satellite
#Parameters and Initial Conditions
mSatellite = 15e3 # edit mass of the satellite
pSatellite = mSatellite*vector(0,3073,0) #edit momentum of the satellite
G = 6.67e-11 # add universal gravitational constant
mEarth = 5.97e24 # add mass of Earth
#Time and time step
t = 0
tf = 60*60*24
dt = 1
#MotionMap/Graph
SatelliteMotionMap = MotionMap(Satellite, tf, 20, markerScale=2000, labelMarkerOrder=False)
FnetMotionMap = MotionMap(Satellite, tf, 20, markerScale=2000, labelMarkerOrder=False) # add Fnet force arrows - also need to add in loop)
graphSeparation = PhysGraph(numPlot=1) # initialize the magnitude of the separation vector vs time plot
graphFnet = PhysGraph(numPlots=1) # initialize the magnitude of the net force vs time plot
graphpF = PhysGraph(numPlots=2) # initialize the x componets of p and Fnet vs time plot
#Calculation Loop
while t < tf:
rate(10000)
Fgrav = -G*mSatellite*mEarth*Satellite.pos/(mag(Satellite.pos)**3) # Add Fgrav change Fnet
Fnet = Fgrav # change Fnet from zero
pSatellite = pSatellite + Fnet*dt
Satellite.pos = Satellite.pos + (pSatellite/mSatellite)*dt
SatelliteMotionMap.update(t, pSatellite/mSatellite)
FnetMotionMap.update(t, Fnet) # Add Fnet vector arrows
#separationGraph.plot(t,mag(mSatellite))
graphSeparation.plot(t,mag(Satellite.pos)) # update magnitude of sep vector vs time plot
graphFnet.plot(t,mag(Fnet)) # update magnitude of Fnet vs time plot
scale=1.0E4 # add scale to make fluctuations in Fx visible (units of 10^-4 N)
graphpF.plot(t,pSatellite.x,scale*Fnet.x) # update x-components of Fnet and p vs time
t = t + dt
#Earth Rotation (IGNORE)
theta = 7.29e-5*dt
Earth.rotate(angle=theta, axis=vector(0,0,1), origin=Earth.pos)
Modification of solution to part B to get |r| vs t, |Fnet| vs t and Fnet,x and P,x vs t: