Class CartesianAdjointDerivativesProvider

java.lang.Object
org.orekit.control.indirect.adjoint.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:
  • Constructor Details

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

    • getCost

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

      public String getName()
      Getter for the name.
      Specified by:
      getName in interface AdditionalDerivativesProvider
      Returns:
      name
    • getDimension

      public int getDimension()
      Getter for the dimension.
      Specified by:
      getDimension in interface AdditionalDerivativesProvider
      Returns:
      dimension
    • 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