Class FieldKeplerianAnomalyUtility


  • public class FieldKeplerianAnomalyUtility
    extends Object
    Utility methods for converting between different Keplerian anomalies.
    Author:
    Luc Maisonobe, Andrea Antolino, Andrew Goetz
    • Method Detail

      • ellipticMeanToTrue

        public static <T extends CalculusFieldElement<T>> T ellipticMeanToTrue​(T e,
                                                                               T M)
        Computes the elliptic true anomaly from the elliptic mean anomaly.
        Type Parameters:
        T - field type
        Parameters:
        e - eccentricity such that 0 ≤ e < 1
        M - elliptic mean anomaly (rad)
        Returns:
        elliptic true anomaly (rad)
      • ellipticTrueToMean

        public static <T extends CalculusFieldElement<T>> T ellipticTrueToMean​(T e,
                                                                               T v)
        Computes the elliptic mean anomaly from the elliptic true anomaly.
        Type Parameters:
        T - field type
        Parameters:
        e - eccentricity such that 0 ≤ e < 1
        v - elliptic true anomaly (rad)
        Returns:
        elliptic mean anomaly (rad)
      • ellipticEccentricToTrue

        public static <T extends CalculusFieldElement<T>> T ellipticEccentricToTrue​(T e,
                                                                                    T E)
        Computes the elliptic true anomaly from the elliptic eccentric anomaly.
        Type Parameters:
        T - field type
        Parameters:
        e - eccentricity such that 0 ≤ e < 1
        E - elliptic eccentric anomaly (rad)
        Returns:
        elliptic true anomaly (rad)
      • ellipticTrueToEccentric

        public static <T extends CalculusFieldElement<T>> T ellipticTrueToEccentric​(T e,
                                                                                    T v)
        Computes the elliptic eccentric anomaly from the elliptic true anomaly.
        Type Parameters:
        T - field type
        Parameters:
        e - eccentricity such that 0 ≤ e < 1
        v - elliptic true anomaly (rad)
        Returns:
        elliptic eccentric anomaly (rad)
      • ellipticMeanToEccentric

        public static <T extends CalculusFieldElement<T>> T ellipticMeanToEccentric​(T e,
                                                                                    T M)
        Computes the elliptic eccentric anomaly from the elliptic mean anomaly.

        The algorithm used here for solving hyperbolic Kepler equation is from Odell, A.W., Gooding, R.H. "Procedures for solving Kepler's equation." Celestial Mechanics 38, 307–334 (1986). https://doi.org/10.1007/BF01238923

        Type Parameters:
        T - field type
        Parameters:
        e - eccentricity such that 0 ≤ e < 1
        M - elliptic mean anomaly (rad)
        Returns:
        elliptic eccentric anomaly (rad)
      • ellipticEccentricToMean

        public static <T extends CalculusFieldElement<T>> T ellipticEccentricToMean​(T e,
                                                                                    T E)
        Computes the elliptic mean anomaly from the elliptic eccentric anomaly.
        Type Parameters:
        T - field type
        Parameters:
        e - eccentricity such that 0 ≤ e < 1
        E - elliptic eccentric anomaly (rad)
        Returns:
        elliptic mean anomaly (rad)
      • hyperbolicMeanToTrue

        public static <T extends CalculusFieldElement<T>> T hyperbolicMeanToTrue​(T e,
                                                                                 T M)
        Computes the hyperbolic true anomaly from the hyperbolic mean anomaly.
        Type Parameters:
        T - field type
        Parameters:
        e - eccentricity > 1
        M - hyperbolic mean anomaly
        Returns:
        hyperbolic true anomaly (rad)
      • hyperbolicTrueToMean

        public static <T extends CalculusFieldElement<T>> T hyperbolicTrueToMean​(T e,
                                                                                 T v)
        Computes the hyperbolic mean anomaly from the hyperbolic true anomaly.
        Type Parameters:
        T - field type
        Parameters:
        e - eccentricity > 1
        v - hyperbolic true anomaly (rad)
        Returns:
        hyperbolic mean anomaly
      • hyperbolicEccentricToTrue

        public static <T extends CalculusFieldElement<T>> T hyperbolicEccentricToTrue​(T e,
                                                                                      T H)
        Computes the hyperbolic true anomaly from the hyperbolic eccentric anomaly.
        Type Parameters:
        T - field type
        Parameters:
        e - eccentricity > 1
        H - hyperbolic eccentric anomaly
        Returns:
        hyperbolic true anomaly (rad)
      • hyperbolicTrueToEccentric

        public static <T extends CalculusFieldElement<T>> T hyperbolicTrueToEccentric​(T e,
                                                                                      T v)
        Computes the hyperbolic eccentric anomaly from the hyperbolic true anomaly.
        Type Parameters:
        T - field type
        Parameters:
        e - eccentricity > 1
        v - hyperbolic true anomaly (rad)
        Returns:
        hyperbolic eccentric anomaly
      • hyperbolicMeanToEccentric

        public static <T extends CalculusFieldElement<T>> T hyperbolicMeanToEccentric​(T e,
                                                                                      T M)
        Computes the hyperbolic eccentric anomaly from the hyperbolic mean anomaly.

        The algorithm used here for solving hyperbolic Kepler equation is from Gooding, R.H., Odell, A.W. "The hyperbolic Kepler equation (and the elliptic equation revisited)." Celestial Mechanics 44, 267–282 (1988). https://doi.org/10.1007/BF01235540

        Type Parameters:
        T - field type
        Parameters:
        e - eccentricity > 1
        M - hyperbolic mean anomaly
        Returns:
        hyperbolic eccentric anomaly
      • hyperbolicEccentricToMean

        public static <T extends CalculusFieldElement<T>> T hyperbolicEccentricToMean​(T e,
                                                                                      T H)
        Computes the hyperbolic mean anomaly from the hyperbolic eccentric anomaly.
        Type Parameters:
        T - field type
        Parameters:
        e - eccentricity > 1
        H - hyperbolic eccentric anomaly
        Returns:
        hyperbolic mean anomaly