Class DSSTZonal
- java.lang.Object
-
- org.orekit.propagation.semianalytical.dsst.forces.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 Summary
Constructors Constructor Description DSSTZonal(UnnormalizedSphericalHarmonicsProvider provider, int maxDegreeShortPeriodics, int maxEccPowShortPeriodics, int maxFrequencyShortPeriodics)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EventDetector[]
getEventsDetectors()
Get the discrete events related to the model.double[]
getMeanElementRate(SpacecraftState spacecraftState)
Computes the mean equinoctial elements rates dai / dt.UnnormalizedSphericalHarmonicsProvider
getProvider()
Get the spherical harmonics provider.List<ShortPeriodTerms>
initialize(AuxiliaryElements aux, boolean meanOnly)
Performs initialization prior to propagation for the current force model.void
initializeStep(AuxiliaryElements aux)
Performs initialization at each integration step for the current force model.void
registerAttitudeProvider(AttitudeProvider attitudeProvider)
Register an attitude provider.void
updateShortPeriodTerms(SpacecraftState... meanStates)
Update the short period terms.
-
-
-
Constructor Detail
-
DSSTZonal
public DSSTZonal(UnnormalizedSphericalHarmonicsProvider provider, int maxDegreeShortPeriodics, int maxEccPowShortPeriodics, int maxFrequencyShortPeriodics)
Simple constructor.- Parameters:
provider
- provider for spherical harmonicsmaxDegreeShortPeriodics
- maximum degree to consider for short periodics zonal harmonics potential (must be between 2 andprovider.getMaxDegree()
)maxEccPowShortPeriodics
- maximum power of the eccentricity to be used in short periodic computations (must be between 0 andmaxDegreeShortPeriodics - 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 and2 * maxDegreeShortPeriodics + 1
)- Since:
- 7.2
-
-
Method Detail
-
getProvider
public UnnormalizedSphericalHarmonicsProvider getProvider()
Get the spherical harmonics provider.- Returns:
- the spherical harmonics provider
-
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 interfaceDSSTForceModel
- Parameters:
aux
- auxiliary elements related to the current orbitmeanOnly
- 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 interfaceDSSTForceModel
- 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 interfaceDSSTForceModel
- 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 interfaceDSSTForceModel
- Returns:
- array of events detectors or null if the model is not related to any discrete events
-
registerAttitudeProvider
public void registerAttitudeProvider(AttitudeProvider attitudeProvider)
Register an attitude provider.Register an attitude provider that can be used by the force model.
- Specified by:
registerAttitudeProvider
in interfaceDSSTForceModel
- Parameters:
attitudeProvider
- theAttitudeProvider
-
updateShortPeriodTerms
public void updateShortPeriodTerms(SpacecraftState... meanStates)
Update the short period terms.The
short period terms
that will be updated are the ones that were returned during the call toDSSTForceModel.initialize(AuxiliaryElements, boolean)
.- Specified by:
updateShortPeriodTerms
in interfaceDSSTForceModel
- Parameters:
meanStates
- mean states information: date, kinematics, attitude
-
-