Class AbstractMatricesHarvester
- All Implemented Interfaces:
MatricesHarvester
- Direct Known Subclasses:
AbstractAnalyticalMatricesHarvester,DSSTHarvester
additional state arrays.- Since:
- 11.1
- Author:
- Luc Maisonobe
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDefault state dimension, equivalent to position and velocity vectors. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract voidFreeze the names of the Jacobian columns.double[]getInitialJacobianColumn(String columnName) Get the initial column of Jacobian matrix with respect to named parameter.Get the initial State Transition Matrix.intGetter for the state dimension.Get the State Transition Matrix state name.protected voidsetInitialJacobianColumns(DoubleArrayDictionary initialJacobianColumns) Set the initial columns of the Jacobians matrix with respect to parameters.protected voidsetInitialStm(String name, RealMatrix stm) Set the initial State Transition Matrix.voidsetReferenceState(SpacecraftState reference) Set up reference state.double[]toArray(double[][] matrix) Set the STM data into an array.toSquareMatrix(double[] array) Convert a flattened array to a square matrix.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.propagation.MatricesHarvester
getJacobiansColumnsNames, getOrbitType, getParametersJacobian, getPositionAngleType, getStateJacobianVsBuilderParameters, getStateTransitionMatrix
-
Field Details
-
DEFAULT_STATE_DIMENSION
public static final int DEFAULT_STATE_DIMENSIONDefault state dimension, equivalent to position and velocity vectors.- See Also:
-
-
Constructor Details
-
AbstractMatricesHarvester
public AbstractMatricesHarvester()Empty constructor.This constructor is not strictly necessary, but it prevents spurious javadoc warnings with JDK 18 and later.
- Since:
- 14.0
-
-
Method Details
-
setInitialStm
Set the initial State Transition Matrix.The arguments for initial matrices must be compatible with the
orbit typeandposition anglethat will be used by propagator, which may be different from input and output- Parameters:
name- State Transition Matrix state namestm- initial State Transition Matrix āY/āIā if null (which is the most frequent case), input and output orbit types are assumed to be identical and the matrix is assumed to be the 6x6 identity
-
setInitialJacobianColumns
Set the initial columns of the Jacobians matrix with respect to parameters.The arguments for initial matrices must be compatible with the
orbit typeandposition anglethat will be used by propagator- Parameters:
initialJacobianColumns- 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
-
getStateDimension
public int getStateDimension()Getter for the state dimension.- Returns:
- state dimension
- Since:
- 13.1
-
getStmName
Get the State Transition Matrix state name.- Returns:
- State Transition Matrix state name
-
getInitialStateTransitionMatrix
Get the initial State Transition Matrix.- Returns:
- initial State Transition Matrix
-
getInitialJacobianColumn
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
-
toSquareMatrix
Convert a flattened array to a square matrix.- Parameters:
array- input array- Returns:
- the corresponding matrix
- Since:
- 13.1
-
toArray
public double[] toArray(double[][] matrix) Set the STM data into an array.- Parameters:
matrix- STM matrix- Returns:
- an array containing the STM data
- Since:
- 13.1
-
setReferenceState
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:
setReferenceStatein interfaceMatricesHarvester- Parameters:
reference- reference state to set
-
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
-