boinor.core.propagation.farnocchia ================================== .. py:module:: boinor.core.propagation.farnocchia Functions --------- .. autoapisummary:: boinor.core.propagation.farnocchia.S_x boinor.core.propagation.farnocchia.dS_x_alt boinor.core.propagation.farnocchia.d2S_x_alt boinor.core.propagation.farnocchia.D_to_M_near_parabolic boinor.core.propagation.farnocchia.M_to_D_near_parabolic boinor.core.propagation.farnocchia.delta_t_from_nu boinor.core.propagation.farnocchia.nu_from_delta_t boinor.core.propagation.farnocchia.farnocchia_coe boinor.core.propagation.farnocchia.farnocchia_rv Module Contents --------------- .. py:function:: S_x(ecc, x, atol=1e-12) .. py:function:: dS_x_alt(ecc, x, atol=1e-12) .. py:function:: d2S_x_alt(ecc, x, atol=1e-12) .. py:function:: D_to_M_near_parabolic(D, ecc) .. py:function:: M_to_D_near_parabolic(M, ecc, tol=1.48e-08, maxiter=50) Parabolic eccentric anomaly from mean anomaly, near parabolic case. :param M: Mean anomaly in radians. :type M: float :param ecc: Eccentricity (~1). :type ecc: float :param tol: Absolute tolerance for Newton convergence. :type tol: float, optional :param maxiter: Maximum number of iterations for Newton convergence. :type maxiter: int, optional :returns: **D** -- Parabolic eccentric anomaly. :rtype: float .. py:function:: delta_t_from_nu(nu, ecc, k=1.0, q=1.0, delta=0.01) Time elapsed since periapsis for given true anomaly. :param nu: True anomaly. :type nu: float :param ecc: Eccentricity. :type ecc: float :param k: Gravitational parameter. :type k: float :param q: Periapsis distance. :type q: float :param delta: Parameter that controls the size of the near parabolic region. :type delta: float :returns: **delta_t** -- Time elapsed since periapsis. :rtype: float .. py:function:: nu_from_delta_t(delta_t, ecc, k=1.0, q=1.0, delta=0.01) True anomaly for given elapsed time since periapsis. :param delta_t: Time elapsed since periapsis. :type delta_t: float :param ecc: Eccentricity. :type ecc: float :param k: Gravitational parameter. :type k: float :param q: Periapsis distance. :type q: float :param delta: Parameter that controls the size of the near parabolic region. :type delta: float :returns: **nu** -- True anomaly. :rtype: float .. py:function:: farnocchia_coe(k, p, ecc, inc, raan, argp, nu, tof) .. py:function:: 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: .. math:: M = M_{0} + \frac{\mu^{2}}{h^{3}}\left ( 1 -e^{2}\right )^{\frac{3}{2}}t .. versionadded:: 0.9.0 :param k: Standar Gravitational parameter :type k: float :param r0: Initial position vector wrt attractor center. :type r0: numpy.ndarray :param v0: Initial velocity vector. :type v0: numpy.ndarray :param tof: Time of flight (s). :type tof: float .. rubric:: Notes This method takes initial :math:`\vec{r}, \vec{v}`, calculates classical orbit parameters, increases mean anomaly and performs inverse transformation to get final :math:`\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