Class DSSTZonal

  • All Implemented Interfaces:
    DSSTForceModel

    public class DSSTZonal
    extends Object
    implements DSSTForceModel
    Zonal contribution to the central body gravitational perturbation.
    Author:
    Romain Di Costanzo, Pascal Parraud
    • Constructor Detail

      • DSSTZonal

        public DSSTZonal​(UnnormalizedSphericalHarmonicsProvider provider,
                         int maxDegreeShortPeriodics,
                         int maxEccPowShortPeriodics,
                         int maxFrequencyShortPeriodics)
        Simple constructor.
        Parameters:
        provider - provider for spherical harmonics
        maxDegreeShortPeriodics - maximum degree to consider for short periodics zonal harmonics potential (must be between 2 and provider.getMaxDegree())
        maxEccPowShortPeriodics - maximum power of the eccentricity to be used in short periodic computations (must be between 0 and maxDegreeShortPeriodics - 1, but should typically not exceed 4 as higher values will exceed computer capacity)
        maxFrequencyShortPeriodics - maximum frequency in true longitude for short periodic computations (must be between 1 and 2 * maxDegreeShortPeriodics + 1)
        Since:
        7.2
    • Method Detail

      • initialize

        public List<ShortPeriodTerms> initialize​(AuxiliaryElements aux,
                                                 boolean meanOnly)
        Performs initialization prior to propagation for the current force model.

        This method aims at being called at the very beginning of a propagation.

        Computes the highest power of the eccentricity to appear in the truncated analytical power series expansion.

        This method computes the upper value for the central body potential and determines the maximal power for the eccentricity producing potential terms bigger than a defined tolerance.

        Specified by:
        initialize in interface DSSTForceModel
        Parameters:
        aux - auxiliary elements related to the current orbit
        meanOnly - only mean elements are used during the propagation
        Returns:
        a list of objects that will hold short period terms (the objects are also retained by the force model, which will update them during propagation)
      • initializeStep

        public void initializeStep​(AuxiliaryElements aux)
        Performs initialization at each integration step for the current force model.

        This method aims at being called before mean elements rates computation.

        Specified by:
        initializeStep in interface DSSTForceModel
        Parameters:
        aux - auxiliary elements related to the current orbit
      • getMeanElementRate

        public double[] getMeanElementRate​(SpacecraftState spacecraftState)
        Computes the mean equinoctial elements rates dai / dt.
        Specified by:
        getMeanElementRate in interface DSSTForceModel
        Parameters:
        spacecraftState - current state information: date, kinematics, attitude
        Returns:
        the mean element rates dai/dt
      • getEventsDetectors

        public EventDetector[] getEventsDetectors()
        Get the discrete events related to the model.
        Specified by:
        getEventsDetectors in interface DSSTForceModel
        Returns:
        array of events detectors or null if the model is not related to any discrete events