Class DSSTThirdBody
- java.lang.Object
-
- org.orekit.propagation.semianalytical.dsst.forces.DSSTThirdBody
-
- All Implemented Interfaces:
DSSTForceModel
public class DSSTThirdBody extends Object implements DSSTForceModel
Third body attraction perturbation to theDSSTPropagator.- Author:
- Romain Di Costanzo, Pascal Parraud
-
-
Constructor Summary
Constructors Constructor Description DSSTThirdBody(CelestialBody body)Complete constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CelestialBodygetBody()Get third body.EventDetector[]getEventsDetectors()Get the discrete events related to the model.double[]getMeanElementRate(SpacecraftState currentState)Computes the mean equinoctial elements rates dai / dt.List<ShortPeriodTerms>initialize(AuxiliaryElements aux, boolean meanOnly)Computes the highest power of the eccentricity and the highest power of a/R3 to appear in the truncated analytical power series expansion.voidinitializeStep(AuxiliaryElements aux)Performs initialization at each integration step for the current force model.voidregisterAttitudeProvider(AttitudeProvider provider)Register an attitude provider.voidupdateShortPeriodTerms(SpacecraftState... meanStates)Update the short period terms.
-
-
-
Constructor Detail
-
DSSTThirdBody
public DSSTThirdBody(CelestialBody body)
Complete constructor.- Parameters:
body- the 3rd body to consider- See Also:
CelestialBodyFactory
-
-
Method Detail
-
getBody
public CelestialBody getBody()
Get third body.- Returns:
- third body
-
initialize
public List<ShortPeriodTerms> initialize(AuxiliaryElements aux, boolean meanOnly)
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:
initializein interfaceDSSTForceModel- Parameters:
aux- auxiliary elements related to the current orbitmeanOnly- only mean elements will be used for the propagation- 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)
-
initializeStep
public void initializeStep(AuxiliaryElements aux)
Performs initialization at each integration step for the current force model.This method aims at being called before mean elements rates computation.
- Specified by:
initializeStepin interfaceDSSTForceModel- Parameters:
aux- auxiliary elements related to the current orbit
-
getMeanElementRate
public double[] getMeanElementRate(SpacecraftState currentState)
Computes the mean equinoctial elements rates dai / dt.- Specified by:
getMeanElementRatein interfaceDSSTForceModel- Parameters:
currentState- current state information: date, kinematics, attitude- Returns:
- the mean element rates dai/dt
-
updateShortPeriodTerms
public void updateShortPeriodTerms(SpacecraftState... meanStates)
Update the short period terms.The
short period termsthat will be updated are the ones that were returned during the call toDSSTForceModel.initialize(AuxiliaryElements, boolean).- Specified by:
updateShortPeriodTermsin interfaceDSSTForceModel- Parameters:
meanStates- mean states information: date, kinematics, attitude
-
getEventsDetectors
public EventDetector[] getEventsDetectors()
Get the discrete events related to the model.- Specified by:
getEventsDetectorsin interfaceDSSTForceModel- Returns:
- array of events detectors or null if the model is not related to any discrete events
-
registerAttitudeProvider
public void registerAttitudeProvider(AttitudeProvider provider)
Register an attitude provider.Register an attitude provider that can be used by the force model.
- Specified by:
registerAttitudeProviderin interfaceDSSTForceModel- Parameters:
provider- theAttitudeProvider
-
-