Class AbstractCartesianAdjointEquationTerm

java.lang.Object
org.orekit.control.indirect.adjoint.AbstractCartesianAdjointEquationTerm
All Implemented Interfaces:
CartesianAdjointEquationTerm
Direct Known Subclasses:
AbstractCartesianAdjointGravitationalTerm, CartesianAdjointInertialTerm

public abstract class AbstractCartesianAdjointEquationTerm extends Object implements CartesianAdjointEquationTerm
Abstract class to define terms in the adjoint equations and Hamiltonian for Cartesian coordinates.
Since:
12.2
Author:
Romain Serra
See Also:
  • Constructor Details

    • AbstractCartesianAdjointEquationTerm

      public AbstractCartesianAdjointEquationTerm()
  • Method Details

    • getRatesContribution

      public double[] getRatesContribution(AbsoluteDate date, double[] stateVariables, double[] adjointVariables, Frame frame)
      Computes the contribution to the rates of the adjoint variables.
      Specified by:
      getRatesContribution in interface CartesianAdjointEquationTerm
      Parameters:
      date - date
      stateVariables - state variables
      adjointVariables - adjoint variables
      frame - propagation frame
      Returns:
      contribution to the adjoint derivative vector
    • getHamiltonianContribution

      public double getHamiltonianContribution(AbsoluteDate date, double[] stateVariables, double[] adjointVariables, Frame frame)
      Computes the contribution to the Hamiltonian.
      Specified by:
      getHamiltonianContribution in interface CartesianAdjointEquationTerm
      Parameters:
      date - date
      stateVariables - state variables
      adjointVariables - adjoint variables
      frame - propagation frame
      Returns:
      contribution to the Hamiltonian
    • getAcceleration

      protected abstract Vector3D getAcceleration(AbsoluteDate date, double[] stateVariables, Frame frame)
      Compute the acceleration vector.
      Parameters:
      date - date
      stateVariables - state variables
      frame - propagation frame
      Returns:
      acceleration vector
    • getFieldRatesContribution

      public <T extends CalculusFieldElement<T>> T[] getFieldRatesContribution(FieldAbsoluteDate<T> date, T[] stateVariables, T[] adjointVariables, Frame frame)
      Computes the contribution to the rates of the adjoint variables.
      Specified by:
      getFieldRatesContribution in interface CartesianAdjointEquationTerm
      Type Parameters:
      T - field type
      Parameters:
      date - date
      stateVariables - state variables
      adjointVariables - adjoint variables
      frame - propagation frame
      Returns:
      contribution to the adjoint derivative vector
    • getFieldHamiltonianContribution

      public <T extends CalculusFieldElement<T>> T getFieldHamiltonianContribution(FieldAbsoluteDate<T> date, T[] stateVariables, T[] adjointVariables, Frame frame)
      Computes the contribution to the Hamiltonian.
      Specified by:
      getFieldHamiltonianContribution in interface CartesianAdjointEquationTerm
      Type Parameters:
      T - field type
      Parameters:
      date - date
      stateVariables - state variables
      adjointVariables - adjoint variables
      frame - propagation frame
      Returns:
      contribution to the Hamiltonian
    • getFieldAcceleration

      protected abstract <T extends CalculusFieldElement<T>> FieldVector3D<T> getFieldAcceleration(FieldAbsoluteDate<T> date, T[] stateVariables, Frame frame)
      Compute the acceleration vector.
      Type Parameters:
      T - field type
      Parameters:
      date - date
      stateVariables - state variables
      frame - propagation frame
      Returns:
      acceleration vector
    • buildGradientCartesianVector

      protected static Gradient[] buildGradientCartesianVector(double[] stateVariables)
      Build a Cartesian vector whose components are independent variables for automatic differentiation at order 1.
      Parameters:
      stateVariables - Cartesian variables
      Returns:
      vector of independent variables
    • buildFieldGradientCartesianVector

      protected static <T extends CalculusFieldElement<T>> FieldGradient<T>[] buildFieldGradientCartesianVector(T[] stateVariables)
      Build a Cartesian vector whose components are independent variables for automatic differentiation at order 1.
      Type Parameters:
      T - field type
      Parameters:
      stateVariables - Cartesian variables
      Returns:
      vector of independent variables