Class DSSTTesseral
- java.lang.Object
-
- org.orekit.propagation.semianalytical.dsst.forces.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 Summary
Constructors Constructor Description DSSTTesseral(Frame centralBodyFrame, double centralBodyRotationRate, UnnormalizedSphericalHarmonicsProvider provider, int maxDegreeTesseralSP, int maxOrderTesseralSP, int maxEccPowTesseralSP, int maxFrequencyShortPeriodics, int maxDegreeMdailyTesseralSP, int maxOrderMdailyTesseralSP, int maxEccPowMdailyTesseralSP)
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.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
-
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 framecentralBodyRotationRate
- central body rotation rate (rad/s)provider
- provider for spherical harmonicsmaxDegreeTesseralSP
- maximal degree to consider for short periodics tesseral harmonics potential (must be between 2 andprovider.getMaxDegree()
)maxOrderTesseralSP
- maximal order to consider for short periodics tesseral harmonics potential (must be between 0 andprovider.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 capacitymaxFrequencyShortPeriodics
- maximum frequency in mean longitude for short periodic computations (typicallymaxDegreeTesseralSP
+maxEccPowTesseralSP and no more than 12
)maxDegreeMdailyTesseralSP
- maximal degree to consider for short periodics m-daily tesseral harmonics potential (must be between 2 andprovider.getMaxDegree()
)maxOrderMdailyTesseralSP
- maximal order to consider for short periodics m-daily tesseral harmonics potential (must be between 0 andprovider.getMaxOrder()
)maxEccPowMdailyTesseralSP
- maximum power of the eccentricity to use in summation over s for m-daily tesseral harmonics, (must be between 0 andmaxDegreeMdailyTesseralSP - 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 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
-
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
-
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
-
-