Class DSSTTesseral

  • All Implemented Interfaces:
    DSSTForceModel

    public class DSSTTesseral
    extends Object
    implements DSSTForceModel
    Tesseral contribution to the central body gravitational perturbation.

    Only resonant tesserals are considered.

    Author:
    Romain Di Costanzo, Pascal Parraud
    • Constructor Detail

      • DSSTTesseral

        public DSSTTesseral​(Frame centralBodyFrame,
                            double centralBodyRotationRate,
                            UnnormalizedSphericalHarmonicsProvider provider,
                            int maxDegreeTesseralSP,
                            int maxOrderTesseralSP,
                            int maxEccPowTesseralSP,
                            int maxFrequencyShortPeriodics,
                            int maxDegreeMdailyTesseralSP,
                            int maxOrderMdailyTesseralSP,
                            int maxEccPowMdailyTesseralSP)
        Simple constructor.
        Parameters:
        centralBodyFrame - rotating body frame
        centralBodyRotationRate - central body rotation rate (rad/s)
        provider - provider for spherical harmonics
        maxDegreeTesseralSP - maximal degree to consider for short periodics tesseral harmonics potential (must be between 2 and provider.getMaxDegree())
        maxOrderTesseralSP - maximal order to consider for short periodics tesseral harmonics potential (must be between 0 and provider.getMaxOrder())
        maxEccPowTesseralSP - maximum power of the eccentricity to use in summation over s for short periodic tesseral harmonics (without m-daily), should typically not exceed 4 as higher values will exceed computer capacity
        maxFrequencyShortPeriodics - maximum frequency in mean longitude for short periodic computations (typically maxDegreeTesseralSP + maxEccPowTesseralSP and no more than 12)
        maxDegreeMdailyTesseralSP - maximal degree to consider for short periodics m-daily tesseral harmonics potential (must be between 2 and provider.getMaxDegree())
        maxOrderMdailyTesseralSP - maximal order to consider for short periodics m-daily tesseral harmonics potential (must be between 0 and provider.getMaxOrder())
        maxEccPowMdailyTesseralSP - maximum power of the eccentricity to use in summation over s for m-daily tesseral harmonics, (must be between 0 and maxDegreeMdailyTesseralSP - 2, but should typically not exceed 4 as higher values will exceed computer capacity)
        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.

        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