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 CelestialBody
getBody()
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.void
initializeStep(AuxiliaryElements aux)
Performs initialization at each integration step for the current force model.void
registerAttitudeProvider(AttitudeProvider provider)
Register an attitude provider.void
updateShortPeriodTerms(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:
initialize
in 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:
initializeStep
in 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:
getMeanElementRate
in 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 terms
that will be updated are the ones that were returned during the call toDSSTForceModel.initialize(AuxiliaryElements, boolean)
.- Specified by:
updateShortPeriodTerms
in interfaceDSSTForceModel
- Parameters:
meanStates
- mean states information: date, kinematics, attitude
-
getEventsDetectors
public EventDetector[] getEventsDetectors()
Get the discrete events related to the model.- Specified by:
getEventsDetectors
in 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:
registerAttitudeProvider
in interfaceDSSTForceModel
- Parameters:
provider
- theAttitudeProvider
-
-