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.
|
DATATION_ACCURACY| Constructor and Description |
|---|
DSSTTesseral(Frame centralBodyFrame,
double centralBodyRotationRate,
UnnormalizedSphericalHarmonicsProvider provider)
Simple constructor with default reference values.
|
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 |
|---|---|
<T extends org.hipparchus.CalculusFieldElement<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.
|
List<ParameterDriver> |
getParametersDrivers()
Get the drivers for parameters.
|
List<ShortPeriodTerms> |
initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements,
PropagationType type,
double[] parameters)
Performs initialization prior to propagation for the current force model.
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
initializeShortPeriodTerms(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 org.hipparchus.CalculusFieldElement<T>> |
updateShortPeriodTerms(T[] parameters,
FieldSpacecraftState<T>... meanStates)
Update the short period terms.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitextractParameters, extractParameters, getEventDetectors, getFieldEventDetectors, init, initgetNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupportedgetEventDetectors, getFieldEventDetectorspublic 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)
When this constructor is used, maximum allowed values are used for the short periodic coefficients:
maxDegreeTesseralSP is set to provider.getMaxDegree() maxOrderTesseralSP is set to provider.getMaxOrder(). maxEccPowTesseralSP is set to min(4, provider.getMaxOrder()) maxFrequencyShortPeriodics is set to min(provider.getMaxDegree() + 4, 12).
This parameter should not exceed 12 as higher values will exceed computer capacity maxDegreeMdailyTesseralSP is set to provider.getMaxDegree() maxOrderMdailyTesseralSP is set to provider.getMaxOrder() maxEccPowMdailyTesseralSP is set to min(provider.getMaxDegree() - 2, 4).
This parameter should not exceed 4 as higher values will exceed computer capacity centralBodyFrame - rotating body framecentralBodyRotationRate - central body rotation rate (rad/s)provider - provider for spherical harmonicspublic 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 capacity
(must be between 0 and provider.getMaxOrder() though, however if order = 0 the value can be anything
since it won't be used in the code)maxFrequencyShortPeriodics - 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> initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters)
This method aims at being called at the very beginning of a propagation.
initializeShortPeriodTerms in interface DSSTForceModelauxiliaryElements - auxiliary elements related to the current orbittype - type of the elements used during the propagationparameters - values of the force model parameters for specific date
(1 value only per parameter driver) obtained for example by calling
ParameterDriversProvider.getParameters(AbsoluteDate) on force model.public <T extends org.hipparchus.CalculusFieldElement<T>> List<FieldShortPeriodTerms<T>> initializeShortPeriodTerms(FieldAuxiliaryElements<T> auxiliaryElements, PropagationType type, T[] parameters)
This method aims at being called at the very beginning of a propagation.
initializeShortPeriodTerms 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 parameters for specific date
(1 value only per parameter driver) obtained for example by calling
ParameterDriversProvider.getParameters(AbsoluteDate) on force model or
AbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)
on gradient converter.public 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 parameters at state date (only 1 span for
each parameter driver) obtained for example by calling ParameterDriversProvider.getParameters(AbsoluteDate)
on force model.public <T extends org.hipparchus.CalculusFieldElement<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 parameters at state date (only 1 span for
each parameter driver) obtained for example by calling ParameterDriversProvider.getParameters(Field, FieldAbsoluteDate)
on force model or
AbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)
on gradient converter.public 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.initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[]).
updateShortPeriodTerms in interface DSSTForceModelparameters - values of the force model parameters (all span values for each parameters)
obtained for example by calling
ParameterDriversProvider.getParametersAllValues()
on force model. The extract parameter method DSSTForceModel.extractParameters(double[], AbsoluteDate) is called in
the method to select the right parameter corresponding to the mean state date.meanStates - mean states information: date, kinematics, attitudepublic <T extends org.hipparchus.CalculusFieldElement<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.initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[]).
updateShortPeriodTerms in interface DSSTForceModelT - type of the elementsparameters - values of the force model parameters (all span values for each parameters)
obtained for example by calling ParameterDriversProvider.getParametersAllValues(Field) on force model or
AbstractGradientConverter.getParameters(FieldSpacecraftState, ParameterDriversProvider)
on gradient converter. The extract parameter method
DSSTForceModel.extractParameters(CalculusFieldElement[], FieldAbsoluteDate) is called in
the method to select the right parameter.meanStates - mean states information: date, kinematics, attitudepublic List<ParameterDriver> getParametersDrivers()
getParametersDrivers in interface ParameterDriversProviderpublic void registerAttitudeProvider(AttitudeProvider attitudeProvider)
Register an attitude provider that can be used by the force model.
registerAttitudeProvider in interface DSSTForceModelattitudeProvider - the AttitudeProviderCopyright © 2002-2023 CS GROUP. All rights reserved.