Hi @samuele,
You are very welcome!
Method configureDerivatives
adds what we call AdditionalEquations
to the propagator, it’s a set of equations that will be integrated along with the orbit of the spacecraft during propagation.
In the case of PartialDerivativesEquations
the equations provided are the so-called variational equations \frac{\partial \frac{\partial Y}{\partial Y_0}}{\partial t} where Y is the state vector (position/velocity) at t and Y_0 the state vector at t_0.
Integrating these gives you the matrix \frac{\partial Y}{\partial Y_0} that you retrieve in the code with JacobiansMapper.getStateJacobian
Regarding the name, I don’t think it’s important to you, you can just put it to “derivatives”.
It’s useful in Orekit when you add several additional equations to a propagator. After propagation you can get each integrated additional state using their respective name.
Since you only need one additional equations in your case, you don’t really need this feature.
Plus you’re using the JacobiansMapper
that already encapsulates the PartialDerivativesEquation
so this name is really not important here.
Note that these interfaces are known to be cumbersome and @luc just changed them in the development branch of Orekit Java.
They will be deprecated in next Orekit version; and replaced by a more user-friendly API.
By the way, an example of an OD run using the propagator is given in AbstractBatchLSModel.value method.
Do:
propagator = propagator_builder.buildPropagator(propagator_builder..getSelectedNormalizedParameters())
Normalization was introduced to avoid numerical errors when manipulating matrix in the batch least-square (or Kalman) estimators.
If you don’t use Orekit OD features you will have to handle it by yourself.
Normalization for the batch LS is done in Orekit in AbstractBatchLSModel.fetchEvaluatedMeasurement
.
Parameters are normalized using their scale
attribute while measurements are normalized using their sigmas
(.i.e. their theoretical standard deviations).
You can read more about normaliaztion (and about OD in Orekit) in the official documentation here.
Maxime