public class DSSTTesseral extends Object implements DSSTForceModel
Only resonant tesserals are considered.
Constructor and Description |
---|
DSSTTesseral(Frame centralBodyFrame,
double centralBodyRotationRate,
UnnormalizedSphericalHarmonicsProvider provider,
int maxDegreeTesseralSP,
int maxOrderTesseralSP,
int maxEccPowTesseralSP,
int maxFrequencyShortPeriodics,
int maxDegreeMdailyTesseralSP,
int maxOrderMdailyTesseralSP,
int maxEccPowMdailyTesseralSP)
Simple constructor.
|
Modifier and Type | Method and 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.
|
public DSSTTesseral(Frame centralBodyFrame, double centralBodyRotationRate, UnnormalizedSphericalHarmonicsProvider provider, int maxDegreeTesseralSP, int maxOrderTesseralSP, int maxEccPowTesseralSP, int maxFrequencyShortPeriodics, int maxDegreeMdailyTesseralSP, int maxOrderMdailyTesseralSP, int maxEccPowMdailyTesseralSP) throws OrekitException
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 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 capacitymaxFrequencyShortPeriodics
- 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)OrekitException
- if degrees or powers are out of rangepublic List<ShortPeriodTerms> initialize(AuxiliaryElements aux, boolean meanOnly) throws OrekitException
This method aims at being called at the very beginning of a propagation.
initialize
in interface DSSTForceModel
aux
- auxiliary elements related to the current orbitmeanOnly
- only mean elements are used during the propagationOrekitException
- if some specific error occurspublic void initializeStep(AuxiliaryElements aux) throws OrekitException
This method aims at being called before mean elements rates computation.
initializeStep
in interface DSSTForceModel
aux
- auxiliary elements related to the current orbitOrekitException
- if some specific error occurspublic double[] getMeanElementRate(SpacecraftState spacecraftState) throws OrekitException
getMeanElementRate
in interface DSSTForceModel
spacecraftState
- current state information: date, kinematics, attitudeOrekitException
- if some specific error occurspublic void updateShortPeriodTerms(SpacecraftState... meanStates) throws OrekitException
The short period terms
that will be updated
are the ones that were returned during the call to DSSTForceModel.initialize(AuxiliaryElements, boolean)
.
updateShortPeriodTerms
in interface DSSTForceModel
meanStates
- mean states information: date, kinematics, attitudeOrekitException
- if some specific error occurspublic EventDetector[] getEventsDetectors()
getEventsDetectors
in interface DSSTForceModel
public void registerAttitudeProvider(AttitudeProvider attitudeProvider)
Register an attitude provider that can be used by the force model.
registerAttitudeProvider
in interface DSSTForceModel
attitudeProvider
- the AttitudeProvider
Copyright © 2002-2017 CS Systèmes d'information. All rights reserved.