Commit f011d0d4 authored by Luc Maisonobe's avatar Luc Maisonobe
Browse files

Improved documentation.

parent ff068eb0
Pipeline #1552 passed with stages
in 25 minutes and 43 seconds
......@@ -25,6 +25,21 @@ import org.orekit.orbits.OrbitType;
import org.orekit.orbits.PositionAngle;
/** Base generator for one column of a Jacobian matrix.
* <p>
* Specialized versions of this class are used when estimating
* parameters (for example propagation parameters like drag coefficient,
* thrust or maneuver start date) in orbit determination or maneuver
* optimization.
* </p>
* <p>
* Some implementations may be based on closed-form expressions and
* will implement the {@link AdditionalStateProvider} interface whereas
* otherimplementations may be based on differential equations and will
* implement the {@link
* org.orekit.propagation.integration.AdditionalDerivativesProvider
* AdditionalDerivativesProvider} interface). This base class therefore
* does not specify how the column is generated and put into the state.
* </p>
* @author Luc Maisonobe
* @since 11.1
*/
......
......@@ -52,7 +52,7 @@ import org.orekit.forces.maneuvers.trigger.ManeuverTriggersResetter;
* \[\frac{\partial y_t}{\partial y_1} = \frac{\partial y_t}{\partial y_0} \left(\frac{\partial y_1}{\partial y_0}\right)^{-1}\].
* </p>
* <p>
* The Jacobian column can therefore be computed using the closed-form expression:
* The Jacobian column can therefore be computed using the following closed-form expression:
* \[\frac{\partial y_t}{\partial t_1}
* = \pm \frac{\partial y_t}{\partial y_0} \left(\frac{\partial y_1}{\partial y_0}\right)^{-1} f_m(t_1, y_1)
* = \frac{\partial y_t}{\partial y_0} c_1\]
......@@ -60,6 +60,11 @@ import org.orekit.forces.maneuvers.trigger.ManeuverTriggersResetter;
* by solving \(\frac{\partial y_1}{\partial y_0} c_1 = \pm f_m(t_1, y_1)\).
* </p>
* <p>
* As the column is generated using a closed-form expression, this generator implements
* the {@link AdditionalStateProvider} interface and stores the column directly
* in the premiary state during propagation.
* </p>
* <p>
* The implementation takes care to <em>not</em> resetting anything at propagation start.
* This allows to get proper Jacobian if we interrupt propagation in the middle of a maneuver
* and restart propagation where it left.
......
......@@ -21,6 +21,12 @@ import org.orekit.propagation.SpacecraftState;
import org.orekit.propagation.integration.AdditionalDerivativesProvider;
/** Generator for one column of a Jacobian matrix.
* <p>
* This generator is based on variational equations, so
* it implements {@link AdditionalDerivativesProvider} and
* computes only the derivative of the Jacobian column, to
* be integrated by the propagator alongside the primary state.
* </p>
* @author Luc Maisonobe
* @since 11.1
*/
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment