poliastro.core.propagation.vallado

Module Contents

Functions

vallado(k, r0, v0, tof, numiter)

Solves Kepler's Equation by applying a Newton-Raphson method.

poliastro.core.propagation.vallado.vallado(k, r0, v0, tof, numiter)

Solves Kepler’s Equation by applying a Newton-Raphson method.

If the position of a body along its orbit wants to be computed for a specific time, it can be solved by terms of the Kepler’s Equation:

\[E = M + e\sin{E}\]

In this case, the equation is written in terms of the Universal Anomaly:

\[\sqrt{\mu}\Delta t = \frac{r_{o}v_{o}}{\sqrt{\mu}}\chi^{2}C(\alpha \chi^{2}) + (1 - \alpha r_{o})\chi^{3}S(\alpha \chi^{2}) + r_{0}\chi\]

This equation is solved for the universal anomaly by applying a Newton-Raphson numerical method. Once it is solved, the Lagrange coefficients are returned:

\[\begin{split}\begin{align} f &= 1 \frac{\chi^{2}}{r_{o}}C(\alpha \chi^{2}) \\ g &= \Delta t - \frac{1}{\sqrt{\mu}}\chi^{3}S(\alpha \chi^{2}) \\ \dot{f} &= \frac{\sqrt{\mu}}{rr_{o}}(\alpha \chi^{3}S(\alpha \chi^{2}) - \chi) \\ \dot{g} &= 1 - \frac{\chi^{2}}{r}C(\alpha \chi^{2}) \\ \end{align}\end{split}\]

Lagrange coefficients can be related then with the position and velocity vectors:

\[\begin{split}\begin{align} \vec{r} &= f\vec{r_{o}} + g\vec{v_{o}} \\ \vec{v} &= \dot{f}\vec{r_{o}} + \dot{g}\vec{v_{o}} \\ \end{align}\end{split}\]
Parameters
  • k (float) – Standard gravitational parameter.

  • r0 (numpy.ndarray) – Initial position vector.

  • v0 (numpy.ndarray) – Initial velocity vector.

  • tof (float) – Time of flight.

  • numiter (int) – Number of iterations.

Returns

  • f (float) – First Lagrange coefficient

  • g (float) – Second Lagrange coefficient

  • fdot (float) – Derivative of the first coefficient

  • gdot (float) – Derivative of the second coefficient

Notes

The theoretical procedure is explained in section 3.7 of Curtis in really deep detail. For analytical example, check in the same book for example 3.6.