# Satellite orbit

1. Nov 6, 2004

### starbaj12

When a satellite is in a circular orbit around the earth how does a rocket thrust from the satellite effect the orbit. Example when the rocket is fired toward the earth and another example when the rocket is fired orthogonal to the plane of the orbit.

Thank you

2. Nov 7, 2004

### enigma

Staff Emeritus
Puts it into an elliptical orbit in either case the first case. Changes the inclination in the second.

3. Nov 7, 2004

### Jenab

I've no idea why, but I have trouble getting motivated to deal with orbits around planets. I can do it, but I don't like doing it. However, I enjoy solving interplanetary trajectory problems. Is there a psychologist around here somewhere?

To figure the post-pulse orbital elements in your problem, all you need to do is vector add the pre-pulse velocity and the delta-vee. Then, using the resulting velocity with the position vector at pulse, solve for the new orbital elements.

Jerry Abbott

4. Nov 7, 2004

### tony873004

If you fire your rocket towards the Earth, you will be raising your apogee and lowering your perigee at the same time. If you're in low Earth orbit just make sure not to lower your perigee too much :surprised

Firing your rocket away from Earth will have the same affect, but your apogee and perigee will be in the opposite locations as they would be if you fire towards Earth.

Firing your rocket in the direction of your orbital motion (prograde) will only raise your apogee. Your perigee will be the location of where you were when you fired your rocket and your apogee will be 180 degrees away.

Firing your rocket in the direction opposite your orbital motion (retrograde) will lower your perigee. Your apogee will be the location of where you were when you fired your rocket, and your perigee will be 180 degrees away.

5. Nov 19, 2004

### CharlesP

For some folks that is not so easy. I guess I need help but not this week.

6. Nov 20, 2004

### Jenab

It's a pretty standard celestial mechanics chore to start with a state vector (a position and a velocity) and derive from it a set of orbital elements. If you can get a job with NASA or JPL or NORAD in between their EEOC-mandated hiring selections :yuck: , you'll probably be doing orbit determinations for asteroids (or other countries' satellites) fairly often.

When you have an active mode sensor (like radar) to determine the distances, you can get that state vector straightforwardly. When you must rely on passive sensors (like telescopes), you need to use clever techniques such as the method of Gauss for determining the distances.

Once you have the state vector, you can use the method in the post below to get the new orbital elements. But you'll have to adapt it for use with geocentric, near-Earth orbits. The constants I put in that post are for heliocentric, planet-type orbits.

https://www.physicsforums.com/showpost.php?p=267270&postcount=7

Jerry Abbott

7. Dec 13, 2004

### CharlesP

Ruined calculation

I don't have the nice tools you folks have and I got a problem. When my program gets the state vector then it has to figure out where the satellite will go. Someone said this is called "propagating the orbit." But my home made code is no good. After a few orbits around a point source (simplest possible situation) the orbit has changed. I changed the code so that the ellipse is fixed and all the satellite can do is move along changing the angle. This code also was so sloppy that it blew up at certain angles for state vectors. Then there was no way to consider out of plane effects like equatorial bulge. And no satisfactory method was found to accommodate drag. Worst of all the order of integration only worked right when it was backwards. I can only program in quick basic.

8. Dec 13, 2004

### Jenab

You probably need to replace the simple point-source gravitation potential function with a zonal harmonic gravitational potential function. I don't know much about those things yet.

Jerry Abbott

9. Dec 13, 2004

### pervect

Staff Emeritus
It sounds to me like you're doing a numerical integration to solve the problem, and using Euler's method, i.e.

f(x+h) = f(x) + h f'(x)

where f'(x) is the derivative of f(x)

If that is indeed the case, the solution to your dilema is to use a higher order numerical method like Runge-Kutta. Also, you'll find that adaptive stepsize is highly recommended.

There's lots of webhits on RK, one set of reasonably readable code is at

http://www.library.cornell.edu/nr/bookfpdf/f16-1.pdf [Broken]

but it's not in visual basic, and it doesn't include the very-important error control.

This code is from "Numerical Recipies in Fortran". There's also a version for C, but none that I know of for Basic. But it shouldn't be too hard to translate, I would suggest that the Fortran would be the easiest to tranlate.

My advice - if the web URL seems reasoanbly readable so that you can translate the algorithm into basic, get "Numerical Recipies in Fortran" and translate the adaptive stepsize version of the alogirithm into Basic.

Last edited by a moderator: May 1, 2017
10. Dec 13, 2004

### tony873004

Euler-1 actually works quite well. That's what I used in my program Gravity Simulator, and I don't get any of the problems you described (no drag or equatorial buldge though, only point mass). I think you may have a large time step causing problems.

Thanks, pervect for the RK-4 link. One of these days I'm going to add an optional RK-4 engine.

11. Jan 5, 2005

### remcook

I wouldn't change your point source to zonal harmonics. first, keep it simple. it should be an ellipse, it's checkable

what do you mean with "no satisfactory method was found to accommodate drag" ?

12. Jan 5, 2005

### BobG

Celestrak ( http://celestrak.com/ )has a copy of Project Spacetrack Report No.3 under "Documentation". (The report can be accessed directly: http://celestrak.com/NORAD/documentation/spacetrk.pdf ).

The report includes both the equations used to propagate various orbits, plus the Fortran code. Between the two, you should get what you need for your own Basic program.

One thing you'll notice is that it's hard to write one program that works for every satellite. The code used looks at the satellite radius and decides which subroutines are necessary. Only low orbiting satellites use atmospheric drag and only high orbiting satellites use solar/lunar perturbations, etc.

Celestrak has some other interesting information as well, plus element sets for various satellites.

Last edited by a moderator: Apr 21, 2017
13. Jan 15, 2005

### CharlesP

Finally up to date

It took a while to get up to date on what I did before and all the links.
I bypassed a lot of complexity by choosing a single gravity point source and working in only one plane (the orbital plane). Then I got rid of most calculation errors in propagating the orbit by confining the motion to a chosen ellipse and only determining the position on the ellipse. It runs like a clock. I get nontrivial equations when I do an orbit change.
Then I have to find h, e, nu, and argument of perigee from the known position and velocity. I am trying to compare the equations above with my old equations. I have to go learn how to write the equations with Latex.

14. Mar 13, 2005

### rohit

real solution

:tongue2:
Jenab

the question you had asked asked was very simple
i think you would be knowing the formula given below-
F=ma
a=v^2/r for body in circular motion
so new formula= F=mv^2/r .......(i)
similarly we know gravitatinal force =
F=GmM/r^2 ........(ii)
equating equation (i) and (ii)
we get
v=squar. root(GM/r) ........(iiii)

now as you have said that you fire the rocket .it will naturally increase the speed of the satellite and as G and M of body in eouation (iii) always remain constant the r will increse or decrese as you have launched the rocket towards the earth or away from the earth.

hello you can ask me other question at my mail account "infinity.rohit@gmail.com"
pls send your id also

Share this great discussion with others via Reddit, Google+, Twitter, or Facebook