Solving Kepler's equation using iterative technique

  • Thread starter dgalvan123
  • Start date
  • Tags
    Iterative
In summary, the problem is that in order to solve for the eccentric anomaly, you need to solve Kepler's equation.
  • #1
dgalvan123
2
0
I am working on using a Runge Kutta 4th order code (in the C programming language) to predict a Keplerian orbit in 2 dimensions. My code seems to be working ok, producing a reasonable elliptical orbit given initial conditions x0, y0, Vx0 and Vy0 (initial position and velocity), however I'd like to compare the code output to an "exact" solution to Kepler's equation, giving radius and true anomaly (r, theta) as a function of time.

The problem here is that, in order to get r and theta as a function of time, I need to solve for the eccentric anomaly (psi) at a given time. Kepler's equation is:

psi = w*t + e*Sin(psi).

Hence, I'm trying to invert and solve for psi given w (average angular velocity = 2pi/period), t (time) and e (eccentricity). Once I get psi as a function of t, I can use that to get position in 2 D.

My question is: how can I solve the Kepler equation? I know that some iterative technique will probably be needed. . . perhaps one where I let:

psi(0) = 0
and
psi(n+1) = w*t + e*Sin(psi(n))

(keeping time constant and just continuously advancing "n")

. . . but how will I know when to stop? How will I know when I've iterated enough such that psi(N) is a good approximation to the exact solution?

Thanks for your time!
 
Physics news on Phys.org
  • #2
Hi and welcome to PF!

An iterative approach should not be necessary.
I assume that the centre of force is at the focus of the ellipse on
the positive x-axis at a distance ae from the origin, where a is the
semi-major axis and e the eccentricity of the ellipse. Your numerical
solution then yields a position vector x(t) and a corresponding
velocity vector v(t) as functions of the time t. At a particular
time t, you know x(t) and therefore the vector r(t):
[tex]
r(t) = x(t) - ae i,
[/tex]
where i is the unit vector along the x-axis. So you know the
distance of the point x from the centre of force and you know the
angle theta that r makes with the x-axis. From the equation for
the (elliptical) orbit and the angle theta, compute the
exact magnitude of the vector r and compare with the value from
your code:

[tex]
r_{ex} = \frac{a(1-e^2)}{1 + e \cos{\theta}}
[/tex]

The values of the semi-major axis and eccentricity are obtained
from the total energy (E=K/r + L2/(2mr2))
and the angular momentum L, which are in turn specified by your
initial conditions.
 
  • #3
Thanks very much for your help!
 
  • #4
dgalvan123 said:
I am working on using a Runge Kutta 4th order code (in the C programming language) to predict a Keplerian orbit in 2 dimensions. My code seems to be working ok, producing a reasonable elliptical orbit given initial conditions x0, y0, Vx0 and Vy0 (initial position and velocity), however I'd like to compare the code output to an "exact" solution to Kepler's equation, giving radius and true anomaly (r, theta) as a function of time.

The problem here is that, in order to get r and theta as a function of time, I need to solve for the eccentric anomaly (psi) at a given time. Kepler's equation is:

psi = w*t + e*Sin(psi).

What you are calling "w" here is typically called the mean motion, Mdot or [itex]\dot M[/itex]. "w" or [itex]\omega[/itex] is typically reserved for angular velocity, that is, the time derivative of the true anomaly. The mean motion is a constant in the two body problem. Angular velocity is not constant. To get the true anomaly as a function of time, you do indeed need to solve Kepler's equation for the eccentric anomaly.

Newton's method is particularly quick even for highly eccentric orbits. Use the mean anomaly as an initial guess and iterate via Newton's method. Stop when the error reaches some sufficiently small value, such as 1e-12 radians.
 

1. How does the iterative technique solve Kepler's equation?

The iterative technique solves Kepler's equation by repeatedly applying a mathematical algorithm to approximate the root of the equation. This process is repeated until the desired level of accuracy is achieved.

2. What is Kepler's equation and why is it important to solve it?

Kepler's equation is a mathematical representation of the relationship between an object's orbital period and its distance from the center of its orbit. Solving this equation is important in understanding and predicting the motion of celestial bodies in our solar system.

3. What are the advantages of using the iterative technique to solve Kepler's equation?

The iterative technique allows for a more precise and efficient solution to Kepler's equation compared to other methods. It also allows for adjustments to be made to the initial guess, making it more adaptable to different scenarios.

4. Are there any limitations to using the iterative technique for solving Kepler's equation?

The iterative technique may not converge to a solution if the initial guess is too far from the actual value, making it less accurate in certain cases. It also requires more computational resources compared to other methods.

5. How is the iterative technique applied in real-world situations?

The iterative technique is commonly used in astrodynamics and spacecraft navigation to accurately predict the position and trajectory of objects in space. It is also used in orbit determination and orbit design for satellites and other spacecraft.

Similar threads

  • Classical Physics
Replies
4
Views
795
Replies
1
Views
484
  • Classical Physics
Replies
1
Views
798
  • Classical Physics
Replies
3
Views
887
Replies
20
Views
2K
  • Quantum Physics
Replies
19
Views
1K
  • Advanced Physics Homework Help
Replies
4
Views
891
  • High Energy, Nuclear, Particle Physics
Replies
3
Views
847
Replies
12
Views
753
  • STEM Educators and Teaching
Replies
22
Views
3K
Back
Top