Class DSSTJ2SquaredClosedForm
- All Implemented Interfaces:
EventDetectorsProvider,DSSTForceModel,ParameterDriversProvider
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.
- Since:
- 12.0
- Author:
- Bryan Cazabonne
-
Field Summary
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY -
Constructor Summary
ConstructorsConstructorDescriptionDSSTJ2SquaredClosedForm(J2SquaredModel j2SquaredModel, UnnormalizedSphericalHarmonicsProvider provider) Constructor. -
Method Summary
Modifier and TypeMethodDescription<T extends CalculusFieldElement<T>>
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.Get the drivers for parameters.initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters) Performs initialization prior to propagation for the current force model.<T extends CalculusFieldElement<T>>
List<FieldShortPeriodTerms<T>> initializeShortPeriodTerms(FieldAuxiliaryElements<T> auxiliaryElements, PropagationType type, T[] parameters) Performs initialization prior to propagation for the current force model.voidregisterAttitudeProvider(AttitudeProvider attitudeProvider) Register an attitude provider.voidupdateShortPeriodTerms(double[] parameters, SpacecraftState... meanStates) Update the short period terms.<T extends CalculusFieldElement<T>>
voidupdateShortPeriodTerms(T[] parameters, FieldSpacecraftState<T>... meanStates) Update the short period terms.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.propagation.semianalytical.dsst.forces.DSSTForceModel
extractParameters, extractParameters, getEventDetectors, getFieldEventDetectors, init, initMethods inherited from interface org.orekit.propagation.events.EventDetectorsProvider
getDateDetector, getEventDetectors, getFieldDateDetector, getFieldEventDetectorsMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Constructor Details
-
DSSTJ2SquaredClosedForm
public DSSTJ2SquaredClosedForm(J2SquaredModel j2SquaredModel, UnnormalizedSphericalHarmonicsProvider provider) Constructor.- Parameters:
j2SquaredModel- model for second order termsprovider- gravity field to use
-
-
Method Details
-
getMeanElementRate
public double[] getMeanElementRate(SpacecraftState state, AuxiliaryElements auxiliaryElements, double[] parameters) Computes the mean equinoctial elements rates dai / dt..- Specified by:
getMeanElementRatein interfaceDSSTForceModel- Parameters:
state- 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 callingParameterDriversProvider.getParameters(AbsoluteDate)on force model.- Returns:
- the mean element rates dai/dt
-
getMeanElementRate
public <T extends CalculusFieldElement<T>> T[] getMeanElementRate(FieldSpacecraftState<T> state, FieldAuxiliaryElements<T> auxiliaryElements, T[] parameters) Computes the mean equinoctial elements rates dai / dt..- Specified by:
getMeanElementRatein interfaceDSSTForceModel- Type Parameters:
T- type of the elements- Parameters:
state- 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 callingParameterDriversProvider.getParameters(Field, FieldAbsoluteDate)on force model orAbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)on gradient converter.- Returns:
- the mean element rates dai/dt
-
initializeShortPeriodTerms
public List<ShortPeriodTerms> initializeShortPeriodTerms(AuxiliaryElements auxiliaryElements, PropagationType type, double[] parameters) Performs initialization prior to propagation for the current force model.This method aims at being called at the very beginning of a propagation.
.- Specified by:
initializeShortPeriodTermsin interfaceDSSTForceModel- Parameters:
auxiliaryElements- 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 callingParameterDriversProvider.getParameters(AbsoluteDate)on force model.- 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)
-
initializeShortPeriodTerms
public <T extends CalculusFieldElement<T>> List<FieldShortPeriodTerms<T>> initializeShortPeriodTerms(FieldAuxiliaryElements<T> auxiliaryElements, PropagationType type, T[] parameters) Performs initialization prior to propagation for the current force model.This method aims at being called at the very beginning of a propagation.
.- Specified by:
initializeShortPeriodTermsin interfaceDSSTForceModel- Type Parameters:
T- type of the elements- Parameters:
auxiliaryElements- 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 callingParameterDriversProvider.getParameters(AbsoluteDate)on force model orAbstractGradientConverter.getParametersAtStateDate(FieldSpacecraftState, ParameterDriversProvider)on gradient converter.- 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)
-
getParametersDrivers
Get the drivers for parameters..- Specified by:
getParametersDriversin interfaceParameterDriversProvider- Returns:
- drivers for parameters
-
registerAttitudeProvider
Register an attitude provider.Register an attitude provider that can be used by the force model.
.- Specified by:
registerAttitudeProviderin interfaceDSSTForceModel- Parameters:
attitudeProvider- theAttitudeProvider
-
updateShortPeriodTerms
Update the short period terms.The
.short period termsthat will be updated are the ones that were returned during the call toDSSTForceModel.initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[]).- Specified by:
updateShortPeriodTermsin interfaceDSSTForceModel- Parameters:
parameters- values of the force model parameters (all span values for each parameters) obtained for example by callingParameterDriversProvider.getParametersAllValues()on force model. The extract parameter methodDSSTForceModel.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, attitude
-
updateShortPeriodTerms
public <T extends CalculusFieldElement<T>> void updateShortPeriodTerms(T[] parameters, FieldSpacecraftState<T>... meanStates) Update the short period terms.The
.short period termsthat will be updated are the ones that were returned during the call toDSSTForceModel.initializeShortPeriodTerms(AuxiliaryElements, PropagationType, double[]).- Specified by:
updateShortPeriodTermsin interfaceDSSTForceModel- Type Parameters:
T- type of the elements- Parameters:
parameters- values of the force model parameters (all span values for each parameters) obtained for example by callingParameterDriversProvider.getParametersAllValues(Field)on force model orAbstractGradientConverter.getParameters(FieldSpacecraftState, ParameterDriversProvider)on gradient converter. The extract parameter methodDSSTForceModel.extractParameters(CalculusFieldElement[], FieldAbsoluteDate)is called in the method to select the right parameter.meanStates- mean states information: date, kinematics, attitude
-