boinor.core.propagation.vallado¶
Functions¶
|
Solves Kepler's Equation by applying a Newton-Raphson method. |
Module Contents¶
- boinor.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{aligned} 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{aligned}\end{split}\]Lagrange coefficients can be related then with the position and velocity vectors:
\[\begin{split}\begin{aligned} \vec{r} &= f\vec{r_{o}} + g\vec{v_{o}} \\ \vec{v} &= \dot{f}\vec{r_{o}} + \dot{g}\vec{v_{o}} \\ \end{aligned}\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 [Cur13] in really deep detail. For analytical example, check in the same book for example 3.6.