Class EcksteinHechlerTheory

java.lang.Object
org.orekit.propagation.conversion.osc2mean.EcksteinHechlerTheory
All Implemented Interfaces:
MeanTheory

public class EcksteinHechlerTheory extends Object implements MeanTheory
Eckstein-Hechler theory for osculating to mean orbit conversion.
Since:
13.0
Author:
Pascal Parraud
  • Field Details

  • Constructor Details

    • EcksteinHechlerTheory

      public EcksteinHechlerTheory(UnnormalizedSphericalHarmonicsProvider provider)
      Constructor.
      Parameters:
      provider - unnormalized spherical harmonics provider
    • EcksteinHechlerTheory

      public EcksteinHechlerTheory(double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
      Constructor.
      Parameters:
      referenceRadius - reference radius of the Earth for the potential model (m)
      mu - central attraction coefficient (m³/s²)
      c20 - un-normalized zonal coefficient (about -1.08e-3 for Earth)
      c30 - un-normalized zonal coefficient (about +2.53e-6 for Earth)
      c40 - un-normalized zonal coefficient (about +1.62e-6 for Earth)
      c50 - un-normalized zonal coefficient (about +2.28e-7 for Earth)
      c60 - un-normalized zonal coefficient (about -5.41e-7 for Earth)
  • Method Details

    • getTheoryName

      public String getTheoryName()
      Gets the name of the theory used for osculating to mean conversion.
      Specified by:
      getTheoryName in interface MeanTheory
      Returns:
      the actual theory
    • getReferenceRadius

      public double getReferenceRadius()
      Gets reference radius of the central body (m).
      Specified by:
      getReferenceRadius in interface MeanTheory
      Returns:
      reference radius of the central body
    • meanToOsculating

      public Orbit meanToOsculating(Orbit mean)
      Gets osculating orbit from mean orbit.
      Specified by:
      meanToOsculating in interface MeanTheory
      Parameters:
      mean - mean orbit
      Returns:
      osculating orbit
    • meanToOsculating

      public <T extends CalculusFieldElement<T>> FieldOrbit<T> meanToOsculating(FieldOrbit<T> mean)
      Gets osculating orbit from mean orbit.
      Specified by:
      meanToOsculating in interface MeanTheory
      Type Parameters:
      T - type of the field elements
      Parameters:
      mean - mean orbit
      Returns:
      osculating orbit
    • postprocessing

      public Orbit postprocessing(Orbit osculating, Orbit mean)
      Post-treatment of the converted mean orbit.

      The mean orbit returned is circular.

      Specified by:
      postprocessing in interface MeanTheory
      Parameters:
      osculating - the osculating orbit to be converted
      mean - the converted mean orbit
      Returns:
      postprocessed mean orbit
    • postprocessing

      public <T extends CalculusFieldElement<T>> FieldOrbit<T> postprocessing(FieldOrbit<T> osculating, FieldOrbit<T> mean)
      Post-treatment of the converted mean orbit.

      The mean orbit returned is circular.

      Specified by:
      postprocessing in interface MeanTheory
      Type Parameters:
      T - type of the field elements
      Parameters:
      osculating - the osculating orbit to be converted
      mean - the converted mean orbit
      Returns:
      postprocessed mean orbit