public class DSSTTesseral extends Object implements DSSTForceModel
Only resonant tesserals are considered.
| Modifier and Type | Field and Description |
|---|---|
static String |
CM_COEFFICIENTS
Identifier for cMm coefficients.
|
static String |
SHORT_PERIOD_PREFIX
Name of the prefix for short period coefficients keys.
|
static String |
SM_COEFFICIENTS
Identifier for sMm coefficients.
|
| 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.
|
<T extends RealFieldElement<T>> |
getFieldEventsDetectors(Field<T> field)
Get the discrete events related to the model.
|
<T extends RealFieldElement<T>> |
getMeanElementRate(FieldSpacecraftState<T> spacecraftState,
FieldAuxiliaryElements<T> auxiliaryElements,
T[] parameters)
Computes the mean equinoctial elements rates dai / dt.
|
double[] |
getMeanElementRate(SpacecraftState spacecraftState,
AuxiliaryElements auxiliaryElements,
double[] parameters)
Computes the mean equinoctial elements rates dai / dt.
|
ParameterDriver[] |
getParametersDrivers()
Get the drivers for force model parameters.
|
List<ShortPeriodTerms> |
initialize(AuxiliaryElements auxiliaryElements,
PropagationType type,
double[] parameters)
Performs initialization prior to propagation for the current force model.
|
<T extends RealFieldElement<T>> |
initialize(FieldAuxiliaryElements<T> auxiliaryElements,
PropagationType type,
T[] parameters)
Performs initialization prior to propagation for the current force model.
|
void |
registerAttitudeProvider(AttitudeProvider attitudeProvider)
Register an attitude provider.
|
void |
updateShortPeriodTerms(double[] parameters,
SpacecraftState... meanStates)
Update the short period terms.
|
<T extends RealFieldElement<T>> |
updateShortPeriodTerms(T[] parameters,
FieldSpacecraftState<T>... meanStates)
Update the short period terms.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetParameters, getParameterspublic static final String SHORT_PERIOD_PREFIX
public static final String CM_COEFFICIENTS
public static final String SM_COEFFICIENTS
public DSSTTesseral(Frame centralBodyFrame, double centralBodyRotationRate, UnnormalizedSphericalHarmonicsProvider provider, int maxDegreeTesseralSP, int maxOrderTesseralSP, int maxEccPowTesseralSP, int maxFrequencyShortPeriodics, int maxDegreeMdailyTesseralSP, int maxOrderMdailyTesseralSP, int maxEccPowMdailyTesseralSP)
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)public List<ShortPeriodTerms> initialize(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters)
This method aims at being called at the very beginning of a propagation.
initialize in interface DSSTForceModelauxiliaryElements - auxiliary elements related to the current orbittype - type of the elements used during the propagationparameters - values of the force model parameterspublic <T extends RealFieldElement<T>> List<FieldShortPeriodTerms<T>> initialize(FieldAuxiliaryElements<T> auxiliaryElements, PropagationType type, T[] parameters)
This method aims at being called at the very beginning of a propagation.
initialize in interface DSSTForceModelT - type of the elementsauxiliaryElements - auxiliary elements related to the current orbittype - type of the elements used during the propagationparameters - values of the force model parameterspublic double[] getMeanElementRate(SpacecraftState spacecraftState, AuxiliaryElements auxiliaryElements, double[] parameters)
getMeanElementRate in interface DSSTForceModelspacecraftState - current state information: date, kinematics, attitudeauxiliaryElements - auxiliary elements related to the current orbitparameters - values of the force model parameterspublic <T extends RealFieldElement<T>> T[] getMeanElementRate(FieldSpacecraftState<T> spacecraftState, FieldAuxiliaryElements<T> auxiliaryElements, T[] parameters)
getMeanElementRate in interface DSSTForceModelT - type of the elementsspacecraftState - current state information: date, kinematics, attitudeauxiliaryElements - auxiliary elements related to the current orbitparameters - values of the force model parameterspublic void updateShortPeriodTerms(double[] parameters,
SpacecraftState... meanStates)
The short period terms that will be updated
are the ones that were returned during the call to DSSTForceModel.initialize(AuxiliaryElements, PropagationType, double[]).
updateShortPeriodTerms in interface DSSTForceModelparameters - values of the force model parametersmeanStates - mean states information: date, kinematics, attitudepublic <T extends RealFieldElement<T>> void updateShortPeriodTerms(T[] parameters, FieldSpacecraftState<T>... meanStates)
The short period terms that will be updated
are the ones that were returned during the call to DSSTForceModel.initialize(AuxiliaryElements, PropagationType, double[]).
updateShortPeriodTerms in interface DSSTForceModelT - type of the elementsparameters - values of the force model parametersmeanStates - mean states information: date, kinematics, attitudepublic ParameterDriver[] getParametersDrivers()
getParametersDrivers in interface DSSTForceModelpublic EventDetector[] getEventsDetectors()
getEventsDetectors in interface DSSTForceModelpublic <T extends RealFieldElement<T>> FieldEventDetector<T>[] getFieldEventsDetectors(Field<T> field)
getFieldEventsDetectors in interface DSSTForceModelT - type of the elementsfield - field used by defaultpublic void registerAttitudeProvider(AttitudeProvider attitudeProvider)
Register an attitude provider that can be used by the force model.
registerAttitudeProvider in interface DSSTForceModelattitudeProvider - the AttitudeProviderCopyright © 2002-2019 CS Systèmes d'information. All rights reserved.