Class CartesianAdjointDerivativesProvider

  • All Implemented Interfaces:
    AdditionalDerivativesProvider

    public class CartesianAdjointDerivativesProvider
    extends Object
    implements AdditionalDerivativesProvider
    Class defining the adjoint dynamics, as defined in the Pontryagin Maximum Principle, in the case where Cartesian coordinates in an inertial frame are the dependent variable. The time derivatives of the adjoint variables are obtained by differentiating the so-called Hamiltonian. They depend on the force model and the cost being minimized. For the former, it is the user's responsibility to make sure the provided CartesianAdjointEquationTerm are consistent with the ForceModel. For the latter, the cost function is represented through the interface CartesianCost.
    Since:
    12.2
    Author:
    Romain Serra
    See Also:
    AdditionalDerivativesProvider, NumericalPropagator
    • Constructor Detail

      • CartesianAdjointDerivativesProvider

        public CartesianAdjointDerivativesProvider​(CartesianCost cost,
                                                   CartesianAdjointEquationTerm... adjointEquationTerms)
        Constructor.
        Parameters:
        cost - cost function
        adjointEquationTerms - terms contributing to the adjoint equations. If none, then the propagator should have no forces, not even a Newtonian attraction.
    • Method Detail

      • getCost

        public CartesianCost getCost()
        Getter for the cost.
        Returns:
        cost
      • init

        public void init​(SpacecraftState initialState,
                         AbsoluteDate target)
        Initialize the generator at the start of propagation.
        Specified by:
        init in interface AdditionalDerivativesProvider
        Parameters:
        initialState - initial state information at the start of propagation
        target - date of propagation
      • combinedDerivatives

        public CombinedDerivatives combinedDerivatives​(SpacecraftState state)
        Compute the derivatives related to the additional state (and optionally main state increments).
        Specified by:
        combinedDerivatives in interface AdditionalDerivativesProvider
        Parameters:
        state - current state information: date, kinematics, attitude, and additional states this equations depend on (according to the yields method)
        Returns:
        computed combined derivatives, which may include some incremental coupling effect to add to main state derivatives
      • evaluateHamiltonian

        public double evaluateHamiltonian​(SpacecraftState state)
        Evaluate the Hamiltonian from Pontryagin's Maximum Principle.
        Parameters:
        state - state assumed to hold the adjoint variables
        Returns:
        Hamiltonian