public class DSSTZonal extends Object implements DSSTForceModel
Modifier and Type | Field and Description |
---|---|
static String |
SHORT_PERIOD_PREFIX
Name of the prefix for short period coefficients keys.
|
Constructor and Description |
---|
DSSTZonal(UnnormalizedSphericalHarmonicsProvider provider)
Constructor with default reference values.
|
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.
|
<T extends CalculusFieldElement<T>> |
getFieldEventsDetectors(Field<T> field)
Get the discrete events related to the model.
|
<T extends 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 force model parameters.
|
UnnormalizedSphericalHarmonicsProvider |
getProvider()
Get the spherical harmonics provider.
|
List<ShortPeriodTerms> |
initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements,
PropagationType type,
double[] parameters)
Performs initialization prior to propagation for the current force model.
|
<T extends 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 CalculusFieldElement<T>> |
updateShortPeriodTerms(T[] parameters,
FieldSpacecraftState<T>... meanStates)
Update the short period terms.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getParameters, getParameters, init, init
public static final String SHORT_PERIOD_PREFIX
public DSSTZonal(UnnormalizedSphericalHarmonicsProvider provider)
When this constructor is used, maximum allowed values are used for the short periodic coefficients:
maxDegreeShortPeriodics
is set to provider.getMaxDegree()
maxEccPowShortPeriodics
is set to min(provider.getMaxDegree() - 1, 4)
.
This parameter should not exceed 4 as higher values will exceed computer capacity maxFrequencyShortPeriodics
is set to 2 * provider.getMaxDegree() + 1
provider
- provider for spherical harmonicspublic DSSTZonal(UnnormalizedSphericalHarmonicsProvider provider, int maxDegreeShortPeriodics, int maxEccPowShortPeriodics, int maxFrequencyShortPeriodics)
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
)public UnnormalizedSphericalHarmonicsProvider getProvider()
public List<ShortPeriodTerms> initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters)
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.
initializeShortPeriodTerms
in interface DSSTForceModel
auxiliaryElements
- auxiliary elements related to the current orbittype
- type of the elements used during the propagationparameters
- values of the force model parameterspublic <T extends 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.
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.
initializeShortPeriodTerms
in interface DSSTForceModel
T
- 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 DSSTForceModel
spacecraftState
- current state information: date, kinematics, attitudeauxiliaryElements
- auxiliary elements related to the current orbitparameters
- values of the force model parameterspublic <T extends CalculusFieldElement<T>> T[] getMeanElementRate(FieldSpacecraftState<T> spacecraftState, FieldAuxiliaryElements<T> auxiliaryElements, T[] parameters)
getMeanElementRate
in interface DSSTForceModel
T
- type of the elementsspacecraftState
- current state information: date, kinematics, attitudeauxiliaryElements
- auxiliary elements related to the current orbitparameters
- values of the force model parameterspublic EventDetector[] getEventsDetectors()
getEventsDetectors
in interface DSSTForceModel
public <T extends CalculusFieldElement<T>> FieldEventDetector<T>[] getFieldEventsDetectors(Field<T> field)
getFieldEventsDetectors
in interface DSSTForceModel
T
- 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 DSSTForceModel
attitudeProvider
- the AttitudeProvider
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 DSSTForceModel
parameters
- values of the force model parametersmeanStates
- mean states information: date, kinematics, attitudepublic <T extends 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 DSSTForceModel
T
- type of the elementsparameters
- values of the force model parametersmeanStates
- mean states information: date, kinematics, attitudepublic List<ParameterDriver> getParametersDrivers()
getParametersDrivers
in interface DSSTForceModel
Copyright © 2002-2022 CS GROUP. All rights reserved.