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-dimensional additional state arrays.
Since:
11.1
Author:
Luc Maisonobe
  • Field Details

    • DEFAULT_STATE_DIMENSION

      public static final int DEFAULT_STATE_DIMENSION
      Default 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

      protected void setInitialStm(String name, RealMatrix stm)
      Set the initial State Transition Matrix.

      The arguments for initial matrices must be compatible with the orbit type and position angle that will be used by propagator, which may be different from input and output

      Parameters:
      name - State Transition Matrix state name
      stm - 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

      protected void setInitialJacobianColumns(DoubleArrayDictionary initialJacobianColumns)
      Set the initial columns of the Jacobians matrix with respect to parameters.

      The arguments for initial matrices must be compatible with the orbit type and position angle that 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

      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
    • toSquareMatrix

      public RealMatrix toSquareMatrix(double[] array)
      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

      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 interface MatricesHarvester
      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