poliastro.core.propagation.farnocchia

Module Contents

Functions

S_x(ecc, x[, atol])

dS_x_alt(ecc, x[, atol])

d2S_x_alt(ecc, x[, atol])

D_to_M_near_parabolic(D, ecc)

M_to_D_near_parabolic(M, ecc[, tol, maxiter])

Parabolic eccentric anomaly from mean anomaly, near parabolic case.

delta_t_from_nu(nu, ecc[, k, q, delta])

Time elapsed since periapsis for given true anomaly.

nu_from_delta_t(delta_t, ecc[, k, q, delta])

True anomaly for given elapsed time since periapsis.

farnocchia_coe(k, p, ecc, inc, raan, argp, nu, tof)

farnocchia_rv(k, r0, v0, tof)

Propagates orbit using mean motion.

poliastro.core.propagation.farnocchia.S_x(ecc, x, atol=1e-12)
poliastro.core.propagation.farnocchia.dS_x_alt(ecc, x, atol=1e-12)
poliastro.core.propagation.farnocchia.d2S_x_alt(ecc, x, atol=1e-12)
poliastro.core.propagation.farnocchia.D_to_M_near_parabolic(D, ecc)
poliastro.core.propagation.farnocchia.M_to_D_near_parabolic(M, ecc, tol=1.48e-08, maxiter=50)

Parabolic eccentric anomaly from mean anomaly, near parabolic case.

Parameters
  • M (float) – Mean anomaly in radians.

  • ecc (float) – Eccentricity (~1).

  • tol (float, optional) – Absolute tolerance for Newton convergence.

  • maxiter (int, optional) – Maximum number of iterations for Newton convergence.

Returns

D – Parabolic eccentric anomaly.

Return type

float

poliastro.core.propagation.farnocchia.delta_t_from_nu(nu, ecc, k=1.0, q=1.0, delta=0.01)

Time elapsed since periapsis for given true anomaly.

Parameters
  • nu (float) – True anomaly.

  • ecc (float) – Eccentricity.

  • k (float) – Gravitational parameter.

  • q (float) – Periapsis distance.

  • delta (float) – Parameter that controls the size of the near parabolic region.

Returns

delta_t – Time elapsed since periapsis.

Return type

float

poliastro.core.propagation.farnocchia.nu_from_delta_t(delta_t, ecc, k=1.0, q=1.0, delta=0.01)

True anomaly for given elapsed time since periapsis.

Parameters
  • delta_t (float) – Time elapsed since periapsis.

  • ecc (float) – Eccentricity.

  • k (float) – Gravitational parameter.

  • q (float) – Periapsis distance.

  • delta (float) – Parameter that controls the size of the near parabolic region.

Returns

nu – True anomaly.

Return type

float

poliastro.core.propagation.farnocchia.farnocchia_coe(k, p, ecc, inc, raan, argp, nu, tof)
poliastro.core.propagation.farnocchia.farnocchia_rv(k, r0, v0, tof)

Propagates orbit using mean motion.

This algorithm depends on the geometric shape of the orbit. For the case of the strong elliptic or strong hyperbolic orbits:

\[M = M_{0} + \frac{\mu^{2}}{h^{3}}\left ( 1 -e^{2}\right )^{\frac{3}{2}}t\]

New in version 0.9.0.

Parameters
  • k (float) – Standar Gravitational parameter

  • r0 (numpy.ndarray) – Initial position vector wrt attractor center.

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

  • tof (float) – Time of flight (s).

Notes

This method takes initial \(\vec{r}, \vec{v}\), calculates classical orbit parameters, increases mean anomaly and performs inverse transformation to get final \(\vec{r}, \vec{v}\) The logic is based on formulae (4), (6) and (7) from http://dx.doi.org/10.1007/s10569-013-9476-9