Class DSSTZonal

    • Field Detail

      • SHORT_PERIOD_PREFIX

        public static final String SHORT_PERIOD_PREFIX
        Name of the prefix for short period coefficients keys.
        See Also:
        Constant Field Values
    • Constructor Detail

      • DSSTZonal

        public DSSTZonal​(Frame bodyFixedFrame,
                         UnnormalizedSphericalHarmonicsProvider provider)
        Constructor with default reference values.

        When this constructor is used, maximum allowed values are used for the short periodic coefficients:

        • maxDegreeShortPeriodics is set to provider.getMaxDegree()
        • maxEccPowShortPeriodics is set to min(provider.getMaxDegree() - 1, 4). This parameter should not exceed 4 as higher values will exceed computer capacity
        • maxFrequencyShortPeriodics is set to 2 * provider.getMaxDegree() + 1
        Parameters:
        bodyFixedFrame - rotating body frame

        If set, this frame will be used to compute the Earth pole direction and the zonal contribution. If not, the inertial frame from the propagator will be used.
        Ideally this frame should be always set to ITRF. However, using TOD is advised since it's generally a good trade-off between performance and precision.

        provider - provider for spherical harmonics
        Since:
        12.1
      • DSSTZonal

        public DSSTZonal​(UnnormalizedSphericalHarmonicsProvider provider)
        Constructor with bodyFixedFrame = orbit frame, and default reference values.

        Kept for compatibility with anterior versions.

        Setting bodyFixedFrame to null will lead to large errors if the orbit frame is far from Earth rotating frame (GCRF, EME2000...). The error gets smaller as the orbit frame gets closer to Earth rotating frame (MOD, then TOD).

        Parameters:
        provider - provider for spherical harmonics
        Since:
        10.1
        See Also:
        issue-1104 on the forge

        When this constructor is used, maximum allowed values are used for the short periodic coefficients:

        • #maxDegreeShortPeriodics is set to provider.getMaxDegree()
        • #maxEccPowShortPeriodics is set to min(provider.getMaxDegree() - 1, 4). This parameter should not exceed 4 as higher values will exceed computer capacity
        • #maxFrequencyShortPeriodics is set to 2 * provider.getMaxDegree() + 1
      • DSSTZonal

        public DSSTZonal​(Frame bodyFixedFrame,
                         UnnormalizedSphericalHarmonicsProvider provider,
                         int maxDegreeShortPeriodics,
                         int maxEccPowShortPeriodics,
                         int maxFrequencyShortPeriodics)
        Constructor.
        Parameters:
        bodyFixedFrame - rotating body frame

        If set, this frame will be used to compute the Earth pole direction and the zonal contribution. If not, the inertial frame from the propagator will be used.
        Ideally this frame should be always set to ITRF. However, using TOD is advised since it's a good trade-off between performance and precision.

        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:
        12.1
      • DSSTZonal

        public DSSTZonal​(UnnormalizedSphericalHarmonicsProvider provider,
                         int maxDegreeShortPeriodics,
                         int maxEccPowShortPeriodics,
                         int maxFrequencyShortPeriodics)
        Constructor with bodyFixedFrame = orbit frame.

        Added for retro-compatibility with anterior versions for initialization.

        Setting bodyFixedFrame to null will lead to large errors if the orbit frame is far from Earth rotating frame (GCRF, EME2000...). The error gets smaller as the orbit frame gets closer to Earth rotating frame (MOD, then TOD).

        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
        See Also:
        issue-1104 on the forge