Class CoefficientsFactory

java.lang.Object
org.orekit.propagation.semianalytical.dsst.utilities.CoefficientsFactory

public class CoefficientsFactory extends Object
This class is designed to provide coefficient from the DSST theory.
Author:
Romain Di Costanzo
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Key formed by two integer values.
  • Method Summary

    Modifier and Type
    Method
    Description
    static double[][]
    computeGsHs(double k, double h, double alpha, double beta, int order)
    Compute recursively Gs and Hs polynomials from equation 3.1-(5).
    static <T extends CalculusFieldElement<T>>
    T[][]
    computeGsHs(T k, T h, T alpha, T beta, int order, Field<T> field)
    Compute recursively Gs and Hs polynomials from equation 3.1-(5).
    static double[][]
    computeQns(double gamma, int nMax, int sMax)
    Compute the Qn,s coefficients evaluated at γ from the recurrence formula 2.8.3-(2).
    static <T extends CalculusFieldElement<T>>
    T[][]
    computeQns(T gamma, int nMax, int sMax)
    Compute the Qn,s coefficients evaluated at γ from the recurrence formula 2.8.3-(2).
    computeVns(int order)
    Compute the Vn,s coefficients from 2.8.2-(1)(2).
    static double
    getVmns(int m, int n, int s)
    Get the Vn,sm coefficient from Vn,s.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • computeQns

      public static double[][] computeQns(double gamma, int nMax, int sMax)
      Compute the Qn,s coefficients evaluated at γ from the recurrence formula 2.8.3-(2).

      Qn,s coefficients are computed for n = 0 to nMax and s = 0 to sMax + 1 in order to also get the derivative dQn,s/dγ = Q(n, s + 1)

      Parameters:
      gamma - γ angle
      nMax - n max value
      sMax - s max value
      Returns:
      Qn,s coefficients array
    • computeQns

      public static <T extends CalculusFieldElement<T>> T[][] computeQns(T gamma, int nMax, int sMax)
      Compute the Qn,s coefficients evaluated at γ from the recurrence formula 2.8.3-(2).

      Qn,s coefficients are computed for n = 0 to nMax and s = 0 to sMax + 1 in order to also get the derivative dQn,s/dγ = Q(n, s + 1)

      Type Parameters:
      T - the type of the field elements
      Parameters:
      gamma - γ angle
      nMax - n max value
      sMax - s max value
      Returns:
      Qn,s coefficients array
    • computeGsHs

      public static double[][] computeGsHs(double k, double h, double alpha, double beta, int order)
      Compute recursively Gs and Hs polynomials from equation 3.1-(5).
      Parameters:
      k - x-component of the eccentricity vector
      h - y-component of the eccentricity vector
      alpha - 1st direction cosine
      beta - 2nd direction cosine
      order - development order
      Returns:
      Array of Gs and Hs polynomials for s from 0 to order.
      The 1st column contains the Gs values. The 2nd column contains the Hs values.
    • computeGsHs

      public static <T extends CalculusFieldElement<T>> T[][] computeGsHs(T k, T h, T alpha, T beta, int order, Field<T> field)
      Compute recursively Gs and Hs polynomials from equation 3.1-(5).
      Type Parameters:
      T - the type of the field elements
      Parameters:
      k - x-component of the eccentricity vector
      h - y-component of the eccentricity vector
      alpha - 1st direction cosine
      beta - 2nd direction cosine
      order - development order
      field - field of elements
      Returns:
      Array of Gs and Hs polynomials for s from 0 to order.
      The 1st column contains the Gs values. The 2nd column contains the Hs values.
    • computeVns

      public static SortedMap<CoefficientsFactory.NSKey,Double> computeVns(int order)
      Compute the Vn,s coefficients from 2.8.2-(1)(2).
      Parameters:
      order - Order of the computation. Computation will be done from 0 to order -1
      Returns:
      Map of the Vn, s coefficients
      Since:
      11.3.3
    • getVmns

      public static double getVmns(int m, int n, int s)
      Get the Vn,sm coefficient from Vn,s.
      See § 2.8.2 in Danielson paper.
      Parameters:
      m - m
      n - n
      s - s
      Returns:
      The Vn, s m coefficient