I am reviewing the "Fortran Astrodynamics Toolkit (can be found here) and even more specifically at the two body propagation method implemented in this Kepler module for elliptical and circular orbits. I can follow the general formulation using Lagrange method and the general technique for Newton-Rhapson root finding. Where I get lost is the subroutine kepde which the author documents as:

"Elliptic Kepler's equation written in terms of the eccentric anomaly difference. See Battin, eqn 4.43"

I can track the idea of using change in eccentric anomaly since that can be directly calculated from change in mean anomaly, which is needed for Lagrange method (unless you use universal variable formulation).

The equation in the code is

kepde = -dm + de + sigma0 / sqrta * (one - cos(de)) - (one - r / a) * sin(de)

where de and dm are difference in mean and eccentric anomaly. The closest equation I can find is in Vallado:

$$\frac{M-M_0}{n} = t-t_o = \sqrt{\frac{a^3}{\mu}} \left( 2 \pi k + E - e \sin E - (E_o - e \sin E_o) \right) \tag{2-7}$$

(original screenshot)

Can anyone provide any explanation as to how the author got to the final equation?

  • 2
    $\begingroup$ Did you check Battin, Eq. 4.43? $\endgroup$ – Chris Aug 11 at 0:22
  • $\begingroup$ Did you work thru the derivations on the Wikipedia page? You might also want to track down this semi-ancient algorithm, also in Fortran, link.springer.com/article/10.1007/BF01371365 $\endgroup$ – Carl Witthoft Aug 11 at 11:56
  • 1
    $\begingroup$ i actaully have Battin's book on order but its going to take about two weeks to get here. As for the derivations of keplers equation im pretty comfortable with it, but where I get lost is the conversion to difference in anomalies $\endgroup$ – S moran Aug 11 at 15:07

The Eq. 4.43 is in Battin's An Introduction to the Mathematics and Methods of Astrodynamics where he does not derive it. The derivation is outlined in his earlier book Astronautical Guidance (1964) on page 46. Starting from Kepler's equation for the two positions $E$ and $E_0$: $$M-M_0=E-E_0 -e(\sin E -\sin E_0) $$ make the substitution $\sin E = \sin[E_0 + (E-E_0)]$ and expand that sum of sines to get: $$ M-M_0=E-E_0 -e\sin E_0 \cos(E-E_0)- e\cos E_0\sin(E-E_0)+e\sin E_0) $$

Notice that $\sin E_0$ occurs twice to simplify to: $$ M-M_0=E-E_0 -e\sin E_0[1-\cos(E-E_0)] -e\cos E_0\sin(E-E_0) $$

Battin (1964) says that $e\cos E_0=(1-\frac{r_0}a)$ and the $e\sin E_0$ term is $\frac{\sigma_0}{\sqrt{a}}$ using the newer book terminology. For those without the book, $\sigma_0$ is the dot product of initial position and velocity divided by $\sqrt{\mu} $

This lines up well with the fortran, but the (one - r/a) had better be that r is the initial radius vector magnitude (and one is just 1 or 1.0). When de is chosen to make kepde zero the equation is satisfied.

| improve this answer | |
  • 1
    $\begingroup$ This my friend is fantastic! Thank you for the detailed response. One question though, i did see the sigma calculation, but I was trying to understand if that has any translation to a term or property of the orbit? $\endgroup$ – S moran Aug 11 at 19:10
  • 1
    $\begingroup$ Here is a fun fact that Battin Astrodynamics gives on p. 128: calculate $\sigma$ at any point and cot gamma = sigma/$sqrt{p} where gamma is angle between radius vector and velocity (complement of usual flight path angle). $\endgroup$ – W H G Aug 12 at 0:17
  • 1
    $\begingroup$ What do you mean by “cot”? $\endgroup$ – S moran Aug 12 at 0:48
  • 1
    $\begingroup$ cot is cotangent of angle. $\endgroup$ – W H G Aug 12 at 4:06
  • 1
    $\begingroup$ ha ok I was overthinking it then! $\endgroup$ – S moran Aug 12 at 21:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.