Class AbstractMatricesHarvester
- java.lang.Object
-
- org.orekit.propagation.AbstractMatricesHarvester
-
- All Implemented Interfaces:
MatricesHarvester
- Direct Known Subclasses:
AbstractAnalyticalMatricesHarvester
,DSSTHarvester
public abstract class AbstractMatricesHarvester extends Object implements MatricesHarvester
Base harvester between two-dimensional Jacobian matrices and one-dimensionaladditional state arrays
.- Since:
- 11.1
- Author:
- Luc Maisonobe
-
-
Field Summary
Fields Modifier and Type Field Description static int
STATE_DIMENSION
State dimension, fixed to 6.
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractMatricesHarvester(String stmName, RealMatrix initialStm, DoubleArrayDictionary initialJacobianColumns)
Simple constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
freezeColumnsNames()
Freeze the names of the Jacobian columns.protected double[][]
getConversionJacobian(SpacecraftState state)
Get the conversion Jacobian between state parameters and parameters used for derivatives.double[]
getInitialJacobianColumn(String columnName)
Get the initial column of Jacobian matrix with respect to named parameter.RealMatrix
getInitialStateTransitionMatrix()
Get the initial State Transition Matrix.RealMatrix
getParametersJacobian(SpacecraftState state)
Get the Jacobian with respect to propagation parameters.RealMatrix
getStateTransitionMatrix(SpacecraftState state)
Extract state transition matrix from state.String
getStmName()
Get the State Transition Matrix state name.void
setReferenceState(SpacecraftState reference)
Set up reference state.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.propagation.MatricesHarvester
getJacobiansColumnsNames, getOrbitType, getPositionAngleType
-
-
-
-
Field Detail
-
STATE_DIMENSION
public static final int STATE_DIMENSION
State dimension, fixed to 6.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractMatricesHarvester
protected AbstractMatricesHarvester(String stmName, RealMatrix initialStm, DoubleArrayDictionary initialJacobianColumns)
Simple constructor.The arguments for initial matrices must be compatible with the
orbit type
andposition angle
that will be used by propagator- Parameters:
stmName
- State Transition Matrix state nameinitialStm
- initial State Transition Matrix ∂Y/∂Y₀, if null (which is the most frequent case), assumed to be 6x6 identityinitialJacobianColumns
- initial columns of the Jacobians matrix with respect to parameters, if null or if some selected parameters are missing from the dictionary, the corresponding initial column is assumed to be 0
-
-
Method Detail
-
getStmName
public String getStmName()
Get the State Transition Matrix state name.- Returns:
- State Transition Matrix state name
-
getInitialStateTransitionMatrix
public RealMatrix getInitialStateTransitionMatrix()
Get the initial State Transition Matrix.- Returns:
- initial State Transition Matrix
-
getInitialJacobianColumn
public double[] getInitialJacobianColumn(String columnName)
Get the initial column of Jacobian matrix with respect to named parameter.- Parameters:
columnName
- name of the column- Returns:
- initial column of the Jacobian matrix
-
getConversionJacobian
protected double[][] getConversionJacobian(SpacecraftState state)
Get the conversion Jacobian between state parameters and parameters used for derivatives.The base implementation returns identity, which is suitable for DSST and TLE propagators, as state parameters and parameters used for derivatives are the same.
For Numerical propagator, parameters used for derivatives are Cartesian and they can be different from state parameters because the numerical propagator can accept different type of orbits, so the method is overridden in derived classes.
- Parameters:
state
- spacecraft state- Returns:
- conversion Jacobian
-
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
- Parameters:
reference
- reference state to set
-
getStateTransitionMatrix
public RealMatrix getStateTransitionMatrix(SpacecraftState state)
Extract state transition matrix from state.- Specified by:
getStateTransitionMatrix
in interfaceMatricesHarvester
- 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
- Parameters:
state
- spacecraft state- Returns:
- Jacobian with respect to propagation parameters, or null if there are no parameters
-
freezeColumnsNames
public abstract void freezeColumnsNames()
Freeze the names of the Jacobian columns.This method is called when propagation starts, i.e. when configuration is completed
-
-