Class FieldHansenThirdBodyLinear<T extends CalculusFieldElement<T>>

java.lang.Object
org.orekit.propagation.semianalytical.dsst.utilities.hansen.FieldHansenThirdBodyLinear<T>
Type Parameters:
T - type of the field elements

public class FieldHansenThirdBodyLinear<T extends CalculusFieldElement<T>> extends Object
Hansen coefficients K(t,n,s) for t=0 and n > 0.

Implements Collins 4-254 or Danielson 2.7.3-(7) for Hansen Coefficients and Danielson 3.2-(3) for derivatives. The recursions are transformed into composition of linear transformations to obtain the associated polynomials for coefficients and their derivatives - see Petre's paper

Author:
Petre Bazavan, Lucian Barbulescu, Bryan Cazabonne
  • Constructor Details

    • FieldHansenThirdBodyLinear

      public FieldHansenThirdBodyLinear(int nMax, int s, Field<T> field)
      Constructor.
      Parameters:
      nMax - the maximum value of n
      s - the value of s
      field - field used by default
  • Method Details

    • computeInitValues

      public void computeInitValues(T chitm1, T chitm2, T chitm3)
      Compute the initial values (see Collins, 4-255, 4-256 and 4.259)

      K₀s, s = (-1)s * ( (2*s+1)!! / (s+1)! )

      K₀s+1, s = (-1)s * ( (2*s+1)!! / (s+2)! ) * (2*s+3 - χ-2)

      dK₀s+1, s / dχ = = (-1)s * 2 * ( (2*s+1)!! / (s+2)! ) * χ-3

      Parameters:
      chitm1 - sqrt(1 - e²)
      chitm2 - sqrt(1 - e²)²
      chitm3 - sqrt(1 - e²)³
    • getValue

      public T getValue(int n, T chitm1)
      Compute the value of the Hansen coefficient K₀n, s.
      Parameters:
      n - n value
      chitm1 - χ-1
      Returns:
      the coefficient K₀n, s
    • getDerivative

      public T getDerivative(int n, T chitm1)
      Compute the value of the Hansen coefficient dK₀n, s / dΧ.
      Parameters:
      n - n value
      chitm1 - χ-1
      Returns:
      the coefficient dK₀n, s / dΧ