Class DSSTHarvester
- java.lang.Object
-
- org.orekit.propagation.AbstractMatricesHarvester
-
- org.orekit.propagation.semianalytical.dsst.DSSTHarvester
-
- All Implemented Interfaces:
MatricesHarvester
public class DSSTHarvester extends AbstractMatricesHarvester
Harvester between two-dimensional Jacobian matrices and one-dimensionaladditional state arrays
.- Since:
- 11.1
- Author:
- Luc Maisonobe, Bryan Cazabonne
-
-
Field Summary
-
Fields inherited from class org.orekit.propagation.AbstractMatricesHarvester
STATE_DIMENSION
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
freezeColumnsNames()
Freeze the names of the Jacobian columns.RealMatrix
getB1()
Get the Jacobian matrix B1 (B1 = ∂εη/∂Y).RealMatrix
getB2(SpacecraftState state)
Get the Jacobian matrix B2 (B2 = ∂Y/∂Y₀).RealMatrix
getB3(SpacecraftState state)
Get the Jacobian matrix B3 (B3 = ∂Y/∂P).RealMatrix
getB4()
Get the Jacobian matrix B4 (B4 = ∂εη/∂c).List<String>
getJacobiansColumnsNames()
Get the names of the parameters in the matrix returned byMatricesHarvester.getParametersJacobian(org.orekit.propagation.SpacecraftState)
.OrbitType
getOrbitType()
Get the orbit type used for the matrix computation.RealMatrix
getParametersJacobian(SpacecraftState state)
Get the Jacobian with respect to propagation parameters.PositionAngleType
getPositionAngleType()
Get the position angle used for the matrix computation.RealMatrix
getStateTransitionMatrix(SpacecraftState state)
Extract state transition matrix from state.void
initializeFieldShortPeriodTerms(SpacecraftState reference)
Initialize the short periodic terms for the "field" elements.void
initializeFieldShortPeriodTerms(SpacecraftState reference, PropagationType type)
Initialize the short periodic terms for the "field" elements.void
setReferenceState(SpacecraftState reference)
Set up reference state.void
updateFieldShortPeriodTerms(SpacecraftState reference)
Update the short periodic terms for the "field" elements.-
Methods inherited from class org.orekit.propagation.AbstractMatricesHarvester
getConversionJacobian, getInitialJacobianColumn, getInitialStateTransitionMatrix, getStmName
-
-
-
-
Method Detail
-
getStateTransitionMatrix
public RealMatrix getStateTransitionMatrix(SpacecraftState state)
Extract state transition matrix from state.- Specified by:
getStateTransitionMatrix
in interfaceMatricesHarvester
- Overrides:
getStateTransitionMatrix
in classAbstractMatricesHarvester
- Parameters:
state
- spacecraft state- Returns:
- state transition matrix, with semantics consistent with propagation,
or null if no state transition matrix is available
orbit type
.
-
getParametersJacobian
public RealMatrix getParametersJacobian(SpacecraftState state)
Get the Jacobian with respect to propagation parameters.- Specified by:
getParametersJacobian
in interfaceMatricesHarvester
- Overrides:
getParametersJacobian
in classAbstractMatricesHarvester
- Parameters:
state
- spacecraft state- Returns:
- Jacobian with respect to propagation parameters, or null if there are no parameters
-
getB1
public RealMatrix getB1()
Get the Jacobian matrix B1 (B1 = ∂εη/∂Y).B1 represents the partial derivatives of the short period motion with respect to the mean equinoctial elements.
- Returns:
- the B1 jacobian matrix
-
getB2
public RealMatrix getB2(SpacecraftState state)
Get the Jacobian matrix B2 (B2 = ∂Y/∂Y₀).B2 represents the partial derivatives of the mean equinoctial elements with respect to the initial ones.
- Parameters:
state
- spacecraft state- Returns:
- the B2 jacobian matrix
-
getB3
public RealMatrix getB3(SpacecraftState state)
Get the Jacobian matrix B3 (B3 = ∂Y/∂P).B3 represents the partial derivatives of the mean equinoctial elements with respect to the estimated propagation parameters.
- Parameters:
state
- spacecraft state- Returns:
- the B3 jacobian matrix
-
getB4
public RealMatrix getB4()
Get the Jacobian matrix B4 (B4 = ∂εη/∂c).B4 represents the partial derivatives of the short period motion with respect to the estimated propagation parameters.
- Returns:
- the B4 jacobian matrix
-
freezeColumnsNames
public void freezeColumnsNames()
Freeze the names of the Jacobian columns.This method is called when proagation starts, i.e. when configuration is completed
- Specified by:
freezeColumnsNames
in classAbstractMatricesHarvester
-
getJacobiansColumnsNames
public List<String> getJacobiansColumnsNames()
Get the names of the parameters in the matrix returned byMatricesHarvester.getParametersJacobian(org.orekit.propagation.SpacecraftState)
.Beware that the names of the parameters are fully known only once all force models have been set up and their parameters properly selected. Applications that retrieve the matrices harvester first and select the force model parameters to retrieve afterwards (but obviously before starting propagation) must take care to wait until the parameters have been set up before they call this method. Calling the method too early would return wrong results.
The names are returned in the Jacobians matrix columns order
- Returns:
- names of the parameters (i.e. columns) of the Jacobian matrix
-
initializeFieldShortPeriodTerms
public void initializeFieldShortPeriodTerms(SpacecraftState reference)
Initialize the short periodic terms for the "field" elements.- Parameters:
reference
- current mean spacecraft state
-
initializeFieldShortPeriodTerms
public void initializeFieldShortPeriodTerms(SpacecraftState reference, PropagationType type)
Initialize the short periodic terms for the "field" elements.- Parameters:
reference
- current mean spacecraft statetype
- MEAN or OSCULATING
-
updateFieldShortPeriodTerms
public void updateFieldShortPeriodTerms(SpacecraftState reference)
Update the short periodic terms for the "field" elements.- Parameters:
reference
- current mean spacecraft state
-
setReferenceState
public void setReferenceState(SpacecraftState reference)
Set up reference state.This method is called whenever the global propagation reference state changes. This corresponds to the start of propagation in batch least squares orbit determination or at prediction step for each measurement in Kalman filtering. Its goal is to allow the harvester to compute some internal data. Analytical models like TLE use it to compute analytical derivatives, semi-analytical models like DSST use it to compute short periodic terms, numerical models do not use it at all.
- Specified by:
setReferenceState
in interfaceMatricesHarvester
- Overrides:
setReferenceState
in classAbstractMatricesHarvester
- Parameters:
reference
- reference state to set
-
getOrbitType
public OrbitType getOrbitType()
Get the orbit type used for the matrix computation.- Returns:
- the orbit type used for the matrix computation
-
getPositionAngleType
public PositionAngleType getPositionAngleType()
Get the position angle used for the matrix computation.Irrelevant if
MatricesHarvester.getOrbitType()
returnsOrbitType.CARTESIAN
.- Returns:
- the position angle used for the matrix computation
-
-