public class DSSTZonal extends Object implements DSSTForceModel
Constructor and Description |
---|
DSSTZonal(UnnormalizedSphericalHarmonicsProvider provider,
int maxDegreeShortPeriodics,
int maxEccPowShortPeriodics,
int maxFrequencyShortPeriodics)
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.
|
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.
|
public DSSTZonal(UnnormalizedSphericalHarmonicsProvider provider, int maxDegreeShortPeriodics, int maxEccPowShortPeriodics, int maxFrequencyShortPeriodics) throws OrekitException
provider
- provider for spherical harmonicsmaxDegreeShortPeriodics
- 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
)OrekitException
- if degrees or powers are out of rangepublic UnnormalizedSphericalHarmonicsProvider getProvider()
public List<ShortPeriodTerms> initialize(AuxiliaryElements aux, boolean meanOnly) throws OrekitException
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.
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 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
public 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 occursCopyright © 2002-2017 CS Systèmes d'information. All rights reserved.