public class DSSTJ2SquaredClosedForm extends Object implements DSSTForceModel
The force model implements a closed-form of the J2-squared perturbation. The full realization of the model is based on a gaussian quadrature. Even if it is very accurate, a gaussian quadrature is usually time consuming. A closed-form is less accurate than a gaussian quadrature, but faster.
DATATION_ACCURACY| Constructor and Description |
|---|
DSSTJ2SquaredClosedForm(J2SquaredModel j2SquaredModel,
UnnormalizedSphericalHarmonicsProvider provider)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getMeanElementRate(FieldSpacecraftState<T> state,
FieldAuxiliaryElements<T> auxiliaryElements,
T[] parameters)
Computes the mean equinoctial elements rates dai / dt.
|
double[] |
getMeanElementRate(SpacecraftState state,
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)
Performs initialization prior to propagation for the current force model.
|
<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 attitudeProvider)
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, waitextractParameters, extractParameters, getEventDetectors, getFieldEventDetectors, init, initgetNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupportedgetEventDetectors, getFieldEventDetectorspublic DSSTJ2SquaredClosedForm(J2SquaredModel j2SquaredModel, UnnormalizedSphericalHarmonicsProvider provider)
j2SquaredModel - model for second order termsprovider - gravity field to usepublic double[] getMeanElementRate(SpacecraftState state, AuxiliaryElements auxiliaryElements, double[] parameters)
getMeanElementRate in interface DSSTForceModelstate - 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> state, FieldAuxiliaryElements<T> auxiliaryElements, T[] parameters)
getMeanElementRate in interface DSSTForceModelT - type of the elementsstate - 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 List<ShortPeriodTerms> initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters)
This method aims at being called at the very beginning of a propagation.
.initializeShortPeriodTerms in interface DSSTForceModelauxiliaryElements - 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.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 DSSTForceModelT - 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 List<ParameterDriver> getParametersDrivers()
getParametersDrivers in interface ParameterDriversProviderpublic void registerAttitudeProvider(AttitudeProvider attitudeProvider)
Register an attitude provider that can be used by the force model.
.registerAttitudeProvider in interface DSSTForceModelattitudeProvider - the AttitudeProviderpublic 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 DSSTForceModelparameters - 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 DSSTForceModelT - 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, attitudeCopyright © 2002-2023 CS GROUP. All rights reserved.