Class DSSTThirdBody
java.lang.Object
org.orekit.propagation.semianalytical.dsst.forces.DSSTThirdBody
- All Implemented Interfaces:
EventDetectorsProvider,DSSTForceModel,ParameterDriversProvider
Third body attraction perturbation to the
DSSTPropagator.- Author:
- Romain Di Costanzo, Pascal Parraud, Bryan Cazabonne (field translation)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringName of the single parameter of this model: the attraction coefficient.static final doubleTruncation tolerance for big, eccentric orbits.static final intMax power for summation.static final StringName of the prefix for short period coefficients keys.static final doubleTruncation tolerance for small orbits.Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetBody()Get third body.<T extends CalculusFieldElement<T>>
T[]getMeanElementRate(FieldSpacecraftState<T> currentState, FieldAuxiliaryElements<T> auxiliaryElements, T[] parameters) Computes the mean equinoctial elements rates dai / dt.double[]getMeanElementRate(SpacecraftState currentState, AuxiliaryElements auxiliaryElements, double[] parameters) Computes the mean equinoctial elements rates dai / dt.Get the drivers for parameters.initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters) Computes the highest power of the eccentricity and the highest power of a/R3 to appear in the truncated analytical power series expansion.<T extends CalculusFieldElement<T>>
List<FieldShortPeriodTerms<T>> initializeShortPeriodTerms(FieldAuxiliaryElements<T> auxiliaryElements, PropagationType type, T[] parameters) Performs initialization prior to propagation for the current force model.voidregisterAttitudeProvider(AttitudeProvider provider) Register an attitude provider.voidupdateShortPeriodTerms(double[] parameters, SpacecraftState... meanStates) Update the short period terms.<T extends CalculusFieldElement<T>>
voidupdateShortPeriodTerms(T[] parameters, FieldSpacecraftState<T>... meanStates) Update the short period terms.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.propagation.semianalytical.dsst.forces.DSSTForceModel
extractParameters, extractParameters, getEventDetectors, getFieldEventDetectors, init, initMethods inherited from interface org.orekit.propagation.events.EventDetectorsProvider
getDateDetector, getEventDetectors, getFieldDateDetector, getFieldEventDetectorsMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Field Details
-
SHORT_PERIOD_PREFIX
Name of the prefix for short period coefficients keys.- See Also:
-
ATTRACTION_COEFFICIENT
Name of the single parameter of this model: the attraction coefficient.- See Also:
-
MAX_POWER
public static final int MAX_POWERMax power for summation.- See Also:
-
BIG_TRUNCATION_TOLERANCE
public static final double BIG_TRUNCATION_TOLERANCETruncation tolerance for big, eccentric orbits.- See Also:
-
SMALL_TRUNCATION_TOLERANCE
public static final double SMALL_TRUNCATION_TOLERANCETruncation tolerance for small orbits.- See Also:
-
-
Constructor Details
-
DSSTThirdBody
Complete constructor.- Parameters:
body- the 3rd body to considermu- central attraction coefficient (i.e., attraction coefficient of the central body, not the one of the 3rd body)- See Also:
-
-
Method Details
-
getBody
Get third body.- Returns:
- third body
-
initializeShortPeriodTerms
public List<ShortPeriodTerms> initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters) Computes the highest power of the eccentricity and the highest power of a/R3 to appear in the truncated analytical power series expansion.This method computes the upper value for the 3rd body potential and determines the maximal powers for the eccentricity and a/R3 producing potential terms bigger than a defined tolerance.
- Specified by:
initializeShortPeriodTermsin interfaceDSSTForceModel- Parameters:
auxiliaryElements- auxiliary elements related to the current orbittype- type of the elements used during the propagationparameters- values of the force model parameters for state date (1 value for each parameters)- Returns:
- a list of objects that will hold short period terms (the objects are also retained by the force model, which will update them during propagation)
-
initializeShortPeriodTerms
public <T extends CalculusFieldElement<T>> List<FieldShortPeriodTerms<T>> initializeShortPeriodTerms(FieldAuxiliaryElements<T> auxiliaryElements, PropagationType type, T[] parameters) Performs initialization prior to propagation for the current force model.This method aims at being called at the very beginning of a propagation.
- Specified by:
initializeShortPeriodTermsin interfaceDSSTForceModel- Type Parameters:
T- type of the elements- Parameters:
auxiliaryElements- 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 callingParameterDriversProvider.getParameters(AbsoluteDate)on force model orAbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)on gradient converter.- Returns:
- a list of objects that will hold short period terms (the objects are also retained by the force model, which will update them during propagation)
-
getMeanElementRate
public double[] getMeanElementRate(SpacecraftState currentState, AuxiliaryElements auxiliaryElements, double[] parameters) Computes the mean equinoctial elements rates dai / dt.- Specified by:
getMeanElementRatein interfaceDSSTForceModel- Parameters:
currentState- 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 callingParameterDriversProvider.getParameters(AbsoluteDate)on force model.- Returns:
- the mean element rates dai/dt
-
getMeanElementRate
public <T extends CalculusFieldElement<T>> T[] getMeanElementRate(FieldSpacecraftState<T> currentState, FieldAuxiliaryElements<T> auxiliaryElements, T[] parameters) Computes the mean equinoctial elements rates dai / dt.- Specified by:
getMeanElementRatein interfaceDSSTForceModel- Type Parameters:
T- type of the elements- Parameters:
currentState- 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 callingParameterDriversProvider.getParameters(Field, FieldAbsoluteDate)on force model orAbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)on gradient converter.- Returns:
- the mean element rates dai/dt
-
updateShortPeriodTerms
Update the short period terms.The
short period termsthat will be updated are the ones that were returned during the call toDSSTForceModel.initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[]).- Specified by:
updateShortPeriodTermsin interfaceDSSTForceModel- Parameters:
parameters- values of the force model parameters (all span values for each parameters) obtained for example by callingParameterDriversProvider.getParametersAllValues()on force model. The extract parameter methodDSSTForceModel.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, attitude
-
updateShortPeriodTerms
public <T extends CalculusFieldElement<T>> void updateShortPeriodTerms(T[] parameters, FieldSpacecraftState<T>... meanStates) Update the short period terms.The
short period termsthat will be updated are the ones that were returned during the call toDSSTForceModel.initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[]).- Specified by:
updateShortPeriodTermsin interfaceDSSTForceModel- Type Parameters:
T- type of the elements- Parameters:
parameters- values of the force model parameters (all span values for each parameters) obtained for example by callingParameterDriversProvider.getParametersAllValues(Field)on force model orAbstractGradientConverter.getParameters(FieldSpacecraftState, ParameterDriversProvider)on gradient converter. The extract parameter methodDSSTForceModel.extractParameters(CalculusFieldElement[], FieldAbsoluteDate)is called in the method to select the right parameter.meanStates- mean states information: date, kinematics, attitude
-
registerAttitudeProvider
Register an attitude provider.Register an attitude provider that can be used by the force model.
- Specified by:
registerAttitudeProviderin interfaceDSSTForceModel- Parameters:
provider- theAttitudeProvider
-
getParametersDrivers
Get the drivers for parameters.- Specified by:
getParametersDriversin interfaceParameterDriversProvider- Returns:
- drivers for parameters
-