public class DSSTThirdBody extends Object implements DSSTForceModel
DSSTPropagator
.Modifier and Type | Field and Description |
---|---|
static String |
ATTRACTION_COEFFICIENT
Name of the single parameter of this model: the attraction coefficient.
|
static String |
SHORT_PERIOD_PREFIX
Name of the prefix for short period coefficients keys.
|
Constructor and Description |
---|
DSSTThirdBody(CelestialBody body,
double mu)
Complete constructor.
|
Modifier and Type | Method and Description |
---|---|
CelestialBody |
getBody()
Get third body.
|
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> 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.
|
List<ParameterDriver> |
getParametersDrivers()
Get the drivers for force model parameters.
|
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.
|
<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 provider)
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 static final String ATTRACTION_COEFFICIENT
public DSSTThirdBody(CelestialBody body, double mu)
body
- the 3rd body to considermu
- central attraction coefficientCelestialBodies
public CelestialBody getBody()
public List<ShortPeriodTerms> initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters)
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.
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.
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 currentState, AuxiliaryElements auxiliaryElements, double[] parameters)
getMeanElementRate
in interface DSSTForceModel
currentState
- 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> currentState, FieldAuxiliaryElements<T> auxiliaryElements, T[] parameters)
getMeanElementRate
in interface DSSTForceModel
T
- type of the elementscurrentState
- current state information: date, kinematics, attitudeauxiliaryElements
- auxiliary elements related to the current orbitparameters
- values of the force model parameterspublic 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 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 provider)
Register an attitude provider that can be used by the force model.
registerAttitudeProvider
in interface DSSTForceModel
provider
- the AttitudeProvider
public List<ParameterDriver> getParametersDrivers()
getParametersDrivers
in interface DSSTForceModel
Copyright © 2002-2022 CS GROUP. All rights reserved.