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.voidinitializeStep(AuxiliaryElements aux)Performs initialization at each integration step for the current force model.voidregisterAttitudeProvider(AttitudeProvider attitudeProvider)Register an attitude provider.voidupdateShortPeriodTerms(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:
initializein 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:
initializeStepin 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:
getMeanElementRatein 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 termsthat will be updated are the ones that were returned during the call toDSSTForceModel.initialize(AuxiliaryElements, boolean).- Specified by:
updateShortPeriodTermsin interfaceDSSTForceModel- Parameters:
meanStates- mean states information: date, kinematics, attitude
-
getEventsDetectors
public EventDetector[] getEventsDetectors()
Get the discrete events related to the model.- Specified by:
getEventsDetectorsin 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:
registerAttitudeProviderin interfaceDSSTForceModel- Parameters:
attitudeProvider- theAttitudeProvider
-
-