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 double |
BIG_TRUNCATION_TOLERANCE
Truncation tolerance for big, eccentric orbits.
|
static int |
MAX_POWER
Max power for summation.
|
static String |
SHORT_PERIOD_PREFIX
Name of the prefix for short period coefficients keys.
|
static double |
SMALL_TRUNCATION_TOLERANCE
Truncation tolerance for small orbits.
|
DATATION_ACCURACY
Constructor and Description |
---|
DSSTThirdBody(CelestialBody body,
double mu)
Complete constructor.
|
Modifier and Type | Method and Description |
---|---|
CelestialBody |
getBody()
Get third body.
|
<T extends org.hipparchus.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 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 org.hipparchus.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 org.hipparchus.CalculusFieldElement<T>> |
updateShortPeriodTerms(T[] parameters,
FieldSpacecraftState<T>... meanStates)
Update the short period terms.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
extractParameters, extractParameters, getEventDetectors, getFieldEventDetectors, init, init
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
getEventDetectors, getFieldEventDetectors
public static final String SHORT_PERIOD_PREFIX
public static final String ATTRACTION_COEFFICIENT
public static final int MAX_POWER
public static final double BIG_TRUNCATION_TOLERANCE
public static final double SMALL_TRUNCATION_TOLERANCE
public DSSTThirdBody(CelestialBody body, double mu)
body
- the 3rd body to considermu
- central attraction coefficient
(i.e., attraction coefficient of the central body, not the one of the 3rd body)CelestialBodies
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 parameters for state date (1 value for each parameters)public <T extends org.hipparchus.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 parameters for specific date
(1 value only per parameter driver) obtained for example by calling
ParameterDriversProvider.getParameters(AbsoluteDate)
on force model or
AbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)
on gradient converter.public 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 parameters at state date (only 1 span for
each parameter driver) obtained for example by calling ParameterDriversProvider.getParameters(AbsoluteDate)
on force model.public <T extends org.hipparchus.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 parameters at state date (only 1 span for
each parameter driver) obtained for example by calling ParameterDriversProvider.getParameters(Field, FieldAbsoluteDate)
on force model or
AbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)
on gradient converter.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 parameters (all span values for each parameters)
obtained for example by calling
ParameterDriversProvider.getParametersAllValues()
on force model. The extract parameter method DSSTForceModel.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, attitudepublic <T extends org.hipparchus.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 parameters (all span values for each parameters)
obtained for example by calling ParameterDriversProvider.getParametersAllValues(Field)
on force model or
AbstractGradientConverter.getParameters(FieldSpacecraftState, ParameterDriversProvider)
on gradient converter. The extract parameter method
DSSTForceModel.extractParameters(CalculusFieldElement[], FieldAbsoluteDate)
is called in
the method to select the right parameter.meanStates
- mean states information: date, kinematics, attitudepublic 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 ParameterDriversProvider
Copyright © 2002-2023 CS GROUP. All rights reserved.