Class FieldKeplerianAnomalyUtility

java.lang.Object
org.orekit.orbits.FieldKeplerianAnomalyUtility

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

    • 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
    • convertAnomaly

      public static <T extends CalculusFieldElement<T>> T convertAnomaly(PositionAngleType oldType, T anomaly, T e, PositionAngleType newType)
      Convert anomaly.
      Type Parameters:
      T - field type
      Parameters:
      oldType - old position angle type
      anomaly - old value for anomaly
      e - eccentricity
      newType - new position angle type
      Returns:
      converted anomaly
      Since:
      12.2
    • ellipticMeanToEccentricDifference

      public static <T extends CalculusFieldElement<T>> T ellipticMeanToEccentricDifference(T s0, T c0, T deltaM)
      Computes the difference in elliptic eccentric anomaly given that in elliptic mean anomaly.

      This function solves Eq. 4.43 in Battin (1999).

      Type Parameters:
      T - field type
      Parameters:
      s0 - intermediate quantity s0
      c0 - intermediate quantity c0
      deltaM - difference in elliptic mean anomaly
      Returns:
      difference in elliptic eccentric anomaly
      Since:
      14.0
    • hyperbolicMeanToEccentricDifference

      public static <T extends CalculusFieldElement<T>> T hyperbolicMeanToEccentricDifference(T s0, T c0, T deltaN)
      Computes the difference in hyperbolic eccentric anomaly given that in hyperbolic mean anomaly.

      This function solves Eq. 4.64 in Battin (1999).

      Type Parameters:
      T - field type
      Parameters:
      s0 - intermediate quantity s0
      c0 - intermediate quantity c0
      deltaN - difference in hyperbolic mean anomaly
      Returns:
      difference in hyperbolic eccentric anomaly
      Since:
      14.0